# .env スタジオ（.env Studio）

.env を貼る・ドロップすると、キーと値を表で確認でき、重複・空の値・書式の誤りを行番号つきで指摘します。値は既定で伏せ、.env と .env.example を比べたり、.env.example・Kubernetes の Secret に書き出したりできます。.env の書き方（dotenv 形式）を確かめたいときに使い、docker compose の変数展開などツール固有の細かい仕様までは判定しません。

- URL: https://tools.itlibra.com/ja/env-studio
- 端末内で処理・アップロードなし
- 最終更新: 2026-10-26

## 使い方

1. .env の内容を貼り付けるか、ファイルをドロップ（「ファイルを選択」でも可）します。「サンプルで試す」でも動作を確認できます。
2. キーと値の表で、キーの重複・空の値・書式の誤りを行番号つきで確認します。値は伏せ字で、行ごとの目のボタンで表示できます。
3. 2 つ目の .env（.env.example など）を入れると、片方にだけあるキーと、値が違うキーを一覧します。値は表示しません。
4. 「書き出し」で .env.example（キー名だけ）、JSON、YAML、docker run --env-file、Kubernetes の Secret・ConfigMap にできます。並べ替えと重複の除去もできます。

## こんなときに

- .env の書き方（引用符・コメント・複数行）が正しいか確かめたい
- 本番用の .env と .env.example の違いを、値を見せずに確かめたい
- Kubernetes の Secret を .env から作りたい（base64 の手作業を省く）
- docker run --env-file 用に、引用符を外した形へ変えたい

## できること

### 書式は dotenv の一般的な形

KEY=value・export KEY=・# のコメント・行末コメント（引用符の外だけ）・シングル／ダブル引用符・ダブル引用符の中の \\n・引用符の中の複数行に対応します。

### 指摘は行番号つき

重複（後勝ち）・空の値・キー名の不正（数字始まり、ハイフン、ドット）・= の前後の空白・閉じていない引用符・BOM と CRLF を、重要度つきで一覧します。

### 値を見ずに比べる

2 つの .env を比べて、片方にだけあるキーと値が違うキーを並べます。結果に値は含まれないので、本番の値を画面に出さずに確かめられます。

### 秘密らしい値を .env.example から除外

AWS のキー形式、GitHub トークン、PEM 形式の秘密鍵、長い乱数らしい値を簡易に判定し、.env.example に入っていれば高い重要度で指摘します。

### Kubernetes の Secret・ConfigMap

data の値を base64（UTF-8）にした Secret と、平文の ConfigMap を書き出します。base64 は暗号化ではないことを画面にも書いています。


## 対応状況

| 機能 | 対応 | 補足 |
| --- | --- | --- |
| KEY=value・export・# コメント・引用符・複数行の読み取り | 対応 | — |
| 重複・空の値・キー名・書式・引用符の指摘（行番号つき） | 対応 | — |
| 2 つの .env の比較（値は表示しない） | 対応 | — |
| .env.example・JSON・YAML・--env-file・K8s Secret/ConfigMap への書き出し | 対応 | — |
| 秘密らしい値の検出 | 一部対応 | 形式で判定する簡易版です。取りこぼしや誤検出があります |
| ${VAR} の展開 | 一部対応 | 同じファイル内で上から順に展開するだけです |
| シェルのコマンド置換（$(...)）や docker compose 固有の展開 | 非対応 | — |
| 秘密の有効性の確認・失効・Secret の適用 | 非対応 | 通信しません。kubectl で適用はできません |

## 制限・注意事項

- 入力は 200,000 文字まで、キーは 2,000 件までです。超えた分は読み止めて通知します。
- ${VAR} の展開は、ツールによって未定義の扱いや優先順位が違います。展開結果は参考としてください。
- Kubernetes の Secret・ConfigMap は文法上の形だけを作ります。クラスタに適用する前に、kubectl などで確かめてください。
- docker run --env-file は改行を含む値を表せないため、その値は書き出しから除外して一覧します。

## プライバシーと安全性

貼り付けた内容やファイルはお使いの端末の中だけで処理され、サーバーへ送信・保存されることはありません。ブラウザに保存もしません。使用状況の記録にも内容やファイル名は含めません。

## よくある質問

### .env の書き方で引用符はいつ必要ですか？

値に空白・#・= などを含むときは引用符で囲むと安全です。引用符の外で # の前に空白があると行末コメントになります（KEY=abc#def の # は値の一部です）。シングル引用符の中は \\n などの変換をしません。

### 複数行の値はどう書けばよいですか？

ダブル引用符で囲み、改行を入れるか \\n と書きます。docker run --env-file は改行を表せないので、その値は除外されます。

### ${VAR} は展開されますか？

展開するかどうかは切り替えられます。展開の仕様はツールによって違い、このツールは同じファイル内の上から順だけを参照します。

### .env.example に値を入れてはいけませんか？

キー名だけを残し、値は空にするのが一般的です。秘密らしい値が入っていれば指摘します。

### 重複したキーはどちらが使われますか？

多くのツールは後に書かれた値を使いますが、ツールによって違います。この画面は後勝ちとして比べ、重複を指摘します。
