Skip to content

.env から JSON への変換ツール

.env ファイルを貼り付けるだけで即座に JSON に変換。データベースのパスワードや API キー、トークンはブラウザから一切出ません。100% プライベート、アップロード不要、無料の dotenv パーサー。

トラッキングなし ブラウザで動作 無料
オプション · 2 スペース · 文字列
インデント
0 文字
JSON 出力
0
dotenv 解析の互換性、引用符とエスケープの処理、重複キーの挙動について確認済み — Go Tools Engineering Team · Jun 12, 2026

.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. 1

    .env ファイルを貼り付ける

    上の入力欄に .env の内容を入力または貼り付けてください。「例を読み込む」をクリックして、Node/Vite の .env、Docker Compose の env ファイル、CI シークレットテンプレートを試すこともできます。

  2. 2

    ライブの JSON 出力を確認

    JSON が出力パネルに即座に表示されます。文字列の代わりに数値やブール値が欲しい場合は「型を推論」を切り替え、2 または 4 スペースのインデントを選んでください。

  3. 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 ファイルの内容を貼り付けてください。ボタンを押す必要はなく、ブラウザ内で即座に JSON に解析されます。各 KEY=VALUE 行が JSON のプロパティになります。オプションパネルでインデントを 2 または 4 スペースから選び、「コピー」で JSON を取得するか「ダウンロード」で .json ファイルとして保存できます。すべてローカルで動作するため、シークレットがデバイスから出ることはありません。
値は数値やブール値に変換されますか、それとも文字列のまま保持されますか?
デフォルトでは、dotenv の標準どおり、すべての値が文字列のまま保持されます。dotenv 自体は型を変換せず(process.env の値は常に文字列です)、このデフォルトはアプリが実行時に実際に受け取るものに JSON を忠実に保ちます。型付き JSON が欲しい場合は「型を推論」オプションをオンにしてください。有効にすると、数値に見える引用符なしの値は JSON 数値に、true と false はブール値に、空または null の値は JSON null になります。引用符は明示的な文字列を意味するため、引用符付きの値は「型を推論」がオンでも常に文字列として保持されます。
.env ファイルで同じキーが 2 回現れた場合はどうなりますか?
dotenv の挙動に従い、最後の出現が優先されます。後の値が前の値を上書きします。値が黙って失われることは設定ミスのよくある原因なので、本ツールはどのキーが重複したかを正確に列挙する非ブロッキングの警告も表示し、どの値が JSON に残ったかを確認できます。出力はキーごとに 1 エントリの有効な JSON オブジェクトのままです。
引用符、エスケープ、複数行の値はどのように扱われますか?
二重引用符の値はエスケープシーケンスを処理します。\n は改行に、\t はタブに、\r は復帰に、\\ はバックスラッシュに、\" は文字どおりの二重引用符になります。二重引用符の値は閉じ引用符まで複数行にまたがることもでき、PEM 秘密鍵や証明書に便利です。単一引用符の値はシェルと同じく、エスケープ処理なしで文字どおりに扱われます。引用符なしの値は行末まで続き、末尾の空白は除去され、インラインコメント(スペースに続く #)は取り除かれます。これは dotenv ライブラリのファイル解析方法と一致します。
このパーサーは dotenv ライブラリと一貫していますか?
はい。解析ルールは広く使われている dotenv の慣例に従います。# のコメント行と空行は無視され、任意の export プレフィックスは取り除かれ、キーは最初の = 記号で分割され、単一引用符は文字どおりに、二重引用符はエスケープを処理して複数行の値を許可し、引用符なしの値は周囲と末尾の空白を除去し、すべての値はデフォルトで文字列になります。任意の「型を推論」スイッチはその上に追加された便利機能で、出力が dotenv の読み込み結果と一致するよう、デフォルトでオフになっています。
ネストやグループ化された設定を扱えますか?
.env ファイルは意図的にフラットで、ネストのないキー/値ペアのリストです。この変換ツールはその構造を 1 対 1 でミラーリングする単一のフラットな JSON オブジェクトを生成します。アプリがグループ化された設定(例:DB_HOST と DB_PORT)を読む場合でも、キーは JSON 内でフラットなままです。後からコードで再構成できます。真のネスト構造が必要なら、YAML から JSON のような形式が適しており、結果は JSON フォーマッター で整形できます。
私の .env データはサーバーに送信されますか?
いいえ。すべての解析は JavaScript でブラウザ内のみで行われます。.env の内容(通常はデータベースのパスワード、API キー、OAuth シークレット、アクセストークンを含みます)が送信されたり、サーバーに保存されたり、ログに記録されたりすることは一切ありません。ブラウザのネットワークタブを開き、ファイルを貼り付けてもリクエストがゼロであることを確認できます。これにより、サニタイズしたサンプルだけでなく、実際の本番 .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%プライベート、アップロード不要。