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 文件。输出在右侧面板实时显示。使用交换按钮反转方向——对 sanity-check 一个 .env 文件转换为 JSON 再转回是否相同很有用。多行值:在 dotenv 中写 MULTILINE="line1\nline2";转换器在转向 YAML 时正确展开 \n| 文本块。带引号的值:dotenv 接受 KEY="value"KEY='value' 并剥离外层引号。特殊字符:双引号内的 $ 在某些解析器中触发变量替换——转换器不做替换,把值当作字面字符串。错误窗格列出解析失败的行号:KEY="unclosed 会在含有未结束引号的行被标记。用适当的文件扩展名复制或下载。

为什么一致的环境变量很重要

环境变量控制着你整个流水线中每个阶段的数据库 URL、API 密钥、功能开关和服务端点。本地 .env 和 CI 脚本中的 shell export 之间的不匹配可能导致只在生产环境才浮现的隐性故障。Docker Compose、Kubernetes ConfigMaps 和无服务器平台各自期望相同数据的不同格式。标准化格式转换方式能消除整类部署错误。通过保持转换在本地和离线运行,你避免了将机密暴露给第三方服务——这对 SOC 2 和 ISO 27001 合规至关重要。

常见问题

我的数据安全吗?

是的。所有转换完全在您的浏览器中通过 JavaScript 进行,不会向任何服务器发送数据。您甚至可以离线使用此工具。

支持多行数值吗?

是的,支持 .env 文件中的引号多行数值。例如:CERT="line1\nline2"。

如何处理注释?

以 # 开头的注释行在转换时会被去除,不会保留在输出格式中。