TOML コンバーター
TOML を JSON、YAML、XML、JavaScript オブジェクトリテラル、PHP 配列に変換します。TOML のテーブル(キーと値のまとまりで、変換後はオブジェクト相当)、テーブルの配列([[x]])、インラインテーブル、ドット区切りキーは一般的なネスト構造に整理されるため、Cargo.toml、pyproject.toml、Hugo や Netlify の設定、wrangler.toml、ruff や Poetry の設定を貼り付けるだけで、読みやすい JSON や YAML として確認できます。変換時に見落としやすい点も明示します。TOML の日時は JSON に対応するネイティブ型がないため ISO-8601 文字列として出力され、Number.MAX_SAFE_INTEGER を超える 64 ビット整数は精度を失わないよう正確な文字列として扱います。解析エラーには行・列・前後のソースを表示します。解析・変換・コピーはすべてこのブラウザタブ内で完結し、アップロード、プロキシ経由の転送、サーバー側の記録は行いません。
- 1 つの入力から JSON、YAML、XML、JavaScript オブジェクトリテラル、PHP 配列の 5 形式を生成し、形式ごとのオプションも設定できます
- TOML のテーブルはオブジェクト相当に、テーブルの配列([[servers]])は JSON や YAML で扱いやすい配列に整理します
- TOML の日時は ISO-8601 文字列に変換し、どの値が日時型から文字列になったかを明示します
- Number.MAX_SAFE_INTEGER を超える大きな整数は丸めず、正確な文字列として扱い、該当する値を警告します
- 完全にローカルで処理します。アップロードもテレメトリもないため、本番設定、機密を含むサンプルデータ、移行前の下書きにも使えます
概要
TOML を入力元にする作業に特化したツールです。TOML のテーブルをオブジェクト相当に、テーブルの配列を配列に整理し、インラインテーブル、ドット区切りキー、日時、64 ビット整数も解析時に処理するため、出力は CI パイプライン、JSON Schema バリデーター、コードジェネレーター、JSON だけを受け付けるスクリプトへそのまま渡せます。あとから手作業で整える必要を減らせます。
- 01
すぐ使える 5 つの変換先形式
TOML を JSON、YAML、XML、JavaScript オブジェクトリテラル、PHP 配列へ。JSON と YAML はインデント幅とアルファベット順のキーソートを提供し、XML はルート名・リスト項目名・宣言・整形を設定でき、JS オブジェクトリテラルは引用符付きキーと正しいエスケープを保ち、PHP 配列は完全な <?php return [...]; ファイルを出力します。
- 02
TOML のテーブルはオブジェクト、テーブルの配列は配列へ
[section]、[nested.section]、[[array.of.tables]] は解析時に通常のネストしたオブジェクトと配列へ展開されるので、Cargo.toml や pyproject.toml をビルドスクリプト、リンター、バリデーターが期待する JSON 構造として扱えます。TOML のセクションを手で組み替える必要はありません。
- 03
インラインテーブルとドット区切りキーを展開
インラインテーブル({ x = 1, y = 2 })とドット区切りキー(a.b.c = true)は、通常の [a] セクションと同じネスト構造に展開されます。そのため、書き方だけが違う 2 つの TOML ファイルも同じ JSON として扱えます。
- 04
日時の扱いを明示化
TOML のオフセット付き日時、ローカル日時、ローカル日付、ローカル時刻は ISO-8601 文字列に変換されます。JSON、YAML、XML で扱いやすい表現にするためです。チェックパネルに各値を表示するので、どの日時が文字列になったかを見落としません。
- 05
64 ビット整数の精度を維持
TOML は符号付き 64 ビット整数を扱えますが、JavaScript の数値は 2^53 を超えると正確に表せません。範囲外の値は丸めずに正確な文字列として扱い、該当する値を示すので、後続処理で文字列として扱うか BigInt にするか判断できます。
- 06
完全にブラウザ内で動作
解析・変換・チェック・コピーはすべてこのページで行われます。入力した TOML がサーバー、CDN、第三者の分析基盤へ送信されることはありません。本番設定、機密を含むサンプルデータ、移行前の下書きにも使えます。
使い方
操作は簡単です。TOML を貼り付け、形式を選び、チェックパネルを確認して、結果をコピーします。
- 01
左の入力パネルに TOML を貼り付けます。解析はすぐ行われ、チェックパネルにテーブル(オブジェクト相当)とキーの数、テーブルの配列(配列)、日時の値、大きな整数の警告が表示されます。
- 02
下部で変換先を選びます。JSON、YAML、XML、JavaScript オブジェクト、PHP 配列に対応し、インデント幅、キーソート、XML ルート名などの形式別オプションを変更すると出力もすぐ更新されます。
- 03
チェックパネルを確認します。日時が文字列になる箇所や、安全範囲を超える整数には印が付きますが、変換自体は止めません。JSON や YAML の表現が TOML の元の型と異なる箇所を示します。
- 04
長い設定ファイルでは全画面に切り替えます。入力と出力の両方に余裕が生まれ、エディターは構文ハイライト・折りたたみ・コピー操作を保ちます。
- 05
コピーを押して、出力を IDE、スニペット管理、CI ジョブ定義、API クライアント(Postman、Insomnia、Bruno)に貼り付けて作業を続けます。
詳細
日々の TOML 作業でつまずきやすい点を、あらかじめ処理する設計です。きれいな変換結果を得るためだけに、複数の外部ツールをつなぐ必要はありません。
- 解析は TOML 1.0 仕様に従うので、テーブル(オブジェクト相当)・テーブルの配列(配列)・インラインテーブル・ドット区切りキーは Cargo、Poetry、Hugo が読むのとまったく同じに解決します。
- JSON と YAML の出力はキー順を保持し、任意でアルファベット順ソートも選べます。安定した git diff、コードレビュー、JSON Schema 検証に役立ちます。
- 日時は ISO-8601 文字列になります。JSON パーサー、YAML ローダー、JavaScript Date が扱いやすい表現です。
- XML はカスタムのルート名・項目名、宣言、整形を指定できるため、既存の本番スキーマにも合わせやすくなります。
- JavaScript オブジェクトと PHP 配列の出力はネスト・エスケープ・真偽値リテラルを保つので、設定ローダー、テストデータ、シードスクリプトにそのまま使えます。
- チェックパネルが構造——テーブル(オブジェクト相当)の数、キー、テーブルの配列(配列)——を要約するので、見慣れない TOML ファイルも数秒で読めます。
- 大きな整数と日時に関するヒントがその場に表示され、TOML に戻すときに文字列や型付き値として扱うべき箇所を正確に示します。
- すべてがブラウザ内でローカルに動きます。SaaS のバックエンドを使わないため、飛行機の中、VPN しか使えないネットワーク、企業プロキシの内側でも作業できます。
活用シーン
元データが TOML なら、次のような日常作業で手作業のコピーや書き直しを減らせます。
-
Cargo.toml と Rust ワークスペースのマニフェストを読む
Cargo.toml の依存関係、feature、ワークスペースメンバー、[[bin]] ターゲットを JSON に変換すれば、ビルドスクリプト、依存監査、ダッシュボードが TOML パーサーを挟まずにマニフェストをプログラムから扱えます。
-
pyproject.toml と Python ツール設定を点検する
pyproject.toml は Poetry、setuptools、ruff、black、mypy の設定を 1 ファイルに詰め込みます。JSON や YAML に変換すると各ツール設定ブロックの解決後のオブジェクト構造が見え、リポジトリ間の設定比較も容易になります。
-
静的サイトやエッジの設定をツールチェーンに橋渡し
Hugo の config.toml、Netlify の netlify.toml、Cloudflare の wrangler.toml は TOML で書かれますが、JSON を前提にしたスクリプト、CI ステップ、ダッシュボードに読ませたい場面があります。TOML を設定元として保ったまま必要な形式に変換できるので、複数の設定がずれるのを防げます。
-
TOML・YAML・JSON 間で設定を移行する
プロジェクトを TOML から YAML や JSON ベースの設定へ移すときは、まず変換後の出力を確認し、それから手で微調整できます。構造の違いが見えやすくなるため、行ごとに打ち直すときのタイプミスも見つけやすくなります。
-
設定を JSON Schema バリデーターに渡す
多くのバリデーターや IDE 連携は JSON しか受け付けません。TOML を JSON に変換し、AJV やエディターのスキーマツールにかけて、出荷前に設定がスキーマを満たすことを確認します。
-
バックエンド設定とフロントエンドのテストデータを同期
バックエンドは設定を TOML に置くことが多い一方、フロントの Jest・Vitest・Storybook のテストは JSON や JS オブジェクトを欲しがります。変換して貼るだけ——専用の変換スクリプトは要りません。
-
移行前に日時と整数フィールドを監査
TOML の日時と 64 ビット整数は、JSON に移したときに意味が変わりやすい値です。チェックパネルが先に一覧表示するので、どのフィールドを変換先で引用符付き文字列にすべきか判断できます。
-
オンボーディングとコードレビュー
深い [nested.tables] と繰り返しの [[arrays]] を含む TOML ファイルは、一目では構造を追いにくいものです。インデント付きの JSON や YAML に変換すると、説明やレビューに使いやすい階層として確認できます。
関連情報
手元の設定が最初は YAML で書かれていたなら——Kubernetes マニフェスト、GitHub Actions ワークフロー、Docker Compose ファイル、OpenAPI 仕様——それを JSON、TOML、XML、JavaScript オブジェクトリテラル、PHP 配列へ変換するには、YAML コンバーター を使ってください。複数ドキュメントの YAML を配列にまとめ、変換前に anchor とマージキーを展開します。ソースが TOML ではなく JSON のとき——圧縮された API レスポンス、Terraform plan の JSON ビュー、ビルドツールの出力——逆方向に YAML、TOML、XML、CSV、JS オブジェクト、PHP 配列のファイルへ戻すには、JSON コンバーター を使います。各変換先には、YAML のインデントとキーソート、XML のルート名と属性モード、CSV の区切り文字とヘッダー行、TOML のキーソートなど、それぞれのオプションがあります。JSON 自体をまず整えたいとき、たとえば整形、深いノードの折りたたみ、構文エラーの特定、どの形式に変換するか決める前のキー統計確認には、JSON フォーマッター を通してください。階層の折りたたみ、エラー行のハイライト、キー検索、深さの統計に対応し、同じくアップロードなしで使えます。生の設定から検証済みでレビューしやすい出力まで、作業全体をブラウザ内で完結できます。
使い方のヒント
TOML は意図的に明示的ですが、変換先の形式が TOML ほど型に厳しくない場合、いくつかの習慣が変換を予測可能に保ちます。
- 日時を変換後にどう扱うかを先に決めます。ISO-8601 文字列(本ツールの既定)として扱うのか、ローダーで再解析して型付きの値に戻すのかを記録しておくと、あとで TOML に戻すときも意図を保ちやすくなります。
- 再読み込みされる JSON では、64 ビット整数——Snowflake ID、大きなタイムスタンプ、DB キー——を文字列として扱ってください。JavaScript の数値は 2^53 を超えると精度を失います。チェックパネルが危険な値を示します。
- TOML には null がないことを覚えておきます。あとで逆方向へ変換するとき、JSON の null は TOML に対応がないので、任意フィールドは明示的な null ではなく「省略されたキー」としてモデル化します。
- TOML を JSON に変換したら、結果を json-diff で前バージョンと比べ、本番に入る前に意図せず変わったフィールドを見つけます。
- 人が編集するものは、深くネストしたインラインテーブルよりテーブルの配列([[x]]、変換後は配列)を優先します——同じ JSON に変換されますが、TOML ソースでははるかに読みやすいままです。
- リポジトリ全体でインデント幅とキーソート設定をそろえると、変換後の差分が安定し、レビューしやすくなります。
- 設定が JSON Schema バリデーターに流れるときは、まず JSON に変換してそこで検証します。TOML 自身の構文チェックはスキーマのフィールド規則を強制しません。
- XML に変換するときは、意味のあるルート名と項目名を先に設定します。汎用的な root/item のままだと、後続処理で扱いにくくなります。
制限事項
ツールが「やらないこと」を知っておくと、完全な設定 IDE・スキーマバリデーター・移行パイプラインとして頼りすぎずに済みます。
- 業務スキーマの検証はしません。Cargo マニフェスト規則、pyproject フィールド制約、JSON Schema は範囲外です——解析成功は意味的な正しさではありません。
- TOML のコメントは保持されません。JSON・YAML・XML の出力では # 以降の内容が失われます。残す必要がある重要な情報は、専用フィールドや外部ドキュメントに移してください。
- JSON・YAML・XML へ変換すると、日時と 64 ビット整数は文字列になります。元の値は保てますが、型まで完全に同じではありません。チェックパネルが該当する値をすべて示します。
- ツールがソースファイルを書き換えることはありません。変更は元の文書へ戻して管理するため、バージョン管理上の元ファイルを基準にできます。
- 非常に大きなファイルはブラウザを遅くすることがありますが、処理はローカルにとどまります。切り詰めもアップロードもありません。巨大な文書を試す前に、代表的な一部でオプションを確認してください。
- バージョン管理・共同編集・コメント・Git 連携はありません。ツールは一度きりの変換と点検のためのものです。レビューと承認は Git ワークフローと組み合わせてください。
- 一部の TOML から XML への変換では、混合型の配列や XML の属性として自然に表せない値など、構造上の不一致が起きます。ツールは無理に変換せず、そうした衝突を分かる形で表示します。
よくある質問
よくある質問はテーブルの配列(配列)、日時、大きな整数、そしてデータがブラウザから出るかどうかを扱います。
テーブルの配列([[x]])はどう変換されますか?
各 [[name]] ブロックは、その name キーの下の JSON 配列の 1 要素になり、ソース順に並びます。ですから 3 回繰り返した [[servers]] は "servers": [ {…}, {…}, {…} ] に変換されます。YAML、JS オブジェクト、PHP 配列でも同じ対応になるので、繰り返し設定ブロックの構造は失われません。
なぜ私の TOML の日付が JSON で文字列になったのですか?
JSON・YAML・XML にはネイティブな日時型がないため、TOML のオフセット付き日時・ローカル日時・ローカル日付・ローカル時刻は ISO-8601 文字列として出力されます。チェックパネルが変換した日付値を一覧表示するので、どの値が文字列になったかを確認できます。日時として扱いたい場合は、JSON パーサーや JavaScript Date でその文字列を再解析できます。
非常に大きな整数はどうなりますか?
TOML は符号付き 64 ビット整数を扱えますが、JavaScript の数値は 2^53 - 1 を超えると正確に表せません。ツールは Snowflake ID や大きなタイムスタンプを丸めず、範囲外の整数を正確な文字列として扱い、チェックパネルで該当値を示します。後続処理で数値型が必要な場合は、その文字列を BigInt 対応の JSON パーサーで扱ってください。
インラインテーブルとドット区切りキーは同じように変換されますか?
はい。{ x = 1 } のインラインテーブルと a.b = 1 のドット区切りキーは、フルの [a] セクションが生むのと同じネストしたオブジェクトに展開されるので、書き方だけが違う 2 つの TOML ファイルは同一の JSON・YAML・XML 出力に変換されます。
JSON や YAML を TOML に戻せますか?
はい、ただし別のツールを使います。JSON コンバーターと YAML コンバーターの両方が TOML への変換に対応しています。TOML はトップレベルにオブジェクトを要求し null 型を持たないので、ルートが配列の場合や値が null の場合は表現できません。これらのツールは不正な TOML を出力せず、問題点を明確に報告します。
なぜ出力は既定でキー順を保持するのですか?
元の TOML セクションとキーの順を保つと、変換後の JSON や YAML を TOML ソースと行ごとに比べやすくなります。安定した git diff やスキーマ検証のために決まった順序が必要なときは、オプション行でアルファベット順のキーソートを有効にしてください。
貼り付けたデータはアップロードされますか?
いいえ。解析・変換・チェック・コピーはすべてブラウザ内で行われます。あなたの TOML がこのページからサーバー、CDN、分析基盤へ送られることはありません。タブを閉じれば何も残らないため、本番設定、機密を含むサンプルデータ、移行前の下書きにも使えます。
オフラインで使えますか?
ページが読み込まれれば、ブラウザは解析と変換に必要なリソースをすべて持っています。ツールはネットワークなしでも動き続けるので、飛行機の中、厳しい企業プロキシの背後、隔離ネットワークの中で役立ちます。
関連ツール
データ作業を続けるなら、YAML や JSON を別形式に変換したり、JSON 構造を整えたり、2 つの出力を並べて比較したりできます。下のツールを同じ流れで使えます。