IA en tu dispositivo: profesional y privado.

Convertidor de JSON a YAML

JSON a YAML con comillas que resisten a cualquier analizador

  • Sin subida
  • Verificado de ida y vuelta
  • Comillas seguras para PyYAML

Suelta aquí un archivo JSON

JSON, NDJSON o JSON Lines, hasta 10.0 MB

Salida
Analizador de destino
Analizador de destino

Portable entrecomilla los valores que un analizador YAML 1.1 o con marcas de tiempo leería como otro tipo.

Formato
2 espacios
Estilo de null

Vuelve a leer el YAML con un analizador independiente y lo compara con tu JSON.

Estilo de salida
Estilo de comillas
0 (desactivado)
Pro

Gratis: 1 archivo, hasta 10.0 MB. Pro: hasta 50 archivos y un ZIP.

Cómo convertir JSON a YAML

  1. 1

    Pega o sube JSON

    Pega JSON en el editor o suelta un archivo .json, .ndjson o .jsonl en la página. No se sube nada: el archivo se lee en tu dispositivo.

  2. 2

    Elige el analizador de destino

    Portable es la opción por defecto y entrecomilla todo valor que un analizador YAML 1.1 o con resolución de marcas de tiempo leería como otro tipo. Elige YAML 1.2 para comillas mínimas, o entrecomillar todo cuando no sepas quién lo leerá.

  3. 3

    Ajusta el formato

    Elige la sangría, cómo se escribe null y si el documento empieza por ---. La vista previa se actualiza con cada cambio.

  4. 4

    Convierte y comprueba el resultado

    Pulsa Convertir a YAML. El resultado se vuelve a leer con un analizador independiente y se compara con tu JSON original, y la insignia dice si todos los valores sobrevivieron.

  5. 5

    Descarga o copia

    Descarga el archivo .yaml o cópialo al portapapeles. Para el camino inverso está la herramienta YAML a JSON.

Qué ofrece esta herramienta de JSON a YAML

Este convertidor gratuito transforma JSON en YAML en tu dispositivo. Pega o sube JSON, elige el analizador para el que se escribe tu YAML y el convertidor entrecomilla exactamente los valores que de otro modo cambiarían de tipo por el camino. Cada resultado se vuelve a leer con un analizador independiente y se compara con tu JSON original antes de ofrecértelo. El JSON inválido se localiza carácter a carácter, con cursor y una salida.

  • Comillas para un analizador concreto — Elige YAML 1.2, portable o entrecomillar todo. Portable es la opción por defecto y es segura con PyYAML, js-yaml, Psych de Ruby y Go.
  • Verificación de ida y vuelta — El YAML se vuelve a leer con un analizador independiente y se compara valor por valor con tu JSON. La insignia nombra la primera ruta que difiere, si la hay.
  • Cadenas multilínea legibles — Una cadena con saltos de línea se escribe como literal de bloque, de modo que scripts, certificados y SQL siguen legibles en vez de colapsar en secuencias de escape.
  • NDJSON dentro, YAML multidocumento fuera — Un valor JSON por línea se convierte en un documento YAML por línea de entrada, separados por ---. Las líneas en blanco se omiten.
  • Errores localizados en tu dispositivo — Mensaje, línea, columna, un cursor bajo el carácter exacto y qué se esperaba allí, idénticos en todos los navegadores en lugar de lo que informe el analizador del navegador.
  • Nada sale de tu dispositivo — El archivo se lee, analiza, convierte y verifica localmente. No hay paso de subida, así que no hay nada a lo que renunciar.

¿Qué analizador leerá tu YAML?

Este es el ajuste que decide si la conversión es correcta, y es la razón de ser de esta herramienta. YAML no tiene una única forma acordada de leer una palabra sin comillas: el mismo archivo significa cosas distintas para analizadores distintos, y un convertidor que pone comillas mínimas apuesta por cuál usarás tú.

  • Portable (por defecto) — Entrecomilla la unión de todo lo que reinterpretarían un analizador YAML 1.2 básico, uno YAML 1.1 y uno con resolución de marcas de tiempo. Algo más de comillas; los mismos valores en todas partes.
  • YAML 1.2 — Comillas mínimas, según el esquema básico de YAML 1.2. Correcto si —y solo si— quien lea el archivo es un analizador 1.2 sin resolución de marcas de tiempo. La herramienta cuenta e informa igualmente los valores que un lector 1.1 cambiaría.
  • Entrecomillar todo — Toda cadena se entrecomilla. Verboso, inequívoco y la respuesta correcta cuando no tienes idea de qué leerá el archivo.
  • Quién lee YAML 1.1 — PyYAML y por tanto Ansible y SaltStack, Psych de Ruby y una larga cola de herramientas construidas sobre ellos. No es un rincón heredado: es buena parte del mundo de la infraestructura.

Los valores que YAML cambia en silencio

No son cadenas exóticas. Son las que la gente guarda de verdad en archivos de configuración, y cada una vuelve como un tipo distinto de un analizador al que no se le ha dicho otra cosa. El modo portable las entrecomilla todas; el modo YAML 1.2 solo entrecomilla la primera fila y te dice cuántas de las demás dejó sin comillas.

  • true, false, null, 12, 1.5, 0x1F — Reinterpretados por todos los analizadores, incluido YAML 1.2. Siempre entrecomillados, en todos los modos.
  • yes, no, on, off, y, n — Cadenas bajo YAML 1.2. Booleanos bajo YAML 1.1: un valor de configuración «no» se convierte en false en Ansible.
  • 0755, 0644 — Un permiso de archivo, y un entero octal con cero inicial para un analizador YAML 1.1: 0755 pasa a ser 493.
  • 1:30, 12:30:45 — Para ti una duración o una hora; para un analizador YAML 1.1, enteros en base 60, que lee 1:30 como 90.
  • 2024-01-01 — Un objeto de fecha para cualquier cosa con resolución de marcas de tiempo, incluido el esquema por defecto de js-yaml, PyYAML y yaml.v3 de Go.
  • 1_000, 0b1010 — Cadenas según la letra de la especificación 1.2, enteros para js-yaml. Se entrecomillan igualmente, porque lo que importa es el lector y no la especificación.

Cómo los tipos de JSON pasan a YAML

La correspondencia es directa y la estructura de tu documento se conserva exactamente. Nada se reordena, nada se pierde y ninguna clave se renombra.

  • Objetos — Bloques sangrados de clave y valor. El orden de las claves se conserva salvo que pidas claves ordenadas.
  • Arreglos — Listas con guion. Una lista dentro de un mapa puede ir sangrada o alineada con la columna de la clave.
  • Objeto y arreglo vacíos — Se escriben {} y [] en vez de dejarse en blanco, porque un valor en blanco se vuelve a leer como null y cambiaría la forma en silencio.
  • null — Se escribe null por defecto, o como virgulilla, o vacío. La forma vacía solo se usa para valores de mapa: mira la nota sobre el formato más abajo.
  • Cadenas con saltos de línea — Literales de bloque, con el indicador de recorte elegido a partir de los saltos finales para que la cadena vuelva exactamente igual.
  • Claves — Entrecomilladas con las mismas reglas que los valores. Una clave «n» o «yes» se entrecomilla, porque sin comillas se convierte en una clave booleana en un lector YAML 1.1.

Cadenas multilínea y valores largos

Un script de shell dentro de un ConfigMap, un certificado PEM, una sentencia SQL: son los valores que más interesa mantener legibles, y los que un convertidor ingenuo destroza convirtiéndolos en una sola línea de escapes.

  • Literales de bloque — Una cadena multilínea se escribe tras un | para que las líneas sigan siendo líneas. El indicador de recorte se elige a partir de los saltos finales, de modo que no se gana ni se pierde ninguno.
  • Cuando no se puede usar un bloque — Una cadena cuya primera línea esté en blanco o sangrada, o que contenga un retorno de carro o un carácter de control, se entrecomilla en su lugar. Esos casos necesitan un indicador de sangría explícito, y equivocarse es corrupción silenciosa.
  • Ajustar líneas largas (Pro) — Una columna de ajuste pliega los valores largos con un salto de línea escapado, la única forma de ajuste en YAML que es exactamente reversible. Los escalares planos y de bloque plegados no lo son, así que un valor que necesita ajuste se entrecomilla primero.
  • Sin plegado accidental — Con el ajuste desactivado —lo predeterminado— las cadenas largas permanecen en una sola línea, así que nada se reflowa al salir.

NDJSON y YAML de varios documentos

NDJSON —también llamado JSON Lines— es un valor JSON por línea, y es lo que producen las canalizaciones de registros, las exportaciones de bases de datos y jq -c. Como archivo completo no es JSON válido, así que la mayoría de convertidores lo rechazan.

  • Se detecta de dos formas — Por una extensión .ndjson o .jsonl, y por el contenido: un archivo que no es un único documento JSON válido pero cuyas líneas no vacías se analizan cada una por su cuenta.
  • Un documento por registro — Cada valor se convierte en su propio documento YAML, separados por ---, que es como todo analizador lee un flujo YAML.
  • Un arreglo de una línea no es NDJSON — [1,2] es un documento JSON válido, así que se convierte como uno solo. Precisamente por eso se intenta primero la lectura de documento único.
  • Una línea defectuosa detiene la conversión — Se informa del número de línea en lugar de producir un flujo convertido a medias con registros descartados en silencio.

Opciones de formato y disposición

Ninguna de estas cambia lo que significa el documento. Todas cambian cómo se lee, y la vista previa se actualiza según mueves cada una.

  • Sangría — De 1 a 8 espacios por nivel. Dos es lo predeterminado y lo que espera la mayoría de herramientas YAML.
  • Estilo de null — null, una virgulilla o vacío. La forma vacía se usa solo para valores de mapa: una entrada de lista vacía al final de una lista anidada la leen de forma distinta distintos analizadores, así que ahí se escribe como virgulilla.
  • Marcador de documento — Empezar el archivo con ---. Entre documentos de un flujo se emite siempre, independientemente de este ajuste.
  • Ordenar claves (Pro) — Claves alfabéticas, para diffs que no se mueven cuando un productor reordena su salida.
  • Estilo de comillas (Pro) — Comillas simples o dobles donde hacen falta. Las simples recurren a las dobles con cualquier cadena que no puedan representar.
  • Sangría de listas (Pro) — Sangrar una lista bajo su clave o alinearla con la columna de la clave: el estilo de los manifiestos de Kubernetes, y cuatro columnas menos en cada lista.
  • Estilo multilínea (Pro) — Literales de bloque legibles, o una única línea entrecomillada con escapes.

Verificación de ida y vuelta

Todos los demás convertidores de esta categoría te entregan YAML y te dejan descubrir más tarde si sigue significando lo que significaba tu JSON. Este lo comprueba antes de que descargues nada.

  • Un lector independiente — El resultado lo analiza una implementación distinta de la que lo escribió. Un escritor comprobado por su propio lector no demuestra nada: ambos compartirían cualquier malentendido.
  • Comparado valor por valor — Contra tu JSON original, no contra una copia reserializada. También se comparan los tipos, así que una cadena que vuelve como fecha falla.
  • Se nombra la primera diferencia — Por ruta —/servers/3/started— con ambos tipos y ambos valores, en vez de un escueto «verificación fallida» sobre un archivo de 40.000 líneas.
  • Leído contra el analizador que elegiste — La verificación usa el esquema de tu destino, así que verificado siempre significa verificado para el lector para el que dijiste escribir.
  • Se puede desactivar — Cuesta una segunda lectura del documento. En un archivo grande de forma conocida quizá no lo quieras; el ajuste es tuyo y el resultado se marca como desactualizado si lo cambias.

Impulsado por algoritmos de procesamiento optimizados.

¿Por qué convertir JSON a YAML?

YAML es el formato de configuración del mundo de la infraestructura, y JSON es lo que emite casi todo. Convertir entre ambos es como los datos de una API, una base de datos o una aplicación acaban en un manifiesto de Kubernetes, un archivo Compose, un flujo de GitHub Actions o un playbook de Ansible.

  • Flujos de configuración — Reutiliza datos con forma de JSON en Kubernetes, Docker Compose, GitHub Actions, Ansible y cualquier otra cosa que lea YAML.
  • Legibilidad — YAML prescinde de llaves y comillas, así que un documento anidado es más fácil de leer y de revisar en un pull request.
  • Comentarios — YAML admite comentarios y JSON no, así que convertir suele ser el primer paso para transformar datos generados en algo que una persona mantendrá.
  • Aquí la corrección importa más — Un archivo de configuración se ejecuta. Una cadena de versión que se vuelve número, o un permiso que se vuelve octal, no falla con estrépito: se despliega.
  • Privacidad — No se sube nada, así que una respuesta de API con credenciales o datos de clientes nunca sale de la máquina donde se abrió.

Preguntas frecuentes

¿Cómo funciona este convertidor de JSON a YAML?

Pega JSON o suelta un archivo .json, elige el analizador para el que escribes y pulsa Convertir a YAML. Tu JSON se analiza y se reescribe como YAML en tu dispositivo: los objetos pasan a bloques de clave y valor, los arreglos a listas con guion y las cadenas multilínea a literales de bloque legibles. Después puedes copiar el resultado o descargarlo como archivo .yaml.

¿Están seguros mis datos JSON?

Sí. El archivo se lee y se convierte en tu dispositivo, y nada se envía, guarda ni registra. Una vez cargada la página puedes trabajar sin conexión, lo que hace segura la herramienta para configuraciones privadas, secretos o datos propietarios. No hay paso de subida al que renunciar, porque no hay subida.

¿Por qué el convertidor entrecomilla 2024-01-01 y yes?

Porque de lo contrario un analizador YAML no te devolvería una cadena. Bajo YAML 1.1 —que siguen usando PyYAML, Ansible y Psych de Ruby— yes, no, on y off son booleanos, 0755 es el número 493 y 1:30 es el número 90. Con cualquier analizador con resolución de marcas de tiempo, incluido el esquema por defecto de js-yaml, 2024-01-01 es un objeto de fecha. El destino Portable entrecomilla exactamente esos valores y ninguno más, de modo que sale lo que entró.

¿Qué es la verificación de ida y vuelta?

Después de escribir el YAML se vuelve a leer con un analizador independiente y se compara valor por valor con tu JSON original. La insignia dice verificado cuando todos los valores coincidieron, y nombra la primera ruta que difiere cuando no —por ejemplo /servers/3/started, cadena frente a fecha. Ningún otro convertidor de JSON a YAML en línea comprueba su propia salida.

¿Cómo se asignan los tipos de JSON a YAML?

Cadenas, números, booleanos y null se trasladan directamente. Los objetos pasan a bloques sangrados de clave y valor y los arreglos a listas con guion, de modo que la estructura de tu JSON se conserva exactamente. Un objeto vacío se escribe {} y un arreglo vacío [], porque un valor en blanco se volvería a leer como null. Las cadenas con saltos de línea pasan a literales de bloque, que siguen siendo legibles en vez de quedar escapadas en una sola línea.

¿Puedo convertir NDJSON o JSON Lines?

Sí. Un archivo .ndjson o .jsonl —un valor JSON por línea, que es lo que producen la mayoría de canalizaciones de registros y exportaciones de bases de datos— se convierte en un flujo YAML de varios documentos, separados por ---. Las líneas en blanco se omiten. También se comprueba un archivo que no se llame .ndjson, así que un archivo JSON Lines con nombre .json se convierte igualmente bien.

¿Puedo cambiar la sangría, y qué pasa si mi JSON no es válido?

La sangría es ajustable de 1 a 8 espacios y solo afecta a la legibilidad: los datos no cambian. Si el JSON no puede analizarse, la herramienta muestra el mensaje, la línea y la columna, un cursor bajo el carácter exacto y qué se esperaba allí, con enlaces al Formateador y al Validador de JSON. Esa posición se calcula en tu dispositivo, así que es idéntica en todos los navegadores en lugar de depender de lo que informe el analizador del tuyo.

¿Es gratis y funciona en móvil y sin conexión?

Sí. Los archivos de hasta 10 MB se convierten gratis, y todo ajuste que decide si la salida es correcta —el analizador de destino, la sangría, el estilo de null, el marcador de documento y la verificación— es gratuito. Funciona en cualquier navegador moderno, incluidos móviles y tabletas, y sigue funcionando sin conexión una vez cargado. Pro añade estilo de salida, archivos más grandes y convertir varios archivos en un solo ZIP.

4.8de 5

de 78 valoraciones

Valora esta herramienta

Toca una estrella — es un segundo