戻る

YAML/TOML 構造化比較

フォーマット

読み込み中

ツールを読み込んでいます

ツールのコードは開いたときにのみ読み込まれます。

このツールの処理はすべてブラウザー内で行われ、入力内容はサーバーへ送信されません。

このツールについて

設定を 2 つ貼り付け、それぞれ YAML または TOML を選び、使い捨てのローカルワーカーで正規化した型と値を比較します。整数 1、浮動小数点 1.0、文字列 "1" は別の値です。マップのキー順とコメントは無視し、配列は添字で比較します。元の設定は変換・書き換えしません。

主な用途

  • キー順だけの変更を無視して設定差分を確認する。
  • 通常の JSON で失われる型の差を YAML と TOML 間で確認する。
  • ローカル日付と UTC 時点を調べ、完全な型付き報告を確認して共有する。

使い方

  1. 1.左右の文書を貼り付け、それぞれ形式を選びます。型や日時の例で規則を確認できます。
  2. 2.比較し、JSON Pointer の位置、変更種別と型を確認します。結果が多い場合はページを切り替えます。
  3. 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 に含まれますか?

成功した報告は両方の完全な型付きツリーと全差分を保持します。上限超過時に部分保存はできません。

関連ツール