dmosk / envdiff

.env・JSON・TOML・ini をキーで比較

形式を選び、2つの設定を貼り付けまたはアップロードすると、左のみ・右のみ・値が異なるキーが分かります。処理はすべてブラウザ内で行われます。

形式は左右で共通です。共有リンクは両方のテキストを URL の # 部分に入れます。サーバーには送信されませんが、本物のシークレットを含む場合はリンクを共有しないでください。

左

右

envdiff を使う理由

  • 論理比較。行ではなくキーと値を比較します。順序・コメント・空行は影響しません。
  • 4つの形式。.env、JSON、TOML、ini に対応。JSON/TOML のネストしたキーは db.host のようなパスになります。
  • シークレットのマスク。必要に応じて password・token・secret・key などのキーの値を [REDACTED] と表示します。
  • ブラウザのみ。API なし。ファイルは端末の外に出ません。状態は URL のフラグメントで共有できます。

設定の比較方法

  1. 形式を選びます(左右共通)。
  2. 各パネルにテキストを貼り付けるかファイルをアップロードします。両方必須です。
  3. 「比較」を押すと、左のみ・右のみ・値が変わったキーが表示されます。
  4. 必要ならマスクをオンにし、「共有」で状態付きのリンクをコピーします。

キー・形式・シークレット

envdiff は行ではなくキーを比較します。形式は混在させません。ネストした JSON と TOML はドット区切りのパスに展開され、ini のセクションは section.key になり、.env は KEY=VALUE として読み込まれます。

ヒント:

  • コメント・空行・キーの順序は無視されます。
  • 配列はインデックス付きで展開されます(例:servers[0].host)。
  • 値はテキストとして比較します。JSON の数値 5432 と .env の 5432 は同じです。
  • マスクは表示だけを変えます。password・token・secret・key などのキーは [REDACTED] になります。
  • YAML には yamaster、漏えいしたシークレットの検出には secret-scanner を。

主な用途

  • dev・staging・production 間で .env を比較する;
  • デプロイ前後で設定を確認する;
  • ある環境に存在しないキーを見つける;
  • テキスト diff のノイズなしに JSON・TOML・ini の変更を確認する;
  • リンクで比較結果を共有する(本物のシークレットは含めない)。

よくある質問

異なる形式を比較できますか?

いいえ。左右で1つの形式を選び、形式の混在には対応していません。

コメントや順序は影響しますか?

いいえ。キーと値だけを比較します。

データはアップロードされますか?

いいえ。解析と比較はブラウザ内で行われ、API はありません。

マスクは何をしますか?

password・secret・token・key などのキーの値を [REDACTED] と表示します。比較自体は実際の値で行います。

ネストしたキーはどう表示されますか?

オブジェクトとテーブルはドット、配列はインデックスで表します(例:db.host、servers[0])。