.env ファイルパーサー

.env ファイルをオンラインで解析し、キーと値をテーブル表示。dotenv のルールで = の欠落・コロンの書き方・重複キー・空の値を検出し、JSON にエクスポートできます。無料、ブラウザ内で処理。

  • ブラウザ内で処理
  • データはブラウザ外に出ません
  • 無料 · 登録不要
解析をクリックすると現在のテキストを確認できます。入力を編集すると古いテーブルが隠れ、再解析するまで JSON エクスポートが無効になります。 クリアは入力、テーブル、状態を消去し、JSON エクスポートを無効にします。ツール内にフォーカスがある場合、Ctrl または Command + L でも同じ操作ができます。 解析したキーを env.json としてダウンロードします。有効または警告の項目が1件以上必要です。重複キーは最後の値を使い、コメント行とエラー行は除外します。
KEY=VALUE、またはコロンの後に空白を入れた KEY: value を貼り付けます。引用符付きの値は複数行に対応します。変数参照は展開せず、dotenv 16.6.1 の規則で解析します。

解析したキー、値、備考がここに表示されます。

テーブルと env.json には値が平文で残ります。画面やダウンロードしたファイルを共有する前に、シークレットを確認してください。

詳しいガイドを読む .envファイルをオンラインで解析・検証する完全ガイド
例・詳しい説明・よくある質問 実際の出力つきの例、ほかのツールとの違い、よくある質問。

入力例

# データベース設定
DB_HOST=localhost
DB_PORT=5432
DB_NAME=myapp
DB_PASSWORD="s3cr3t"
# API キー
API_KEY=
STRIPE_KEY=your-stripe-key
# 重複キーの例
APP_ENV=development
APP_ENV=production

パーサーは DB_PASSWORD の引用符を外し、API_KEY に「値が空です」、2 つ目の APP_ENV に「キーが重複しています」を表示し、ステータスは「有効 6 件、警告 2 件。」になります。エクスポートした env.json の APP_ENV は最後の値です。

{
  "DB_HOST": "localhost",
  "DB_PORT": "5432",
  "DB_NAME": "myapp",
  "DB_PASSWORD": "s3cr3t",
  "API_KEY": "",
  "STRIPE_KEY": "your-stripe-key",
  "APP_ENV": "production"
}

コロン・空白・そのほかのキー名

dotenv は YAML 風の KEY: value も読みますが、コロンの後に空白が必要です。dotenv が読み飛ばす行はテーブルでエラーになりエクスポートされません。dotenv が受け付けるものの珍しいキーは警告になり、エクスポートされます。

APP_NAME: 予約システム
export API_URL: https://api.example.jp/v2
SMTP HOST=smtp.example.jp
mail.from=info@example.jp
PORT:8080
{
  "APP_NAME": "予約システム",
  "API_URL": "https://api.example.jp/v2",
  "mail.from": "info@example.jp"
}

ステータスは「有効 2 件、警告 1 件、エラー 2 件。」です。3 行目はキーに空白があり、dotenv のキーのパターン [\w.-]+ に合わないのでエラー、5 行目はコロンの後に空白がありません。キーに全角スペース(U+3000)が入った場合も同じくエラーになります。 Node.js 自身のパーサー(—env-file、util.parseEnv())はルールが異なり、Node.js 22.23.3 ではこのテキストから SMTP HOST と mail.from を読み、コロンの 3 行はすべて無視します。

proto という名前のキーだけは、エクスポートが dotenv.parse() と異なります。dotenv はこのキーを取り除きます。

__proto__=keep
A=1
{
  "__proto__": "keep",
  "A": "1"
}

検出される一般的な .env の問題

  • = 記号がない——= もコロンもなく、キーと値のペアとして解析できない行。
  • コロンの書き方——PORT:8080 や PORT : 8080 は dotenv が読み飛ばします。PORT=8080 か PORT: 8080 と書いてください。
  • 空の値——キーは存在するが値が空。アプリによっては実行時エラーになる可能性があります。
  • 重複キー——同じキーが複数回出現。dotenv は最後の値を使いますが、ほかのローダーも同じとは限りません。
  • 一般的でないキー名——キー名は英字かアンダースコアで始め、英数字とアンダースコアだけにするのが無難です。.・- を含むキーや数字で始まるキーは dotenv でも読み込まれます(警告)。空白などを含むキーは読み込まれません(エラー)。
  • 引用符なしの値に # がある——dotenv はそこからコメントとみなすので、COLOR=#fff は空になり、URL=https://example.com/#top は #top が消えます。値を引用符で囲んでください。ルールは dotenv の解析ルールを参照。

制限

  • 変数は展開しません。${HOME}/data はそのまま残ります。dotenv-expand、Docker Compose、一部のフレームワークはこうした参照を展開します。
  • dotenv のルールだけです。Node.js の —env-file、Docker Compose の env_file、Python の python-dotenv、シェルの source は、引用符・コロン・export・# の扱いがそれぞれ異なります。実際に使うローダーで確認してください。
  • 値は平文で表示されます。テーブルはシークレットを隠さないので画面共有に注意してください。ファイルを共有する前に APIキーマスキングで値を置き換えられます。

FAQ

どの .env 構文に対応していますか?

dotenv 16.6.1(Node.js 用の dotenv パッケージ)の解析ルールに従います。1 行に 1 つの KEY=VALUE、またはコロンの後に空白を入れた KEY: value で、先頭に export を付けられます。キーには英数字・_・.・- を使えます。# で始まる行はコメントです。引用符なしの値の後ろにある # から行内コメントになるので、PORT=5432 # default は 5432 になり、引用符内の # は残ります。引用符で囲んだ値は複数行にまたがれます。

クォートで囲まれた値はどう処理されますか?

値を囲むシングルクォート、ダブルクォート、バッククォートは外し、中の空白は残します。\n を改行にするのはダブルクォートの値だけです。閉じていない引用符は値に残り、備考列に表示します。

エラーとして検出されるのはどんなケースですか?

dotenv が読み飛ばす行はエラーになり、エクスポートされません。= もコロンもない行(= がありません)、空のキー、MY KEY=1 のように空白など dotenv が許さない文字を含むキー(一般的でないキー名)、PORT:8080 のようにコロンの後に空白がない・前に空白がある行です。空の値・重複キー、そして dotenv は受け付けるが [A-Za-z_][A-Za-z0-9_]* に一致しないキー(my.key、9KEY など)は警告で、エクスポートには含まれます。

.env ファイルはサーバーに送信されますか?

いいえ。すべての解析処理はブラウザ内の JavaScript で完結し、テキストは保存されません。.env にはシークレットが入るため、このページでは Google Analytics と AdSense も読み込みません。

JSON エクスポートで何が出力されますか?

テーブルでエラーにならなかったすべてのキーを含む JSON オブジェクトで、dotenv.parse() の結果と同じです。コメント行とエラー行は含まれません。重複キーは dotenv と同じく最後の値になり、テーブルでは出現ごとに警告が付きます。違いは __proto__ という名前のキーだけで、このツールは通常のプロパティとして出力し、dotenv.parse() は取り除きます。JSON エクスポートは解析の後、エクスポートできるキーが 1 つ以上あるときだけ使えます。