TOML JSON 変換器
TOMLとJSONを即座に相互変換。バリデーション付き。無料、ブラウザ内で処理。
- ブラウザ内で処理
- データはブラウザ外に出ません
- 無料 · 登録不要
WeChat でスキャンしてシェア
例・詳しい説明・よくある質問 実際の出力つきの例、ほかのツールとの違い、よくある質問。
TOMLの活用場面
Rustのプロジェクト設定(Cargo.toml)、Pythonのパッケージ設定(pyproject.toml)、静的サイトジェネレーターの設定(Hugo、Zola)などで広く使われています。既存のJSON設定をTOMLに移行する場合や、TOMLの内容をAPIに渡す場合などに変換が必要になります。
変換で変わるもの
TOML には JSON にない型があり、その逆もあります。次の入力は
# build settings
title = "x"
created = 2026-09-29T10:00:00Z
day = 2026-09-29
[server]
port = 8080
こう変換されます。
{
"title": "x",
"created": "2026-09-29T10:00:00.000Z",
"day": "2026-09-29",
"server": {
"port": 8080
}
}
-
コメントは消えます。 JSON にコメントはありません。
-
日付・時刻は文字列になります。 オフセット付き日時にはミリ秒(
.000Z)が付きます。JSON から TOML に戻すと、TOML の日付ではなく引用符付きの文字列になります。 -
ミリ秒より細かい時刻があると JSON に変換しません。 TOML パーサーはミリ秒までを残し、それより下の桁を切り捨てます(TOML 1.0 はパーサーにこれを認めています)。
[build]テーブルのstarted = 2026-10-01T09:30:00.123456Zは変換していません:JSON では次の値を変えずに表せません:/build/started:2026-10-01T09:30:00.123456Z はミリ秒より細かい精度を持っていますになります。.120000のような末尾の 0 は情報を失わないので変換します。文字列やコメントの中の日時はテキストなので対象外です。 -
infとnanがあると JSON に変換しません。 JSON には無限大も NaN もなく、JSON.stringifyはnullと書いてしまいます。次の TOML はratio = inf [limits] max = nan変換していません:JSON では次の値を変えずに表せません:/ratio:inf は JSON で表せません(JSON.stringify は null と書きます);/limits/max:nan は JSON で表せません(JSON.stringify は null と書きます)になります。 -
±(2^53 − 1) を超える整数はどちらの方向でも変換しません。 TOML 1.0 は 64 ビット整数を認めていますが、TOML パーサーは丸めずに
integer value cannot be represented losslesslyで止まります。JSON → TOML ではJSON.parseが丸めてしまうため、フィールドを示して止めます。1e400のように倍精度の範囲を超える数値も示します。 -
JSON の
nullがあると TOML に変換しません。 TOML に null はありません。次の JSON は{"user":{"id":9007199254740993,"nickname":null}}変換していません:TOML では次の値を変えずに表せません:/user/id:整数 9007199254740993 は ±(2^53 − 1) を超えるため、JavaScript では丸められます;/user/nickname:null — TOML には null がありませんになります。大きな ID は文字列にし、null を置き換えるか削除してから変換し直してください。 -
変換に失敗すると出力パネルは空になり、コピーボタンは無効になるので、前の結果を誤ってコピーしません。
-
-0.0はどちらの方向でも符号を保ちます。 JSON の{"offset":-0.0}は TOML の浮動小数点数offset = -0.0に、TOML のoffset = -0.0は"offset": -0.0になります(JSON.stringifyだけでは0と書きます)。JSON の整数-0は整数のゼロとして書きます。{"count":-0}はcount = 0になります。TOML 1.0 は-0と+0を0と同じ整数と定めています。
FAQ
TOMLとは何ですか?
TOML(Tom's Obvious, Minimal Language)はRustやCargo、Pythonのpyproject.tomlなどで使われる設定ファイル形式です。INIの読みやすさとJSONの表現力を兼ね備えています。
TOMLとYAMLの違いは何ですか?
TOMLは明示的な型付けとシンプルな構文が特徴で、YAMLより曖昧さが少ないです。YAMLはより表現力が高いですがインデントに注意が必要です。
TOMLの日付・時刻型に対応していますか?
はい。RFC 3339形式の日付・時刻・日時型のパースに対応しています。
データはサーバーに送信されますか?
いいえ。すべての変換処理はブラウザ内で完結します。