Skip to content

JSON 转 YAML 转换器

粘贴 JSON 即时获得 YAML,浏览器端实时转换。支持 Kubernetes、Docker Compose 和 Terraform,提供 2/4 空格缩进、Norway 安全自动引号,100% 隐私保护,数据不离开设备。

无追踪 浏览器中运行 免费
选项 · 2 空格 · 自动 · 块状
缩进
风格
0 字符
YAML 输出
0
已审核 RFC 8259 合规性、YAML 1.2 规范输出以及 Norway 问题处理正确性 — Go Tools 工程团队 · 2026年5月4日

什么是 YAML?为什么要从 JSON 转换?

YAML(YAML Ain't Markup Language,YAML 不是标记语言)是一种人类可读的数据序列化格式,专为配置文件、基础设施即代码以及任何由人工编写、机器读取的数据场景而设计。其基于缩进的语法无需花括号或方括号,使复杂嵌套结构比 JSON 更易阅读。Kubernetes、Helm、Ansible、Docker Compose、GitHub Actions、CircleCI 以及几乎所有云原生工具都以 YAML 作为主要配置格式。因此,将 JSON 转换为 YAML 是 DevOps 和后端开发中最常见的任务之一 — 你从 API 以 JSON 格式获取资源定义,需要 YAML 清单提交到版本控制。

与典型的在线转换器相比,本工具有四个重要差异点:

**1. Norway 问题 — 自动安全引号。** JSON 转 YAML 最大的坑是 YAML Norway 问题。在 YAML 1.1 中(大量生产环境解析器仍在使用,包括旧版 Kubernetes、PyYAML、Ansible 和 Ruby 的 Psych),裸字符串 yes、no、on、off、y 和 n 被解析为布尔值 true/false。这个问题在挪威的 ISO 国家代码上闻名于世("NO" → false),并在 Kubernetes 配置中造成了真实的生产故障。YAML 1.2 已修复此问题,但你的解析器可能尚未升级。本工具默认的「自动」引号模式使用带 YAML 1.1 schema 的 eemeli/yaml 库,自动为所有 Norway 问题字符串加上引号,确保在 YAML 1.1 和 1.2 解析器中都能安全往返。详见我们的配套文章 YAML Norway 问题与 JSON-YAML 差异详解

**2. 键顺序保留。** 与某些按字母排序键的转换器不同,本工具保留 JSON 中原始的键插入顺序,与所有现代 JavaScript 引擎中 JSON.parse() 的行为一致。这对 Kubernetes 清单(按惯例 apiVersion 和 kind 应在最前)、OpenAPI 规范(info 在 paths 之前)以及任何字段顺序对可读性或 diff 有意义的配置都很重要。

**3. 大数字精度说明。** 大于 2^53 - 1(9007199254740991)的 JSON 数字无法在 JavaScript 的 IEEE 754 双精度浮点数中精确表示。当 JSON.parse() 读取大整数(如服务器端是 64 位整数的 Kubernetes resourceVersion 字段)时,会静默截断。这是影响所有基于浏览器的 JSON 工具的根本限制,包括本工具。安全的解决方法是在转换前确保大整数以字符串形式存储在 JSON 中。本工具在下方「数字精度丢失」常见错误中诚实地记录了此行为。

**4. 100% 浏览器端隐私保护。** 你的 JSON 数据(通常包含 API 密钥、数据库凭证、内部服务配置和生产密钥)永远不会离开浏览器。数据不会发送到任何服务器。你可以通过浏览器的「网络」标签验证这一点。这是在线工具中处理敏感配置数据的唯一安全方式。反向工具请见 YAML 转 JSON 转换器,如需在转换前验证和美化 JSON,请使用 JSON 格式化工具

YAML 的人类可读性也伴随着更多的解析边界情况:除了 Norway 问题,还有八进制数字怪癖(YAML 1.1 中 0777 被解析为 511)、多行字符串语法(| 字面量,> 折叠)、锚点和别名引用(&anchor 和 *alias),以及多文档支持(--- 分隔符)。JSON 没有这些复杂性 — 它是一种严格、最简的格式,只有六种数据类型。对于机器间数据交换,JSON 几乎总是更好的选择。对于人工编辑的配置文件(可读性和注释更重要),YAML 胜出。本转换器给你两全其美:以 JSON 方式编程操作,转换为 YAML 用于基础设施配置。

// Convert JSON to YAML in Node.js using the eemeli/yaml library
import { Document } from 'yaml';

const data = JSON.parse('{"apiVersion":"apps/v1","kind":"Deployment"}');

// version: '1.1' ensures Norway-problem strings (yes/no/on/off/y/n)
// are automatically quoted in the output for YAML 1.1 parser safety
const doc = new Document(data, { version: '1.1' });

const yamlString = doc.toString({
  indent: 2,
  lineWidth: 0,         // disable line wrapping
  defaultStringType: 'PLAIN',   // Auto mode: only quote when needed
});

console.log(yamlString);
// apiVersion: apps/v1
// kind: Deployment

核心功能

实时转换

输入或粘贴 JSON 时,YAML 输出即时更新 — 无需点击「转换」按钮。大型输入(>200KB)自动切换为手动模式以保持浏览器响应。

2 或 4 空格缩进

在 2 空格(Kubernetes、Docker Compose 和 GitHub Actions 的标准)和 4 空格(Ansible 惯例)之间切换。YAML 禁止使用制表符 — 本工具始终使用空格。

自动安全引号(Norway 安全)

默认的「自动」模式使用 YAML 1.1 模式,自动为 "no"、"yes"、"on"、"off"、"y" 和 "n" 等字符串加引号,防止 YAML 1.1 解析器将其误读为布尔值,避免生产配置错误。

块状和流式风格

块状风格生成缩进的、人类可读的 YAML,适合清单和配置文件。流式风格生成紧凑的内联 YAML,类似 JSON — 适用于文档片段或偏好最小化输出的工具。

100% 浏览器端隐私

所有转换均在浏览器中使用 JavaScript 本地运行。你的 JSON 数据(包括 API 密钥、凭证和生产配置)不会发送到任何服务器,不会被记录,也不会被存储。

支持 K8s、Compose 和 Terraform 文件

针对真实 DevOps 场景优化:Kubernetes 清单、Docker Compose 栈、Helm chart values、GitHub Actions 工作流、OpenAPI 规范和 Terraform JSON 计划输出 — 每种场景均附有示例。

示例

Kubernetes Deployment

{"apiVersion":"apps/v1","kind":"Deployment","metadata":{"name":"my-app","namespace":"production","labels":{"app":"my-app","version":"1.0.0"}},"spec":{"replicas":3,"selector":{"matchLabels":{"app":"my-app"}},"template":{"metadata":{"labels":{"app":"my-app"}},"spec":{"containers":[{"name":"my-app","image":"my-app:1.0.0","ports":[{"containerPort":8080}],"resources":{"requests":{"memory":"64Mi","cpu":"250m"},"limits":{"memory":"128Mi","cpu":"500m"}}}]}}}}

将 JSON API 响应格式的 Kubernetes Deployment 清单转换为 YAML,以便通过 kubectl apply -f 部署

Docker Compose

{"version":"3.9","services":{"web":{"image":"nginx:1.25-alpine","ports":["80:80","443:443"],"environment":{"NGINX_HOST":"example.com","NGINX_PORT":"80"},"depends_on":["db"],"restart":"unless-stopped"},"db":{"image":"postgres:16-alpine","environment":{"POSTGRES_DB":"mydb","POSTGRES_USER":"admin","POSTGRES_PASSWORD":"secret"},"volumes":["pgdata:/var/lib/postgresql/data"]}},"volumes":{"pgdata":{}}}

将 Docker Compose 服务定义从 JSON 转换为 docker compose up 所需的 YAML 格式

GitHub Actions 工作流

{"name":"CI","on":{"push":{"branches":["main"]},"pull_request":{"branches":["main"]}},"jobs":{"build":{"runs-on":"ubuntu-latest","steps":[{"uses":"actions/checkout@v4"},{"name":"Set up Node.js","uses":"actions/setup-node@v4","with":{"node-version":"20","cache":"pnpm"}},{"name":"Install dependencies","run":"pnpm install --frozen-lockfile"},{"name":"Run tests","run":"pnpm test"}]}}}

将 GitHub Actions CI 工作流定义从 JSON 转换为 YAML,提交到 .github/workflows/

OpenAPI 规范

{"openapi":"3.0.3","info":{"title":"User API","version":"1.0.0","description":"Manage application users"},"paths":{"/users":{"get":{"summary":"List users","operationId":"listUsers","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":20}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/User"}}}}}}}},"/users/{id}":{"get":{"summary":"Get user","operationId":"getUser","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Success"}}}}},"components":{"schemas":{"User":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string","format":"email"}}}}}}

将 OpenAPI 3.0 规范从 JSON 转换为 YAML — Swagger UI、Redoc 和大多数 API 工具链的首选格式

package.json

{"name":"my-app","version":"1.0.0","description":"A sample Node.js application","private":true,"scripts":{"dev":"vite","build":"tsc && vite build","preview":"vite preview","test":"vitest","lint":"eslint . --ext .ts,.tsx"},"dependencies":{"react":"^18.3.0","react-dom":"^18.3.0"},"devDependencies":{"typescript":"^5.4.0","vite":"^5.2.0","vitest":"^1.5.0","eslint":"^8.57.0","@types/react":"^18.3.0"},"engines":{"node":">=20.0.0","pnpm":">=9.0.0"}}

将典型的 Node.js package.json 转换为 YAML — 适用于迁移偏好 YAML 的项目配置工具

Terraform JSON 计划

{"format_version":"1.0","terraform_version":"1.7.4","variables":{"region":{"value":"us-east-1"}},"planned_values":{"root_module":{"resources":[{"address":"aws_s3_bucket.main","mode":"managed","type":"aws_s3_bucket","name":"main","values":{"bucket":"my-app-assets","force_destroy":false,"tags":{"Environment":"production","ManagedBy":"terraform"}}}]}},"resource_changes":[{"address":"aws_s3_bucket.main","mode":"managed","type":"aws_s3_bucket","name":"main","change":{"actions":["create"],"before":null,"after":{"bucket":"my-app-assets","force_destroy":false}}}]}

将 Terraform JSON 计划输出转换为 YAML,便于人工审查、GitOps 审计和 CI/CD 流水线使用 — 大多数转换工具缺失的功能

使用方法

  1. 1

    粘贴 JSON 数据

    在上方输入框中输入或粘贴 JSON 数据。也可以点击「加载示例」试用 Kubernetes Deployment、Docker Compose 文件或 Terraform 计划等示例。

  2. 2

    查看实时 YAML 输出

    YAML 会即时显示在输出面板中。调整选项(缩进 2/4、引号自动/双引号/单引号、风格块状/流式)以匹配目标工具的要求。

  3. 3

    复制或下载

    点击「复制」将 YAML 复制到剪贴板,或点击「下载」将其保存为 .yaml 文件,可直接用于 kubectl apply、docker compose up 或其他工具。

常见转换问题

尾随逗号

JSON 不允许在对象或数组的最后一个元素后面添加逗号。从 JavaScript 代码复制时极为常见,因为 JavaScript 允许尾随逗号。转换前请删除末尾逗号。

✗ 错误
{"name": "Alice", "role": "admin",}
✓ 正确
{"name": "Alice", "role": "admin"}

单引号

JSON 要求所有字符串值和对象键使用双引号。单引号在 JavaScript 和 Python 中有效,但在 JSON 中是语法错误。

✗ 错误
{'name': 'Alice', 'active': true}
✓ 正确
{"name": "Alice", "active": true}

未加引号的键名

所有 JSON 对象键必须用双引号括起来。未加引号的键名在 JavaScript 对象字面量中有效,但在严格 JSON 中会导致解析错误。

✗ 错误
{name: "Alice", role: "admin"}
✓ 正确
{"name": "Alice", "role": "admin"}

不允许注释

标准 JSON 不支持任何形式的注释 — 不支持 //、/* */ 或 #。如需在配置中添加注释,请使用 YAML(支持 # 注释)或 JSONC(带注释的 JSON,VS Code 使用)。将数据用作 JSON 前请删除所有注释。

✗ 错误
{"port": 8080 // HTTP port}
✓ 正确
{"port": 8080}

YAML Norway 问题(自动模式已自动处理)

在 YAML 1.1 解析器中(Kubernetes、Ansible、PyYAML、Ruby Psych 使用),裸字符串 yes、no、on、off、y 和 n 会被解析为布尔值 true/false 而非字符串。本工具的「自动」模式会在 YAML 输出中自动为这些值加引号,确保在任何 YAML 1.1 或 1.2 解析器中都能安全往返。如果选择「双引号」或「单引号」模式,所有字符串都会被明确加引号,同样可以避免此问题 — 但「自动」模式的输出更自然。

✗ 错误
# JSON input: {"country": "no", "enabled": "yes"}
# YAML without quoting (dangerous):
country: no
enabled: yes
# YAML 1.1 parser reads: country=false, enabled=true
✓ 正确
# YAML with Auto quoting (safe):
country: 'no'
enabled: 'yes'
# YAML 1.1 parser reads: country="no", enabled="yes"

大整数精度丢失

JavaScript 只能精确表示 2^53 - 1(9007199254740991)以内的整数。大于此值的 JSON 整数(如服务器端为 int64 的 Kubernetes resourceVersion 字段)在 JSON.parse() 解析时会被静默取整,截断后的数字随后出现在 YAML 输出中。这是影响所有基于浏览器的 JSON 工具的根本限制。安全的解决方法是在转换前将大整数以字符串形式存储在 JSON 中。

✗ 错误
// JSON input (resourceVersion is int64 on K8s server)
{"resourceVersion": 9007199254740993}
// JavaScript reads it as: 9007199254740992 (precision lost)
// YAML output will contain the wrong number
✓ 正确
// Store large integers as strings to preserve precision
{"resourceVersion": "9007199254740993"}
// YAML output: resourceVersion: '9007199254740993' (exact)

常见使用场景

Kubernetes 清单
将 kubectl get -o json 或 Kubernetes API 的 JSON 响应转换为 YAML 清单,用于 GitOps 工作流、Kustomize overlay 和 kubectl apply -f 部署。
Docker Compose 文件
将 docker inspect JSON 输出或以编程方式生成的服务配置转换为兼容 docker compose up 和 Docker Stack 部署的 docker-compose.yaml 文件。
Helm Chart Values
将 JSON 配置导出转换为 Helm chart 部署的 YAML values 文件,以清晰的 YAML 语法实现版本控制的基础设施配置。
GitHub Actions 工作流
以 JSON 方式以编程方式构建 GitHub Actions 工作流定义,再转换为 GitHub Actions 运行器所需的 .github/workflows/*.yaml 格式。
OpenAPI 规范
将许多框架(FastAPI、SpringDoc)返回的 JSON 格式 OpenAPI/Swagger 规范转换为 Swagger UI、Redoc 和 API 网关工具首选的 YAML 格式。
配置迁移
将存储在 JSON 中的应用配置(appsettings.json、config.json)迁移到 YAML 格式,适配需要或偏好 YAML 的工具,并可使用注释进行文档说明。

技术细节

符合 RFC 8259 的 JSON 解析
JSON 输入使用浏览器原生的 JSON.parse() 解析,完全符合 RFC 8259 标准。提供准确的语法错误信息(包含位置信息:尽力提供行号和列号),并处理所有 JSON 数据类型:字符串、数字、布尔值、null、数组和对象。
通过 eemeli/yaml Document API(YAML 1.1 Schema)生成 YAML 1.2 输出
YAML 通过 eemeli/yaml 库(v2.8+,CVE 安全)使用 version: '1.1' 的 Document API 生成。这种组合产生 YAML 1.2 兼容的输出,同时应用 YAML 1.1 引号规则 — 即 Norway 问题字符串(yes/no/on/off/y/n)在输出中自动加引号,对 YAML 1.1 和 1.2 解析器均安全。行宽禁用(lineWidth: 0)以保持长字符串完整。
100% 浏览器端 — 无上传,无服务器
所有处理完全在浏览器的 JavaScript 引擎中完成。数据在任何时候都不会通过网络传输。超过 200KB 的输入会自动从实时模式切换到手动模式(需要显式点击「转换」),以保持浏览器响应并防止繁重序列化时主线程阻塞。

最佳实践

DevOps 配置始终使用「自动」引号模式
将 JSON 转换为 Kubernetes、Helm、Ansible、Docker Compose 或 GitHub Actions 使用时,始终使用默认的「自动(Norway 安全)」引号模式。这些工具中的 YAML 1.1 解析器会静默地将裸字符串 yes、no、on、off、y 和 n 误读为布尔值 — 「自动」模式可透明地防止此问题。
云原生工具使用 2 空格缩进
Kubernetes、Docker Compose、GitHub Actions 和 Helm 按惯例均使用 2 空格缩进。在这些文件中使用 4 空格缩进虽然是有效的 YAML,但会与社区示例、自动生成的配置以及团队现有清单产生不一致。
转换前将大整数存储为字符串
Kubernetes 的 resourceVersion、uid 和其他来自 API 服务器的 int64 字段可能超过 JavaScript 的安全整数范围(2^53 - 1)。如需精确数值,在转换前将这些值以 JSON 字符串形式存储。这对包含服务器端生成字段的 kubectl get -o json 输出尤为重要。
先验证 JSON
如果 JSON 来源是手写的,或来自偶尔会产生无效输出的系统(尾随逗号、未加引号的键、注释),请先用 JSON 格式化工具验证。使用我们的 JSON 格式化工具先发现并修复语法错误,再将干净的 JSON 转换为 YAML。
提交版本控制的文件优先使用块状风格
块状风格 YAML 在 Git 中生成清晰、人类可读的 diff,因为每个字段都单独占一行。流式风格(紧凑的内联格式)使 diff 更难阅读和审查。将流式风格保留用于在文档中嵌入短 YAML 片段或需要紧凑输出的工具。

常见问题

如何在线将 JSON 转换为 YAML?
将 JSON 粘贴到上方输入框中,工具会立即在浏览器中将其转换为 YAML,无需点击任何按钮。你可以在「选项」面板中调整缩进(2 或 4 空格)、引号风格(自动、双引号或单引号)和输出风格(块状或流式)。YAML 显示在输出区域后,点击「复制」即可复制到剪贴板,或点击「下载」保存为 .yaml 文件。所有操作均在本地运行 — 数据永不离开你的设备。
什么是 YAML Norway 问题?本工具如何处理?
YAML Norway 问题是指 YAML 1.1 规范中的一个怪癖:裸字符串如 "no"、"yes"、"on"、"off"、"y" 和 "n" 会被解析为布尔值(false/true)而非字符串。这导致了一个著名的真实案例:挪威的 ISO 国家代码 "NO" 在 Ansible playbook 和 Kubernetes 配置中被误读为布尔值 false。YAML 1.2 已修复此问题,但大量生产环境解析器(旧版 Kubernetes、PyYAML、Ansible、Ruby 的 Psych)仍使用 YAML 1.1。本工具的默认「自动」引号模式会自动为所有 Norway 问题字符串加上引号,确保它们能安全地在 YAML 1.1 和 1.2 解析器中往返转换。当检测到 Norway 问题字符串时,警告横幅会列出具体哪些值被自动加引号。
Norway 问题对 Kubernetes 和 DevOps 有何影响?
Kubernetes YAML 清单、Helm chart values、Ansible playbook 和 GitHub Actions 工作流都由历史上使用 YAML 1.1 的工具解析。如果配置键的值为 "no"(例如国家代码、字符串形式的启用标志或自定义布尔字段),YAML 1.1 解析器会将其静默转换为布尔值 false。这会导致极难调试的服务配置错误,因为 YAML 看起来是正确的,但解析后行为却不同。在将 JSON 转换为 Kubernetes 或其他 DevOps 工具链使用时,请始终使用「自动」引号模式以确保安全。
YAML 应该用 2 空格还是 4 空格缩进?
对于 Kubernetes 清单、Helm values、Docker Compose 文件和 GitHub Actions 工作流,使用 2 空格缩进 — 这是这些工具的社区惯例。对于 Ansible playbook(遵循 4 空格惯例)以及团队或组织有明确要求时,使用 4 空格缩进。YAML 完全禁止使用制表符,所有缩进必须使用空格。本工具默认 2 空格,适用于绝大多数云原生场景。
如何用本工具创建 Kubernetes 清单?
如果你有 JSON 格式的 Kubernetes 资源定义(来自 kubectl get deployment my-app -o json、API 响应或 Terraform 资源块),将其粘贴到输入框中。选择 2 空格缩进(默认)和自动引号(默认,可处理 Norway 问题)。YAML 输出立即可用于 kubectl apply -f。也可以点击「下载」将文件保存为 .yaml 扩展名后直接通过 kubectl apply -f - 管道传入。上方的 K8s Deployment 示例展示了完整的 deployment 清单,可加载并修改。
如何将 Docker Compose JSON 转换为 YAML?
将 Docker Compose JSON 粘贴到输入框中。使用 2 空格缩进(Docker Compose 惯例)和块状风格。输出的 YAML 兼容 docker compose up、docker compose config 和 Docker Stack。常见场景是通过 docker inspect 导出运行中的服务栈配置,再将其转换为 compose.yaml 文件。上方的 Docker Compose 示例包含带端口、环境变量、卷和 depends_on 的完整服务定义。
大于 2^53 的 JSON 数字在转换为 YAML 时会丢失精度吗?
会的。这是 JavaScript 的根本限制:JavaScript 的 Number 类型使用 IEEE 754 双精度浮点数,只能精确表示 2^53 - 1(9007199254740991)以内的整数。超过此范围的整数(如 Kubernetes 的 resourceVersion 字段在服务器端是 int64)在 JSON.parse() 解析时会被静默取整。例如,9007199254740993 在 JavaScript 中变成 9007199254740992,这个截断后的数字会出现在 YAML 输出中。此问题影响所有基于浏览器的 JSON 工具,而非仅限于本工具。安全的解决方法是在转换前将大整数以字符串形式存储("resourceVersion": "9007199254740993"),这样就不会有精度损失。
转换器是否保留 JSON 中原始的键顺序?
是的。本工具使用的 eemeli/yaml 库保留插入顺序,与所有现代 JavaScript 引擎(V8、SpiderMonkey、JavaScriptCore)中 JSON.parse() 的行为一致。键在 YAML 输出中的顺序与 JSON 输入中的顺序相同。这对 Kubernetes 清单和 OpenAPI 规范尤为重要,因为字段顺序对可读性和 diff 通常有意义。
何时应该使用 JSON 而非 YAML?
使用 JSON 的场景:构建 API 和 Web 服务(JSON 是通用数据交换格式)、对机器解析速度有要求、需要严格类型安全,或消费方是 JavaScript/TypeScript 应用时。使用 YAML 的场景:编写供人工编辑的配置文件(Kubernetes 清单、CI/CD 流水线、Ansible playbook、Helm values)、需要在配置中添加注释,或可读性比严格性更重要时。一个实用原则:如果机器先写或先读,用 JSON;如果人工写、机器读,用 YAML。
如何在命令行中将 JSON 转换为 YAML?
最流行的方式是结合 yq 和 jq。安装 yq(Mike Farah 版本,非 Python 版本):macOS 使用 brew install yq,Linux 使用 wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/local/bin/yq。然后运行:cat input.json | yq -P 以 YAML 美化输出。也可以:yq -o yaml input.json 或 cat input.json | python3 -c "import sys, json, yaml; yaml.dump(json.load(sys.stdin), sys.stdout, default_flow_style=False)"。对于 Kubernetes,kubectl get deployment my-app -o yaml 可直接从集群 API 转换。
如何在 Python、Node.js 或 Go 中将 JSON 转换为 YAML?
Python:import json, yaml; yaml.dump(json.load(open('input.json')), open('output.yaml', 'w'), default_flow_style=False),使用 PyYAML,或使用 ruamel.yaml 以获得往返保真度。Node.js:import { Document } from 'yaml'; const doc = new Document(JSON.parse(input), { version: '1.1' }); const result = doc.toString({ indent: 2, lineWidth: 0 }) — 这与本工具使用的库和方法相同。Go:import gopkg.in/yaml.v3; json.Unmarshal(jsonBytes, &data); yaml.Marshal(data) — 注意 Go YAML v3 默认使用 YAML 1.1,因此 Norway 问题字符串会被自动加引号。
使用本工具时 JSON 数据会上传到服务器吗?
不会。所有转换完全在浏览器中使用 JavaScript 完成。你的 JSON 数据不会通过网络传输,不会存储在任何服务器上,也不会被记录或分析。这使本工具可以安全地处理 API 密钥、数据库凭证、内部配置文件、生产 Kubernetes 清单以及任何其他敏感数据。工具不会针对输入数据使用 Cookie,也不会将你的粘贴内容传递给任何第三方分析。你可以通过浏览器的「网络」标签来验证 — 粘贴 JSON 时不会触发任何请求。
JSON 输入有文件大小限制吗?
没有硬性文件大小限制,但超过 200KB 的大型输入会自动从实时转换切换为手动模式。在手动模式下,会出现「转换」按钮,只有点击时才会执行转换 — 这避免了每次击键时浏览器主线程被阻塞 200-500ms。对于非常大的 JSON 文件(多兆字节),建议使用 yq 或 jq 等命令行工具以获得更好性能。本工具能高效处理典型的真实负载,如完整的 Kubernetes 命名空间导出、大型 OpenAPI 规范和多服务 Docker Compose 文件。

Base64 解码与编码工具

编码和格式化

免费在线 Base64 解码编码工具。实时转换,支持中文和 Emoji,100% 浏览器端运行,数据不离开设备,无需注册。

JSON 格式化与验证工具

编码和格式化

在浏览器中即时格式化、验证和美化 JSON。免费在线工具,支持语法验证、错误检测、压缩和一键复制,100% 隐私保护。

URL 编码解码在线工具 — 内置 URL 结构解析

编码和格式化

粘贴 URL 即时编码或解码,实时显示结果。内置 URL 解析器将协议、域名、路径、查询参数拆解为可编辑字段。支持 encodeURI 和 encodeURIComponent 双模式切换,检测双重编码问题。纯浏览器端运行,数据不离开设备。

YAML 转 JSON 转换器

编码和格式化

粘贴 YAML 即时获得 JSON,浏览器端实时转换。支持 K8s 清单、OpenAPI 规范、Helm values 和 Ansible playbook,完整展开锚点/别名,100% 隐私保护,数据不离开设备。

进制转换器 — 二进制、十六进制、十进制、八进制互转

转换工具

在线免费进制转换工具,支持二进制、八进制、十进制、十六进制及 2-36 任意进制互转。无需注册,数据不离开浏览器,即时获取结果。

在线压缩 JPEG、PNG、WebP 图片 — 免费批量处理

转换工具

免费在线压缩 JPEG、PNG、WebP 图片,体积缩小高达 80%。浏览器本地处理、图片不上传服务器。支持批量压缩 20 张、质量调节、前后对比预览。无需注册。