dotenv から JSON への変換ツール

.env ファイルを JSON オブジェクトに、JSON を .env に、ブラウザ内で相互変換できます。環境変数は端末上に留まります。

dotenv から JSON への変換ツールは完全にブラウザ内で動作します。貼り付けた .env ファイル・JSON・シークレットは端末から外に出ることはなく、ArrayKit に何もアップロードされません。

JSON 整形ツールを開く

dotenv から JSON への変換 について

dotenv から JSON への変換ツールは、dotenv・docker-compose・多くの 12-factor アプリが使う KEY=value 形式である .env ファイルを読み込み、設定・シークレットマネージャー・CI 変数セットに落とし込めるきれいな JSON オブジェクトに変換します。シングルクォートとダブルクォートで囲んだ値を理解し、空行と '#' コメントを無視し、任意の 'export ' プレフィックスを取り除き、ダブルクォート内の \n のようなシーケンスをアンエスケープします。トグルを反転すれば逆方向に進み、JSON が有効な .env ファイルになります。スペースや '#' を含む値は正しく解析されるよう自動でダブルクォートで囲まれます。環境を配線したり、シークレットをローテーションしたり、設定に実際に何が入っているかを確認したりする開発者のために作られています。すべて端末上で動作し、環境変数がブラウザから外に出ることはありません。

機能

dotenv から JSON への変換 の使い方

  1. '.env → JSON' を選択したまま .env ファイルを貼り付ける
  2. JSON オブジェクトをコピーするか env.json としてダウンロードする
  3. 'JSON → .env' に切り替えて逆変換する
  4. JSON オブジェクトを貼り付け、生成された .env テキストをコピーする

入力

export PORT=3000
APP_NAME="My Service"
DEBUG=false # verbose

出力

{
  "PORT": "3000",
  "APP_NAME": "My Service",
  "DEBUG": "false"
}

'export ' プレフィックスとインラインコメントは取り除かれ、クォートで囲んだ値は保持されます。

よくあるエラーとトラブルシューティング

よくある質問

dotenv から JSON への変換ツールは .env ファイルのクォートをどう扱いますか?
ダブルクォートで囲んだ値はアンエスケープされ(\n は改行になります)、シングルクォートで囲んだ値はそのまま保たれます。どちらでも値がスペース・'='・'#' を含んでも途中で切れません。囲みのクォートは JSON 出力では取り除かれます。
.env を JSON に変換するとき、コメントと export プレフィックスはどうなりますか?
行全体の '#' コメントと空行はスキップされ、クォートで囲まれていない値の後のインラインの '# コメント' は落とされます。キー先頭の 'export ' は取り除かれるので、JSON のキーは変数名だけになります。
なぜ JSON 出力ではすべての値が文字列なのですか?
環境変数は定義上すべて文字列です — PORT=3000 は数値の 3000 ではなくテキストの "3000" です。変換ツールはこれを保持するので、JSON はアプリで process.env が返すものと正確に一致します。
JSON から .env への変換は、いつクォートを付けるか、どう決めますか?
スペース・'#'・クォート文字を含むあらゆる値は、特殊文字をエスケープしたうえでダブルクォートで囲まれるので、できた .env 行は元の値に解析し直せます。単純なトークンはクォートなしのままです。
ネストしたオブジェクトを持つ JSON 設定を .env ファイルに変換できますか?
.env ファイルはフラットなので、ネストしたオブジェクトや配列は JSON 文字列化されて 1 つのクォート付きの値になります。真にフラットなファイルにするには、変換前に JSON をトップレベルの文字列値へ平坦化してください。
私の環境変数やシークレットはどこかにアップロードされますか?
いいえ。dotenv から JSON への変換ツールは完全にブラウザ内で動作します。貼り付けた .env テキストと JSON は端末から外に出ることはなく、ArrayKit やいかなるサーバーにも送られません。

関連ツール

すべての ArrayKit ツール