dmosk / envdiff

按键比较 .env、JSON、TOML 和 ini

选择格式,粘贴或上传两份配置,即可看到仅在左侧、仅在右侧或值不同的键。一切都在浏览器中完成。

两侧使用同一种格式。“分享”链接会把两段文本放进网址的 # 片段——不会发送到服务器,但如果内容含真实密钥,请勿分享该链接。

左侧

右侧

为什么使用 envdiff

  • 逻辑比较。比较键和值而不是文本行——顺序、注释和空行都不影响结果。
  • 四种格式。.env、JSON、TOML 和 ini;嵌套的 JSON/TOML 键会变成 db.host 这样的路径。
  • 隐藏密钥。可选择将 password、token、secret、key 等键的值显示为 [REDACTED]。
  • 仅在浏览器中。没有 API:文件不会离开你的设备。状态可通过 URL 片段分享。

如何比较配置

  1. 选择格式——两侧共用。
  2. 在每个面板中粘贴文本或上传文件;两侧都必填。
  3. 点击“比较”,查看仅在左侧、仅在右侧以及值不同的键。
  4. 需要时开启隐藏,并点击“分享”复制带状态的链接。

键、格式与密钥

envdiff 比较的是键而不是行。格式不会混用:嵌套的 JSON 和 TOML 会展开为点分路径,ini 的节变为 section.key,.env 按 KEY=VALUE 读取。

提示:

  • 注释、空行和键的顺序都会被忽略。
  • 数组按索引展开,例如 servers[0].host。
  • 值按文本比较:JSON 中的数字 5432 与 .env 中的 5432 相同。
  • 隐藏只影响显示:password、token、secret、key 等键会显示为 [REDACTED]。
  • YAML 请用 yamaster,查找泄露的密钥请用 secret-scanner。

适用场景

  • 比较 dev、staging 和 production 之间的 .env;
  • 检查部署前后的配置;
  • 找出某个环境中缺失的键;
  • 查看 JSON、TOML 或 ini 的改动而不被文本 diff 干扰;
  • 通过链接分享比较结果(不要包含真实密钥)。

常见问题

可以比较不同格式吗?

不可以。两侧只能选择同一种格式,不支持混用。

注释和顺序重要吗?

不重要。只比较键和值。

我的数据会被上传吗?

不会。解析和比较都在浏览器中完成,没有 API。

隐藏功能做什么?

password、secret、token、key 等键的值显示为 [REDACTED];比较本身仍使用真实值。

嵌套键如何显示?

对象和表使用点号,数组使用索引,例如 db.host 或 servers[0]。