ENV / Shell / Docker 轉換器

在瀏覽器中即時將 .env 檔案轉換為 JSON、YAML、TOML、Shell export 及 Docker ENV。無需上傳,完全在本地執行。

🔒 所有轉換均在您的瀏覽器中進行,不會上傳任何資料。

轉換工具

0 / 500,000 位元組

🔒 所有轉換均在您的瀏覽器中進行,不會上傳任何資料。

你剛測試了ENV / Shell / Docker 轉換器 — 試試 結構化資料轉換器 →

什麼是 ENV 轉換器?

沒有正式的 dotenv 規範——.env 格式起源於 Heroku-Foreman 慣例,後來分叉成不相容的方言。python-dotenv 解析器接受 key=valuekey = value(含空白)、單引號和雙引號值,以及雙引號內的 \n 跳脫序列。Node 的 dotenv 套件歷來不遵守跳脫(SECRET="line1\nline2" 讀作字面的反斜線-n,不是換行)。Go 的 godotenv 和 Rust 的 dotenvy 各有自己的怪癖。轉換器在六種常見格式間標準化:dotenv(KEY=value)、JSON({"KEY":"value"})、YAML(KEY: value)、TOML(KEY = "value")、shell export(export KEY=value)和 Docker ENV(ENV KEY=value)。多行值在 dotenv 中用 "..." 配上明確的 \n、在 YAML 中用 | 字面區塊、在 TOML 中用三引號、在 shell 中用反斜線續行。轉換器在全部六種間保留它們。註釋(dotenv / YAML / TOML / shell 中的 #// 不是 dotenv 規範的一部分儘管某些解析器接受)在轉換至 JSON 時被移除,因為 JSON 根據 RFC 8259 禁止註釋。

如何使用 ENV 轉換器

挑選 來源目標 格式。貼上你的 env 檔。輸出會即時出現在右側面板。使用交換按鈕反轉方向——適合用於理性檢查 .env 檔轉成 JSON 再轉回是否相同。多行值:在 dotenv 中寫 MULTILINE="line1\nline2";轉換器會正確展開 \n 以用於 YAML 的 | 字面區塊(往該方向轉換時)。引號值:dotenv 接受 KEY="value"KEY='value' 兩者並移除外層引號。特殊字元:雙引號內的 $ 在某些解析器會觸發變數替換——轉換器不替換,將值視為字面字串。錯誤面板列出解析失敗的行:KEY="unclosed 會在包含未終止引號的行被標記。用適當的檔案副檔名複製或下載。

為什麼一致的環境變數很重要

Docker 有三種不同的方式設定環境變數:Dockerfile 中的 ENV KEY=value(在建置時烤入映像,在執行時可用)、Dockerfile 中的 ARG KEY(僅建置時,除非明確提升至 ENV 否則執行時不存在),以及 docker run -e KEY=value / docker compose environment:(在容器啟動時設定,覆寫 ENV)。混淆這些是經典事件模式——透過 ENV 烤入映像的機密在 docker history 中可見並可能意外推送至公開倉庫,而相同機密透過執行時 -e 傳遞會留在映像層之外。將 .env 檔用於本地開發轉換為 docker-compose.yml 環境區塊,或轉換為 Kubernetes ConfigMap YAML,需要理解你目標階段使用哪種機制。轉換器的角色純粹是語法層面——語義(建置時 vs 執行時、機密 vs 設定)在你身上。

常見問題

我的資料安全嗎?

是的。所有轉換完全在您的瀏覽器中透過 JavaScript 進行,不會向任何伺服器發送資料。您甚至可以離線使用此工具。

支援多行數值嗎?

是的,支援 .env 檔案中的引號多行數值。例如:CERT="line1\nline2"。

如何處理注釋?

以 # 開頭的注釋行在轉換時會被去除,不會保留在輸出格式中。