.env から JSON への変換ツール
.env ファイルを貼り付けるだけで即座に JSON に変換。データベースのパスワードや API キー、トークンはブラウザから一切出ません。100% プライベート、アップロード不要、無料の dotenv パーサー。
オプション · 2 スペース · 文字列
.env ファイルとは?
.env ファイル(dotenv ファイル)は、設定やシークレットをソースコードの外に保つために使われる、KEY=VALUE ペアのプレーンテキストのリストです。Node.js、Vite、Next.js、Python、Ruby、Docker Compose、そしてほぼすべての現代フレームワークにおける環境変数の事実上の標準です。dotenv ライブラリとその移植版がファイルを読み込み、各ペアをプロセス環境に注入します。このファイルにはデータベースのパスワード、API キー、OAuth クライアントシークレット、アクセストークンが含まれることが多いため、ほぼ常に git 管理から除外され、機密として扱われます。
.env ファイルを JSON に変換するのは頻繁な作業です。JSON を読むツールに設定を渡したり、JSON スキーマに照らして検証したり、シークレットマネージャーにインポートしたり、型付き設定オブジェクトを生成したり、あるいは長い .env を構造化データとして一目で把握したりするためです。この変換ツールはフラットなペアのリストを単一の JSON オブジェクトに変え、キーごとに 1 プロパティを生成します。
このツールはいくつかの意図的な決定を軸に構築されています。
**1. デフォルトは文字列、必要に応じて型付け。** dotenv は型を変換しません。実行時には process.env のすべての値が文字列です。デフォルト出力はそれを正確に守るため、JSON はアプリが実際に受け取るものと一致します。型付き JSON が欲しいときは、任意の「型を推論」スイッチが引用符なしの数値、ブール値、null 値を昇格させ、引用符付きの値は引用符が明示的な合図なので文字列のままです。
**2. 忠実な dotenv 解析。** コメント、空行、export プレフィックス、単一引用符と二重引用符、エスケープシーケンス、複数行の二重引用符の値、引用符なしの値のインラインコメントは、すべて dotenv ライブラリと同じ方法で扱われます。JSON をアプリの読み込み結果と比べても意外な点はありません。
**3. 重複キーの安全性。** キーが 2 回定義された場合は後の値が優先され、どのキーが重複したかを警告で知らせるため、誤って隠されたシークレットが気づかれずに通り抜けることはありません。
**4. 100% ブラウザベースのプライバシー。** あなたの .env データがブラウザから出ることはありません。アップロードも、サーバーとの往復も、ログ記録もありません。DevTools のネットワークタブでネットワークリクエストがゼロであることを確認できます。ファイルが実質的に認証情報のリストである以上、これが実際の .env をオンラインで変換する唯一の責任あるやり方です。
変換後は、結果を JSON フォーマッター で整形・検証したり、JSON エスケープ で別の文字列に埋め込むためにエスケープしたり、コンパニオンの JSON から .env への変換ツール で逆方向に変換したりできます。設定が YAML にある場合は YAML から JSON を試してください。
// Parse a .env file to a JSON object in Node.js using dotenv
import { parse } from 'dotenv';
const envText = `# Database
DATABASE_URL=postgres://user:pass@localhost:5432/mydb
DEBUG=true`;
// dotenv.parse returns a plain object of string values
const parsed = parse(envText);
// Every value is a string, just like process.env
const json = JSON.stringify(parsed, null, 2);
console.log(json);
// {
// "DATABASE_URL": "postgres://user:pass@localhost:5432/mydb",
// "DEBUG": "true"
// } 主な機能
忠実な dotenv 解析
コメント、export プレフィックス、単一引用符と二重引用符、エスケープシーケンス(\n \t \r \\ \")、複数行の二重引用符の値、インラインコメントを、dotenv ライブラリとまったく同じ方法で扱います。
デフォルトは文字列、必要に応じて型付け
dotenv の実行時の挙動に合わせ、値はデフォルトで JSON 文字列になります。「型を推論」をオンにすると、引用符なしの数値、ブール値、null 値が昇格され、引用符付きの値は常に文字列のままです。
重複キーの警告
キーが 2 回定義されると最後の値が優先され(dotenv の挙動)、重複したすべてのキーを警告が列挙するため、黙って上書きされたシークレットが気づかれずに通り抜けることはありません。
ライブ変換
JSON 出力は入力や貼り付けに合わせて即座に更新されます。大きな入力(200KB 超)はブラウザの応答性を保つため、「変換」ボタン付きの手動モードに自動的に切り替わります。
インデント 2 または 4 スペース
JSON 出力のインデントを 2 スペースと 4 スペースの間で切り替え、コードベースのスタイルや下流ツールに合わせられます。
100% ブラウザベースのプライバシー
すべての解析はブラウザ内でローカルに実行されます。あなたの .env データ(データベースのパスワード、API キー、トークン)がアップロードされたり、ログに記録されたり、サーバーに保存されたりすることは一切ありません。
例
Node / Vite の .env
# Database DATABASE_URL=postgres://user:pass@localhost:5432/mydb DATABASE_POOL_SIZE=10 # Auth JWT_SECRET="super secret value" SESSION_TIMEOUT=3600 # Feature flags ENABLE_SIGNUP=true VITE_API_BASE=https://api.example.com
{
"DATABASE_URL": "postgres://user:pass@localhost:5432/mydb",
"DATABASE_POOL_SIZE": "10",
"JWT_SECRET": "super secret value",
"SESSION_TIMEOUT": "3600",
"ENABLE_SIGNUP": "true",
"VITE_API_BASE": "https://api.example.com"
} 典型的な Node.js / Vite の .env ファイルです。デフォルトでは(dotenv の標準どおり)すべての値が JSON 文字列になります。コメント行と空行はスキップされます。10 を数値に、true をブール値にしたい場合は「型を推論」をオンにしてください。
Docker Compose の environment
POSTGRES_DB=mydb POSTGRES_USER=admin POSTGRES_PASSWORD=s3cr3t! PGDATA=/var/lib/postgresql/data TZ=UTC NGINX_HOST=example.com NGINX_PORT=80
{
"POSTGRES_DB": "mydb",
"POSTGRES_USER": "admin",
"POSTGRES_PASSWORD": "s3cr3t!",
"PGDATA": "/var/lib/postgresql/data",
"TZ": "UTC",
"NGINX_HOST": "example.com",
"NGINX_PORT": "80"
} Docker Compose スタックが読み込む env_file を JSON に変換すれば、スクリプトや設定バリデーター、シークレットマネージャーに読み込めます。何もアップロードされないため、実際の認証情報でも安全です。
export プレフィックス付きの CI シークレットテンプレート
export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY export AWS_REGION=us-east-1 export DEPLOY_ENV=production
{
"AWS_ACCESS_KEY_ID": "AKIAIOSFODNN7EXAMPLE",
"AWS_SECRET_ACCESS_KEY": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
"AWS_REGION": "us-east-1",
"DEPLOY_ENV": "production"
} シェル形式の .env ファイルでは、source できるように各行の先頭に export を付けることがよくあります。パーサーは export プレフィックスを自動的に取り除き、きれいな JSON キーを生成します。
複雑な .env:引用符、エスケープ、複数行、インラインコメント
APP_NAME=My App # unquoted value, inline comment stripped GREETING="Hello,\nWorld" # double quotes: \n becomes a real newline LITERAL='no \n escapes here' # single quotes: kept literally PRIVATE_KEY="-----BEGIN KEY----- line two line three -----END KEY-----" EMPTY=
{
"APP_NAME": "My App",
"GREETING": "Hello,\nWorld",
"LITERAL": "no \\n escapes here",
"PRIVATE_KEY": "-----BEGIN KEY-----\nline two\nline three\n-----END KEY-----",
"EMPTY": ""
} dotenv のあらゆるエッジケースを一度に示しています。引用符なしの値に付いたインラインコメントは削除され、二重引用符の値は \n \t \r \\ \" のエスケープを処理し、単一引用符の値はそのまま保持され、二重引用符の値は閉じ引用符まで複数行にまたがれます(PEM キーに便利です)。
使い方
- 1
.env ファイルを貼り付ける
上の入力欄に .env の内容を入力または貼り付けてください。「例を読み込む」をクリックして、Node/Vite の .env、Docker Compose の env ファイル、CI シークレットテンプレートを試すこともできます。
- 2
ライブの JSON 出力を確認
JSON が出力パネルに即座に表示されます。文字列の代わりに数値やブール値が欲しい場合は「型を推論」を切り替え、2 または 4 スペースのインデントを選んでください。
- 3
コピーまたはダウンロード
「コピー」で JSON をクリップボードに取得するか、「ダウンロード」で .json ファイルとして保存してください。設定ローダーやシークレットマネージャー、JSON を読む任意のツールにすぐ使えます。
よくある .env の落とし穴
行に = 記号がない
コメントでなく空でもない各行は KEY=VALUE ペアでなければなりません。= 記号のない行は解析できず、本ツールは行番号付きでエラーを報告します。値のない裸のキーは KEY=(空の値)と書いてください。
DATABASE_URL DEBUG true
DATABASE_URL= DEBUG=true
= 記号の周りのスペース
dotenv は最初の = で、その周囲にスペースなしで分割します。KEY = value と書くとキーは 'KEY '(末尾にスペース付き)、値は ' value'(先頭にスペース付き)になります。スペースを取り除くか、値に先頭の空白を含める必要があるなら値を引用符で囲んでください。
API_KEY = abc123
API_KEY=abc123
引用符なしの値がインラインコメントに食われる
引用符なしの値では、スペースに続く # がインラインコメントを開始し、それ以降はすべて削除されます。値に正当に # が含まれる場合は、# が保持されるよう値を引用符で囲んでください。
COLOR=#ff0000
COLOR="#ff0000"
単一引用符でエスケープを期待する
単一引用符の値は文字どおりです。\n はバックスラッシュと n のままで、改行にはなりません。\n、\t、\" のようなエスケープシーケンスを処理させたいときは二重引用符を使ってください。
GREETING='Hello\nWorld'
GREETING="Hello\nWorld"
複数行の値で閉じ二重引用符がない
二重引用符の値は複数行にまたがれますが、対応する二重引用符で閉じる必要があります。閉じ引用符がないと、パーサーはファイル末尾まで行を取り込み続けます。PEM キーのような複数行のシークレットは、必ず閉じ引用符で終わるようにしてください。
KEY="-----BEGIN----- line two
KEY="-----BEGIN----- line two -----END-----"
重複キーが黙って上書きされる
同じキーが 2 回現れると最後の値が優先され、前の値は失われます。本ツールは警告しますが、最もきれいな修正は重複を取り除いて意図した値を明確にすることです。
PORT=3000 PORT=8080
PORT=8080
よくある使用例
- JSON ベースのツールに設定を渡す
- .env ファイルを JSON に変換し、環境変数ではなく JSON を読むツール、スクリプト、SDK(設定バリデーター、スキーマチェッカー、コードジェネレーター)に環境設定を読み込ませます。
- シークレットをマネージャーにインポート
- 多くのシークレットマネージャー(AWS Secrets Manager、Vault、Doppler)は一括インポートに JSON を受け付けます。まず .env ファイルを JSON オブジェクトに変換し、変数を 1 つずつではなく全体を 1 操作でプッシュできます。
- 長い .env を一目で確認
- 膨大な .env ファイルを構造化された整形済み JSON に変えれば、キーをざっと見渡し、警告で重複を見つけ、変更をコミットする前に読みやすい形式で設定を確認できます。
- 型付き設定オブジェクトを生成
- 「型を推論」を有効にして JSON に数値、ブール値、null を取得し、型付き設定レイヤーや JSON から TypeScript への工程に渡して、環境変数のインターフェースを導き出せます。
- JSON スキーマに対して検証
- .env を JSON に変換して JSON スキーマバリデーターに通し、CI で必須キー、値の形式、許可される列挙値を強制します。設定ミスの環境をデプロイ前に捕捉できます。
- Docker Compose の env_file 設定を移行
- Compose スタックが読み込む env_file を JSON に変え、別のオーケストレーションツール、設定サーバー、ドキュメントで使えます。実際の認証情報を外部サービスに晒すことはありません。
技術的な詳細
- 行単位の dotenv 互換解析
- 入力は 1 行ずつ解析されます。空行とコメント行(先頭の非空白文字が #)はスキップされ、任意の export プレフィックスは取り除かれ、残りの各行は最初の = でキーと値に分割されます。キーは周囲の空白がトリムされます。値は dotenv のルールに従います。二重引用符は \n \t \r \\ \" のエスケープを処理して複数行のまたがりを許可し、単一引用符は文字どおり、引用符なしの値は末尾の空白とインラインコメントを除去します。
- 任意の型推論
- デフォルトではすべての値が JSON 文字列として出力され、process.env の値が常に文字列である dotenv の実行時の挙動と一致します。「型を推論」を有効にすると引用符なしの値が昇格されます。数値文字列は JSON 数値に、true/false はブール値に、空または null の値は JSON null になります。引用符付きの値は推論されません。引用符は明示的な文字列の印です。重複キーは警告付きで last-wins(最後優先)で解決されます。
- ブラウザベース — アップロードもサーバーもなし
- すべての処理はブラウザの JavaScript エンジン内のみで行われ、.env データがネットワークを介して送信されることはありません。パーサーは自前で書かれているため外部依存はありません。Node の dotenv ライブラリはファイルシステムに依存しており、ブラウザでは安全に動きません。200KB を超える入力は、ブラウザの応答性を保つためライブモードから手動モード(明示的な「変換」クリック)に切り替わります。
ベストプラクティス
- dotenv に合わせてデフォルトの文字列出力を保つ
- dotenv はすべての値を文字列として読み込むため、デフォルトの文字列出力はアプリが実行時に受け取るものを正確に反映します。下流の消費側が本当に型付き JSON を期待する場合のみ「型を推論」を有効にしてください。さもないと '0' や 'false' が JSON と実行中のアプリで異なる挙動を示す不一致のリスクがあります。
- # や空白を含む値は引用符で囲む
- 引用符なしの値では、スペースに続く # がインラインコメントを開始し、末尾の空白はトリムされます。値に正当に #(16 進カラー、フラグメント URL)や意味のあるスペースが含まれる場合は、二重引用符で囲んで JSON にそのまま保持してください。
- 重複キーは元の場所で解決する
- 本ツールは最後の値を保持し、キーの重複時に警告しますが、.env ファイルの重複はほぼ常に間違いです。どのシークレットが有効かに曖昧さが残らないよう、冗長な行を取り除いてください。
- 本番のシークレットをサーバー側の変換ツールに貼り付けない
- .env ファイルは事実上認証情報のリストなので、完全にブラウザ内で動作するツールでのみ変換してください。本変換ツールはそうしており(DevTools でネットワークリクエストがゼロであることを確認してください)、サーバー側や API ベースの変換ツールとは違って実際のシークレットでも安全です。
- 下流で使う前に JSON を検証する
- 変換後は JSON フォーマッター に JSON を通して構造を確認してから、スキーマバリデーター、シークレットマネージャーのインポート、設定ローダーに渡してください。構造上の意外な問題を早期に表面化できます。
よくある質問
.env ファイルをオンラインで JSON に変換するには?
値は数値やブール値に変換されますか、それとも文字列のまま保持されますか?
.env ファイルで同じキーが 2 回現れた場合はどうなりますか?
引用符、エスケープ、複数行の値はどのように扱われますか?
このパーサーは dotenv ライブラリと一貫していますか?
ネストやグループ化された設定を扱えますか?
私の .env データはサーバーに送信されますか?
関連ツール
すべてのツールを見る →Base64エンコーダー&デコーダー
エンコーディングとフォーマット
Base64のデコード・エンコードが無料でオンラインで行えます。リアルタイム変換、UTF-8・絵文字対応。100%ブラウザ上で動作しデータは外部に送信されません。登録不要。
Base64 画像変換ツール
エンコーディングとフォーマット
Base64 文字列やデータURIをブラウザ上で画像に戻します。プレビューし、寸法と MIME を確認して、PNG・JPG・GIF・SVG としてダウンロード。アップロード不要。
CSV to JSON 変換ツール
エンコーディングとフォーマット
CSVをブラウザ内で即座にJSONに変換。RFC 4180・型推論・ヘッダー行・大整数安全対応。100%プライベート、アップロード不要。
HTML Markdown 変換ツール
エンコーディングとフォーマット
HTML をブラウザ内できれいな Markdown に変換 — GFM のテーブル、タスクリスト、リンク対応。ATX/Setext 見出しとインラインまたは参照リンクを選択。Web コンテンツの移行や LLM への投入に最適。完全プライベートでアップロード不要。
画像 Base64 変換ツール
エンコーディングとフォーマット
画像を Base64 データURIに変換 — PNG・JPG・GIF・WebP・SVG・ICO 対応。HTML・CSS・Markdown・JSON 形式で出力&コピー。完全プライベートでアップロード不要。
JSON Diff(差分)
エンコーディングとフォーマット
2つのJSONファイルをブラウザで即座に比較・差分確認。サイドバイサイドのハイライト表示、RFC 6902 JSON Patch出力、タイムスタンプやIDなどのノイズフィールドを無視。100%プライベート、アップロード不要。