# 配置文件转换 - JSON、YAML、TOML、INI、.env、properties 互转

> 免费在线配置文件格式转换：JSON、YAML、TOML、INI、.env 与 Java .properties 任意互转，自动识别格式，完整支持 TOML 1.0，报错精确到行号，可排序键名、调整缩进。

- 网址: https://qilingtools.com/zh/config-convert
- 分类: 开发工具 (https://qilingtools.com/zh/dev)
- 标签: [格式转换](https://qilingtools.com/zh/tags/convert), [开发](https://qilingtools.com/zh/tags/dev), [数据格式](https://qilingtools.com/zh/tags/data), [运维部署](https://qilingtools.com/zh/tags/devops)
- 最后更新: 2026-10-26
- 价格: 免费，无需注册
- 隐私: 在浏览器本地处理，文件不上传服务器

不同的工具和框架偏爱不同的配置格式：Rust 的 Cargo 和 Python 的 pyproject 用 TOML，Kubernetes 和 GitHub Actions 用 YAML，Spring Boot 既有 application.properties 也有 application.yml，PHP 和 MySQL 用 INI，Docker 和 Node 项目离不开 .env。这个工具让它们之间可以任意互转：粘贴内容或打开文件后会自动识别格式，选择目标格式即可得到结果。TOML 解析器按 TOML 1.0 规范手写，支持表、表数组 [[ ]]、内联表、点分键、多行基本字符串与字面量字符串、全部转义、带下划线的整数与十六进制/八进制/二进制、inf 与 nan、四种日期时间，并严格检查重复键、重复定义的表、越界整数和非法日期，错误会标出行号和列号。INI 支持节、; 与 # 注释、行内注释、引号值、key[] 数组和四种重复键策略；.env 支持 export 前缀、单双引号与反引号、转义、多行值、行尾注释以及 ${VAR} 与 ${VAR:-默认值} 变量展开；.properties 支持 = : 和空格分隔、\uXXXX 转义、续行、! 注释，并可把 a.b.c 与 list[0] 还原成嵌套对象。转成扁平格式时，嵌套结构会自动展开成点分键或下划线变量名。全部在浏览器本地完成，配置里的密钥不会离开你的电脑。

## 使用步骤

1. 粘贴配置内容或打开 .toml、.yaml、.json、.ini、.env、.properties 文件，格式会自动识别
2. 选择目标格式，按需设置缩进、键排序以及重复键、变量展开、嵌套等选项
3. 复制或下载结果；出错时按提示的行号和列号修改

## 功能特点

- JSON、YAML、TOML、INI、.env、.properties 六种格式任意互转
- 完整的 TOML 1.0 解析与生成：表数组、内联表、日期时间、十六进制整数
- 自动识别输入格式
- 错误精确到行号与列号并标出出错位置
- .env 变量展开、export 前缀与多行值
- .properties 的 \uXXXX 转义与续行
- INI 重复键策略：覆盖、保留第一个、合并数组或报错
- 键名排序、2/4 空格或 Tab 缩进，本地处理不上传

## 常见问题

### 转换会丢失信息吗？

数据本身不会丢，但各格式的能力不同：JSON 没有日期类型，TOML 的日期会转成字符串；TOML 没有 null，转换时会跳过 null 并给出提示；INI、.env、.properties 只有字符串，嵌套对象会展开成 a.b.c 或 A_B_C 这样的扁平键，注释在任何转换中都不会保留。勾选“识别数字和 true/false”后，扁平格式里的 8080、true 会转成数字和布尔值。

### TOML 支持到什么程度？

按 TOML 1.0 规范实现：基本与字面量字符串（含多行和行尾反斜杠）、\u 与 \U 转义、带下划线的整数、0x/0o/0b 进制、浮点数与 inf/nan、带时区与本地的日期时间、表、表数组、内联表和点分键。它会拒绝规范不允许的写法，例如重复的键、同一个表定义两次、用点分键扩展已用 [表头] 定义的表、超出 64 位范围的整数和 2 月 30 日这样的日期。超出 JavaScript 安全整数范围的值会原样保留。

### .env 里的 ${VAR} 会怎样处理？

开启“展开 ${VAR} 变量引用”后，双引号和无引号的值中的 ${VAR}、$VAR 会替换为文件中前面已经定义的变量，${VAR:-默认值} 在变量未定义或为空时使用默认值；单引号和反引号中的内容保持原样，\$ 可以输出字面的美元符号。工具不会读取你电脑上的系统环境变量。

### Spring Boot 的 application.properties 怎么转成 application.yml？

粘贴 properties 内容，保持“a.b.c 键解析为嵌套对象”开启，目标选 YAML 即可，server.port=8080 会变成 server: port: 8080 的层级结构，list[0]、list[1] 会还原成列表，\u4E2D 这类转义会解码成中文。反过来把 YAML 转成 properties 时，可以选择是否把非 ASCII 字符转义成 \uXXXX。

## 相关工具

- [JSON 格式化](https://qilingtools.com/zh/json): 免费在线 JSON 格式化：一键美化、压缩，实时语法校验并定位到出错行列，支持树形视图折叠、键名排序、转义与去转义、Unicode 转中文、复制下载，数据不上传。
- [Base64 编解码](https://qilingtools.com/zh/base64): 免费在线 Base64 编码解码工具：支持中文 UTF-8、URL 安全变体，文本与 Base64 互转，实时转换，本地处理不上传。
- [URL 编解码](https://qilingtools.com/zh/url-encode): 免费在线 URL 编码解码工具：encodeURIComponent 与 encodeURI 两种模式，处理中文、空格与特殊符号，本地实时转换不上传。
- [JWT 解析](https://qilingtools.com/zh/jwt): 免费在线 JWT 解析工具：解码 JWT 的 Header 与 Payload，展示过期时间、签发时间等，本地解析不上传，保护令牌安全。
- [时间戳转换](https://qilingtools.com/zh/timestamp): 免费在线 Unix 时间戳转换工具：时间戳与日期互转，自动识别秒/毫秒，显示本地时间、UTC、ISO 8601 和相对时间，实时更新。
- [哈希计算](https://qilingtools.com/zh/hash): 免费在线哈希/摘要计算工具：对文本或文件计算 SHA-1、SHA-256、SHA-384、SHA-512，使用浏览器加密接口本地完成，文件不上传。
- [UUID 生成](https://qilingtools.com/zh/uuid): 免费在线 UUID 生成器：使用加密安全随机数批量生成符合 RFC 4122 的 UUID v4，可大写、去连字符、加花括号，一键复制。
- [进制转换](https://qilingtools.com/zh/base-convert): 免费在线进制转换工具：二进制、八进制、十进制、十六进制及任意 2–36 进制互转，支持大整数（BigInt），本地实时计算。
