GraphQL スキーマ整形ツール
GraphQL SDL(Schema Definition Language)を検証して再整形します。type・interface・enum・input・scalar・union・directive の定義に対応。無効なスキーマでは構文エラーの正確な行と列を報告し、有効なスキーマは 2 または 4 スペースで統一したインデントに整え直します。型とフィールドのアルファベット順への並べ替えにも対応しています。
入力
整形オプション
出力
このツールを使う他の方法
REST API
curl -X POST https://api.iotools.cloud/v1/tool/graphql-schema-formatter \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"graphqlInput": "\"\"\"\nA simple blog API schema.\n\"\"\"\nschema {\n que…",
"indentWidth": "2",
"sortAlphabetically": ""
}'ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。
AIエージェントに依頼する
Use the IOTools `graphql-schema-formatter` tool (GraphQL Schema Formatter) on this input:
YOUR_INPUT_HEREIOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。
埋め込みウィジェット
<iframe
src="https://iotools.cloud/embed/graphql-schema-formatter/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="GraphQL スキーマ整形ツール — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。
| API/MCP 1回あたりの費用 | 5クレジットから |
|---|---|
| クレジットが足りませんか? | 料金を見る |
次の方法でも利用可能
ガイド
SDL(Schema Definition Language)で書かれた type・interface・enum・input・scalar・union・directive の定義を貼り付けると、検証済みで一貫した書式に整えられた結果が返ります。GraphQL スキーマ整形ツールは、GraphQL 自体が使うのと同じリファレンスパーサーでスキーマを解析します。そのため構文エラーは推測ではなく、発生した正確な行と列とともに報告されます。有効なスキーマは、空白の揃った統一的な書式で出力し直されます。
スキーマが乱れた状態で届いたときに役立つツールです。プルリクエストからコピーしたもの、ドキュメントから抜き出したもの、コードファーストのフレームワークが生成したもの、インデントが不揃いな状態で AI アシスタントから渡されたものなど、そのまま貼り付ければ標準的な書式に整えられます。
使い方
- SDL を入力欄に貼り付けるか、
.graphql・.gql・.sdlファイルをアップロードします。 - 必要に応じて インデント幅(2 または 4 スペース)を設定し、型とフィールドをアルファベット順に並べ替え をオンにします。
- 整形結果をコピーするか、
schema.graphqlとしてダウンロードします。
整形は入力や設定の変更に合わせて自動的に実行されます。
機能
- 実用的な検証。 スキーマは GraphQL 仕様のリファレンス実装である
graphql-jsで解析されます。Apollo Server や GraphQL Code Generator などのツールの基盤となっているパーサーと同じものです。不正なスキーマ(コロンの欠落、閉じていない波かっこ、未知のトークンなど)では、パーサーの正確なエラーメッセージと、問題が起きた行・列が表示されます。黙って崩れた出力を返すことはありません。 - 統一されたインデント。 2 または 4 スペースから選べます。
type・interface・input・enum・schemaのすべてのブロックと、複数行の説明文が一律に再インデントされます。 - 説明文を保持。 1 行の説明(
"...")もブロック形式の説明("""...""")も、それが説明している型やフィールドに紐づいたまま残ります。 - 任意のアルファベット順並べ替え。 オンにすると、トップレベルの定義は種類ごと(scalar・enum・interface・union・object 型・input・directive)にまとめられ、各グループ内で名前順に並びます。
schema { ... }ブロックは常に先頭に置かれます。type・interface・input内のフィールドと、enum内の値も、アルファベット順に並べ替えられます。union のメンバーの順序は変更しません。優先される型を先頭に置くなど、順序に意味がある場合があるためです。
プライバシー
すべての処理はお使いのブラウザ内で、クライアント側で行われます。スキーマがサーバーにアップロードされることはありません。
# によるコメントは保持されますか?
いいえ。GraphQL の字句解析器は # で始まるコメントを意味のないものとして扱い、解析前に取り除きます。コメントはスキーマの AST に含まれないため、リファレンスパーサーを基にした整形ツールでは元どおりに戻すことができません。一方、説明文の文字列("..." と """...""")はスキーマの一部なので、そのまま保持されます。
型同士の参照は検証されますか?
検証されるのは 構文 で、SDL が有効な GraphQL として解析できるかどうかです。スキーマの意味内容の完全な検証は行いません。たとえば、解決できない型参照や、宣言されていない場所で使われたディレクティブは対象外です。そのレベルの検証が必要な場合は、GraphQL サーバーライブラリでスキーマを構築してください。
フェデレーションのスキーマや複数ファイルのスキーマも整形できますか?
すべてを 1 つにまとめたドキュメントとして貼り付けてください。extend type・extend interface・extend schema の定義にも対応しており、他の定義と同じように整形されます。
「アルファベット順に並べ替え」は具体的に何を並べ替えますか?
独立した 2 つの処理があります。1 つ目はトップレベルの定義の順序(種類ごとにまとめ、その中で名前順)、2 つ目は各定義の 内部 にあるフィールドや enum の値の順序です。名前を変更したり、型や引数を書き換えたりすることはありません。