戻る
YAML/TOML 構造化比較
フォーマット
読み込み中
ツールを読み込んでいます
ツールのコードは開いたときにのみ読み込まれます。
このツールの処理はすべてブラウザー内で行われ、入力内容はサーバーへ送信されません。
このツールについて
設定を 2 つ貼り付け、それぞれ YAML または TOML を選び、使い捨てのローカルワーカーで正規化した型と値を比較します。整数 1、浮動小数点 1.0、文字列 "1" は別の値です。マップのキー順とコメントは無視し、配列は添字で比較します。元の設定は変換・書き換えしません。
主な用途
- キー順だけの変更を無視して設定差分を確認する。
- 通常の JSON で失われる型の差を YAML と TOML 間で確認する。
- ローカル日付と UTC 時点を調べ、完全な型付き報告を確認して共有する。
使い方
- 1.左右の文書を貼り付け、それぞれ形式を選びます。型や日時の例で規則を確認できます。
- 2.比較し、JSON Pointer の位置、変更種別と型を確認します。結果が多い場合はページを切り替えます。
- 3.機密値を確認し、両方の完全な正規化ツリーと差分を保存します。入力の編集で古い報告は無効になります。
実行可能な比較例
整数と浮動小数点
Left (yaml): n: 1 Right (toml): n=1.0
/n: type integer -> float
数値の大きさが同じでも整数と浮動小数点の型は区別します。
異なるオフセットの同じ時点
Left (toml): x=2026-10-10T12:30:00+08:00 Right (toml): x=2026-10-10T04:30:00Z
equal
両方が同じ時点を表すため、差分はありません。
日付と文字列
Left (yaml): day: 2026-10-10 Right (toml): day=2026-10-10
/day: type string -> localDate
YAML core ではタグのない日付は文字列、TOML ではローカル日付です。
位置のエスケープと Unicode
Left (yaml): "a/b~c": 日本語 · 中文 · 𠮷 Right (toml): "a/b~c"="changed"
/a~1b~0c: value string -> string
JSON Pointer はスラッシュとチルダをエスケープし、Unicode の値を保持します。
制限と注意事項
- YAML は単一の YAML 1.2 core 文書、文字列キー、!!str、!!null、!!bool、!!int、!!float、!!map、!!seq のコアタグに対応します。エイリアス、マージキー <<、YAML 1.1 指令、複合・非文字列キー、独自タグと timestamp/binary/set タグは診断付きで拒否します。未使用アンカーは許可し、エイリアスは展開しません。
- TOML 1.1 はテーブル、ドット付きキー、インラインテーブル、テーブル配列、複数行文字列と 4 種類の日時に対応します。整数は符号付き 64 ビットの BigInt、浮動小数点は JavaScript binary64 で丸めが生じます。NaN、無限大、負のゼロは文字列で保持します。
- オフセット日時は UTC 時点で比較し、元のオフセットは保持しません。ローカル日付・時刻・日時は別の型で、タイムゾーンを仮定しません。Temporal が日付を検証し、小数秒は最大 9 桁で、9 桁を超える小数秒は拒否します。秒が :60 のうるう秒値は :59 への正規化を避けるため拒否します。YAML core の日付は文字列で、!!timestamp は非対応です。
- 各入力は UTF-8 128 KiB / UTF-16 131,072 単位、深さ 64、10,000 ノードまで。差分は最大 2,000 件、完全な JSON は UTF-8 2,000,000 バイトまで。使い捨てワーカーは 8 秒で終了し、超過時は部分報告を返しません。
- マップはキーで並べ替え、Unicode 正規化はしません。配列は位置で比較し、移動検出はしません。コンテナーの追加・削除・型変更は要約 1 行で、完全な値は JSON の 2 つの型付きツリーに保持します。JSON Pointer は ~ と / をエスケープします。プレビューは UTF-16 1,024 単位、1 ページ 100 件まで。入力・形式・言語の編集、交換、キャンセルで保存結果は無効になります。 ローカルで処理し、入力保存、コンストラクター実行、外部参照解決、リソース読込、入力の HTML 描画は行いません。JSON は全正規化値を含み、秘密情報を含む場合があります。コメント、元のバイト、数値の表記、元の日時オフセットは保持しません。
よくある質問
なぜ 1 と 1.0 は異なるのですか?
整数と浮動小数点は異なる構造化型です。JSON は型付き文字列を使い、大きな整数や特殊な浮動小数点値を保持します。
YAML エイリアスや独自タグはコードを実行しますか?
独自コンストラクターは登録しません。エイリアスは変換・展開前に拒否し、非対応タグの名前と位置を表示します。
YAML の日付と TOML の日付が異なるのはなぜですか?
YAML 1.2 core ではタグのない日付は文字列です。TOML はローカル日付・時刻・日時・オフセット日時を区別します。
省略されたプレビュー値は JSON に含まれますか?
成功した報告は両方の完全な型付きツリーと全差分を保持します。上限超過時に部分保存はできません。