何ができるか
このツールは TOML を JSON に、JSON を TOML に変換します。TOML は Rust の Cargo.toml、Python の pyproject.toml、Hugo、Netlify、Deno など多くのツールで使われている設定ファイル形式です。人が編集しやすい一方で、多くのスクリプト、API、バリデーターは JSON を前提としています。変換すれば、設定を JSON ツールで調べたり、プログラムに渡したり、JSON データをすっきりした設定ファイルにしたりできます。
使い方
- 入力欄に TOML を貼り付けるか、
.tomlファイルをドロップするか、サンプル を押します。 - 入力に合わせて JSON が表示されます。インデントはスペース 2 つか 4 つを選べます。
- 逆方向に変換するには、変換方向 を JSON → TOML に切り替えます。TOML ドキュメントは常にテーブルなので、JSON のトップレベルはオブジェクトである必要があります。
- 結果をコピーまたはダウンロードします。
TOML に誤りがある場合は、エラーに行と列が表示され、クリックするとその位置にジャンプします。よくある誤りは、閉じ引用符の欠落、同じキーやテーブルの二重定義、= の右側に引用符なしの文字列を置くことです。
例
TOML の入力:
[server]
host = "0.0.0.0"
port = 8080
[[users]]
name = "Alice"
roles = ["admin", "editor"]
JSON の出力:
{
"server": { "host": "0.0.0.0", "port": 8080 },
"users": [{ "name": "Alice", "roles": ["admin", "editor"] }]
}
[server] はネストしたオブジェクトになり、[[users]] ブロックごとに users 配列に要素が 1 つ追加されます。
型の対応
- 文字列、整数、浮動小数点数、真偽値はそのまま対応します。JavaScript の安全な範囲を超える大きな整数は精度が落ちるので、ID は文字列のままにしておきましょう。
- 配列は配列に、テーブルとインラインテーブルはオブジェクトに対応します。
- オフセット付き日時、ローカル日時、ローカル日付、ローカル時刻は ISO 8601 の文字列になります。
- 逆方向では、
nullに相当するものが TOML にないため、パス付きでエラーとして報告されます。ネストしたオブジェクトは[table]セクションに、オブジェクトの配列は[[array]]セクションになります。
よくある質問
› TOML ファイルはアップロードされますか?
いいえ。解析と変換はすべてブラウザ内で行われるので、Cargo のマニフェストや pyproject ファイル、秘密情報を含む設定ファイルが端末の外に出ることはありません。
› どの TOML バージョンに対応していますか?
TOML 1.0 です。テーブル、テーブル配列、インラインテーブル、複数行文字列、日付と時刻、16 進数・8 進数・2 進数の整数に対応しています。
› TOML の日付は JSON にどう変換されますか?
JSON には日付型がないため、日付と時刻は ISO 8601 の文字列になります。たとえば 2026-10-08 は "2026-10-08" のまま、1979-05-27T07:32:00Z は "1979-05-27T07:32:00.000Z" になります。
› JSON から TOML への変換が null で失敗するのはなぜですか?
TOML には null 値がないからです。ツールは処理を止め、database.password のように最初の null のパスを表示するので、そのキーを削除するか値を設定してください。
› コメントは残りますか?
残りません。JSON はコメントを保持できないため TOML のコメントは削除され、JSON には TOML に引き継ぐコメントがありません。