Saltar al contenido principal

Convertir JSON a YAML (JSON to YAML)

Ejecuta Convertir para ver el resultado aquí.

Convierte JSON a YAML legible manteniendo intactos todos los valores.

Qué hace

JSON to YAML reescribe JSON como YAML, el formato basado en sangría habitual en los archivos de configuración. La salida es YAML en bloques, sencillo: los nombres y los textos no llevan comillas salvo que YAML los leyera como otra cosa, el texto con saltos de línea se escribe como un bloque, y cada número conserva su texto exacto.

O conserva tu estructura y todos los valores, o se niega y te explica por qué.

Qué admite

  • Cualquier valor JSON puede ser el nivel superior.
  • Los objetos se escriben como una línea nombre: valor por miembro, y las listas como una línea - valor por elemento, anidadas con una sangría de 2 o 4 espacios (nunca tabuladores).
  • Los nombres y los textos se escriben sin comillas siempre que es seguro. Solo llevan comillas cuando YAML podría leerlos como otra cosa: «true», «null», «yes», «1.10», «2026-09-29», una cadena vacía, un texto con un espacio en cualquiera de los extremos, o un texto que contiene «: » o empieza por un carácter que significa algo en YAML. Las comillas son simples, y una comilla simple dentro del texto se duplica. Las letras acentuadas y los emojis se escriben tal cual.
  • El texto con un salto de línea se escribe como un bloque que empieza por |, para que siga siendo legible; un signo menos después de la barra (|-) significa que el texto no termina con un salto de línea. El texto con un tabulador u otro carácter de control se escribe entre comillas dobles, con escapes como \t y \u0001.
  • El objeto vacío se escribe {}, la lista vacía [] y la cadena vacía ''.
  • Los números, true, false y null se escriben sin comillas. Los números se copian exactamente: 9007199254740993, 12345678901234567890, 2.370, 1e5 y 1e400 salen tal como se escribieron, y -0 sigue siendo -0.
  • Un único documento YAML, sin comentarios, anclas, etiquetas ni directivas.

Conviene saber

  • Versión de YAML: la salida sigue las reglas de YAML 1.2 y no incluye la línea %YAML 1.2. Los lectores que siguen las reglas más antiguas de YAML 1.1 leen un número con exponente y sin punto decimal, como 1e5, como texto en lugar de número. Si tu programa usa YAML 1.1, revisa los números escritos así.
  • Números muy precisos: un número con más dígitos de los que caben en un valor de doble precisión, como 0.12345678901234567890123456789, se mantiene exacto en el texto YAML. Los programas que leen los números como valores de doble precisión, que son la mayoría, lo redondean al cargar el archivo. El texto en sí nunca se redondea.
  • Un nombre de más de 1.024 caracteres (contados tal como se escriben, con comillas y escapes) se rechaza, porque YAML solo admite nombres simples hasta esa longitud. La herramienta nunca acorta un nombre.
  • Un nombre repetido dentro de un objeto, o una cadena con un escape subrogado sin pareja, se rechaza en lugar de adivinarse.
  • El resultado puede ser mayor que el JSON, sobre todo con un anidamiento profundo y una sangría de 4 espacios. Si supera el límite de tamaño, se rechaza con una vista previa incompleta (mira abajo).

Cómo usarla

  1. Pega o escribe tu JSON en el cuadro de entrada. No se ejecuta nada mientras escribes.
  2. Elige la sangría («2 espacios» o «4 espacios») y pulsa «Convertir».
  3. Lee el YAML junto a tu entrada. Si se rechaza la conversión, el mensaje explica el motivo.
  4. Pulsa «Copiar» para poner el YAML en el portapapeles, o «Descargar» para guardarlo como converted.yaml.

Ejemplos

YAML sencillo

Pega este JSON y pulsa «Convertir». Los nombres y los textos salen sin comillas, la lista se convierte en una columna de líneas que empiezan por -, el objeto vacío se escribe {}, y el texto con un salto de línea pasa a ser un bloque que empieza por |-.

{ "name": "Ada", "tags": ["json", "yaml"], "note": "line one\nline two", "extra": {} }
name: Ada
tags:
  - json
  - yaml
note: |-
  line one
  line two
extra: {}

Nombres repetidos

El nombre «port» aparece dos veces en el mismo objeto, así que la herramienta se niega en lugar de elegir uno de los dos valores.

{"port": 80, "port": 8080}

Un objeto repite el nombre de un miembro. Cada programa decide qué valor prevalece, así que se rechazó la conversión en lugar de conservar un valor y descartar el otro. Haz los nombres únicos e inténtalo de nuevo.

Texto que parece otra cosa

Pega este JSON y pulsa «Convertir». «1.10» y «yes» reciben comillas simples, porque sin ellas YAML leería un número y un valor sí/no. El número 8080 no lleva comillas porque de verdad es un número, y «São Paulo» no las lleva porque es seguro tal cual.

{"version":"1.10","enabled":"yes","port":8080,"city":"São Paulo"}
version: '1.10'
enabled: 'yes'
port: 8080
city: São Paulo

Números exactos

Los números se copian exactamente como se escribieron, así que 1e5, 2.370 y 12345678901234567890 no se reescriben, y -0 conserva su signo menos. Ten presente la nota sobre YAML 1.1 más abajo para 1e5.

[1e5, 12345678901234567890, 2.370, -0]
- 1e5
- 12345678901234567890
- 2.370
- -0

Límites y privacidad

Límites de tamaño

  • Entrada: hasta 2.000.000 bytes de texto en UTF-8 (unos 2 MB). Las letras acentuadas y los emojis ocupan más de un byte cada uno. Una entrada mayor se rechaza.
  • Resultado: también hasta 2.000.000 bytes. Si el resultado completo fuera mayor, la herramienta muestra solo una vista previa incompleta de los primeros 100.000 bytes, y esa vista previa no se puede copiar ni descargar.
  • Anidamiento: hasta 256 niveles de objetos y listas dentro de otros. Un JSON más profundo se rechaza porque supera lo que procesa la herramienta.
  • Tiempo: una ejecución que tarda más que su límite de tiempo se detiene. Prueba con una entrada más pequeña.

Tu privacidad

El texto que escribes o pegas, o abres desde un archivo local, se procesa localmente en tu navegador, en un Web Worker dedicado. Nunca se sube ni se envía al servidor (un archivo que abres se lee solo en tu navegador), y no se escribe en el almacenamiento, en cookies ni en la barra de direcciones.

«Copiar» pone el resultado en el portapapeles y «Descargar» lo guarda como archivo, pero solo cuando pulsas el botón. El archivo se crea en tu navegador, así que no se sube nada.

Para conocer todos los detalles, consulta la Política de privacidad

Herramientas y páginas relacionadas

Tu texto se queda en la página cuando cambias de herramienta en la misma pestaña, así que puedes probar el mismo texto en otra. Recargar o cerrar la pestaña lo termina.

Todas las herramientas