てもとツール

YAML⇔JSON変換ツール|エラーの行と原因を日本語で表示

YAMLとJSONを相互変換します。読めなかったときは理由と行番号と該当行を日本語で示し、全角スペースのインデントのようにエラーにならない崩れも変換の前に指摘します。

ブラウザ内処理 公開
詳細設定

YAML または JSON を貼り付けて、変換ボタンを押してください

変換結果と、直したい行の指摘がここに表示されます

このツールについて

使い方・特徴・補足情報

YAML⇔JSON変換とは

YAML⇔JSON変換は、同じ設定を YAML と JSON の 2 つの書き方で行き来させるツールです。 貼り付けてボタンを押すと、入れ子の構造を保ったまま書き換わります。

読めなかったときは、理由と行番号と該当行を日本語で示します。 英語のエラー文をそのまま出さないので、どこを直すかがすぐ分かります。

YAML には、エラーが出ないまま構造だけが崩れる書き方があります。 代表が全角スペースの字下げで、変換の前に行番号つきで指摘します。

処理はブラウザの中で終わります。 社内の設定ファイルもそのまま貼り付けてかまいません。

こんな人におすすめ

設定ファイルを触る人

楽になること

YAMLとJSONの書き換え

避けたい手間

気づかないまま構造が崩れること

解決できる困りごと

  • 英語のエラー文だけを見せられて、どの行のどこを直せばよいか分からないまま手が止まる時間を減らせます
  • 全角スペースで字下げした行がエラーにならず、設定が空のまま動いてしまう事故に気づけます
  • 変換したあとにコメントが消えていたことへ後から気づく、という取りこぼしを先に把握できます
  • 17 桁を超える ID が変換の途中で別の数値に変わっていたことを、目で探さずに知らせてもらえます

使い方

  1. YAML または JSON をテキストエリアに貼り付けます
  2. 「YAML → JSON」か「JSON → YAML」のボタンを押します
  3. 変換結果を確認し、「コピー」ボタンでクリップボードに写します
  4. 指摘が出たら、示された行番号を直してもう一度押します
  5. 詳細設定で字下げの幅・日付の扱い・キーの並べ替えを変えられます

使用例

設定ファイルを JSON に直す

字下げで表していた親子関係が、そのままカッコの入れ子になります。引用符付きの 1.0 は数値に変えず、文字列のまま運ばれます。

入力

name: てもとツール
version: "1.0"
port: 8080
tags:
  - 変換
  - YAML
db:
  host: localhost
  ssl: true

出力

{
  "name": "てもとツール",
  "version": "1.0",
  "port": 8080,
  "tags": [
    "変換",
    "YAML"
  ],
  "db": {
    "host": "localhost",
    "ssl": true
  }
}

JSON を YAML に直すと引用符が付く

NO・007・1.0 の 3 件にだけ引用符が付き、tokyo には付きません。引用符を外すと読み込む側で真偽値や数値に変わるため、その理由も画面に出ます。

入力

{"country":"NO","zipcode":"007","version":"1.0","city":"tokyo","enabled":true}

出力

country: 'NO'
zipcode: '007'
version: '1.0'
city: tokyo
enabled: true

全角スペースで字下げした YAML

エラーは出ませんが、server の中身が空になり全角スペースごとキー名になっています。この崩れを変換の前に行番号つきで指摘します。

入力

server:
  host: example.com
  port: 443

出力

{
  "server": null,
  "  host": "example.com",
  "  port": 443
}

活用シーン

コンテナ構成の設定を読み解く

字下げが深い YAML は目で追いにくいものです。JSON に直すとカッコで階層が見えるので、どれが誰の子かを確かめられます。

CI の設定ファイルを見直す

自動テストの YAML を JSON にすると、キーの重複や打ち間違いが浮かびます。直したら YAML へ戻して差し替えます。

API のサンプルを YAML で共有する

手元の JSON を YAML に直すと、引用符とカッコが減って読みやすくなります。仕様の共有や説明の資料に向いた形です。

エラーの出た行を突き止める

貼り付けて押すだけで、読めなかった行と桁が日本語で出ます。エディタの警告が英語のときの読み替えに使えます。

複数のマニフェストをまとめて確認する

--- で区切られたドキュメントも、まとめて JSON の配列にします。何件あったかも一緒に表示します。

設定の差分を取りやすくする

キーを名前順に並べて YAML に直せば、順番が違うだけの差分が消えます。レビュー前の整えに向いています。

技術的な解説

補足: 仕組み

読み取りは js-yaml の loadAll で行います。--- で区切られた複数ドキュメントも取りこぼしません。

日付は CORE_SCHEMA を既定にしています。既定のスキーマだと 2026-08-25Date になり、JSON では UTC の時刻へ変わるためです。

診断は読み取りの前に行単位で走ります。行頭の U+3000(全角スペース)とタブを探し、| で始まる本文は対象から外します。

もっと詳しく

全角スペースの字下げがエラーにならない理由

YAML が字下げとして数えるのは半角スペースだけです。全角スペースは字下げではなく、キー名の一部として読まれます。

そのため  name: 値name ではなく  name というキーになり、親の項目は空になります。エラーが出ないぶん、動かしてから気づくことになります。

引用符が勝手に付く理由と NO 問題

JSON の "NO" を YAML にすると 'NO' と引用符が付きます。余計に見えますが、外すと読み込む側によっては真偽値の false になります。

ノルウェーの国コードで実際に起きたことから NO 問題と呼ばれます。yes on 007 も同じ理由で引用符が要ります。

JSON整形ツールとの使い分け

JSON整形ツールは JSON のまま見た目を整えます。改行や字下げを変えても、形式は JSON のままです。

本ツールは形式そのものを入れ替えます。読みやすくしたいだけなら前者、別の形式で使いたいなら本ツールを選んでください。

よくある質問

YAML のコメントは変換したあとも残りますか?

JSON にはコメントを書く仕組みがないため残せません。何件あったかは変換のあとに表示するので、必要なものは手元に控えてから変換してください。

インデントにタブを使ってはいけないのはなぜですか?

YAML の仕様が字下げに半角スペースだけを認めているためです。タブが入っている行は変換のときにエラーになり、何行目かを画面に表示します。

日付が勝手に UTC の時刻に変わってしまいます。

既定では日付を文字列のまま扱うので変わりません。詳細設定で「UTC の日時に変換」を選んだときだけ時刻が付くので、設定を戻して押し直してください。

--- で区切られた複数の設定もまとめて変換できますか?

変換すると JSON の配列にまとめて出力します。何件あったかも一緒に表示するので、途中が抜けていないかを数で確かめられます。

参考・出典

本ツールの計算式・判定基準は上記の公的機関・公式情報源を参考にしています。最新の情報は各リンク先をご確認ください。

関連記事

このツールの使い方や活用例をブログでも紹介しています。

関連ツール

同じカテゴリの他のツールも合わせてどうぞ。