JSON a YAML

Convierte JSON a formato YAML

Prueba un ejemplo

Entrada JSON

Salida YAML

Se ejecuta localmente · Es seguro pegar secretos
El YAML aparecerá aquí…

¿Qué es la conversión de JSON a YAML?

La conversión de JSON a YAML transforma datos de JavaScript Object Notation a YAML Ain't Markup Language. Ambos formatos representan las mismas estructuras de datos (objetos, arrays, cadenas, números, booleanos, null), pero usan sintaxis diferente. JSON usa llaves, corchetes y comas. YAML usa indentación y saltos de línea, produciendo una salida que se lee más como texto plano. A diferencia de XML, ninguno de los dos requiere un esquema.

YAML fue diseñado como un formato de serialización de datos amigable para humanos. Es el lenguaje de configuración predeterminado para manifiestos de Kubernetes, archivos Docker Compose, playbooks de Ansible, flujos de trabajo de GitHub Actions y muchos sistemas CI/CD. Cuando tus datos de origen están en JSON y el sistema destino espera YAML, necesitas un conversor que preserve cada valor, tipo y nivel de anidamiento exactamente, sin pérdida de datos.

Convertir JSON a YAML en línea es útil cuando recibes respuestas de API o datos exportados en JSON y necesitas pegarlos en un archivo de configuración YAML. La conversión no tiene pérdidas para todos los tipos JSON estándar: cadenas, números, booleanos, null, arrays y objetos se mapean directamente a sus equivalentes YAML. Los valores que contienen dos puntos o caracteres especiales se entrecomillan automáticamente para que la salida sea YAML válido.

¿Por qué convertir JSON a YAML?

YAML es el estándar para archivos de configuración; JSON es lo que devuelven las APIs. Convertir entre ellos te permite usar el formato adecuado para cada tarea sin reescribir los datos a mano.

Conversión instantánea
Pega JSON y obtén la salida YAML de inmediato. Sin esperas de procesamiento en servidor, sin subida de archivos, sin límites de velocidad.
🔒
Procesamiento con privacidad garantizada
Tus datos nunca salen de tu navegador. La conversión se ejecuta completamente en JavaScript en tu dispositivo, por lo que credenciales, tokens y claves de API permanecen privados.
🔀
Maneja cualquier estructura JSON
Objetos profundamente anidados, arrays grandes, tipos mixtos, cadenas Unicode y caracteres especiales se convierten correctamente. La herramienta preserva la estructura de datos completa.
📋
Sin cuenta ni instalación
Abre la página y empieza a convertir. Sin registro, sin extensiones, sin herramienta CLI que instalar. Funciona en cualquier dispositivo con navegador.

Casos de uso de JSON a YAML

Kubernetes y Docker Compose
Las respuestas de API y las configuraciones exportadas suelen llegar en JSON. Conviértelas a YAML para usarlas directamente en manifiestos de Kubernetes, charts de Helm y archivos Docker Compose.
Configuración de pipelines CI/CD
GitHub Actions, GitLab CI, CircleCI y Azure Pipelines usan YAML. Cuando generas configuraciones de pipeline programáticamente desde JSON, convierte la salida antes de hacer el commit.
Playbooks de Ansible
Ansible espera YAML para playbooks y archivos de inventario. Convierte los exports de inventario JSON de APIs cloud al formato YAML que requiere Ansible.
Inspección de respuestas de API
Las REST APIs devuelven JSON. Convertir una respuesta anidada a YAML hace visible la jerarquía de datos de un vistazo, lo que es más rápido de leer que el JSON cargado de corchetes.
Migración de archivos de configuración
Al migrar una aplicación de configuración basada en JSON (p. ej., tsconfig.json, exports de package.json) a herramientas basadas en YAML, convierte los valores en bloque en lugar de reescribirlos.
Aprendizaje y documentación
Estudiantes y escritores técnicos usan JSON/YAML en paralelo para entender cómo se mapean las estructuras de datos entre formatos. El conversor proporciona ejemplos instantáneos y precisos.

Comparativa JSON vs YAML

JSON y YAML pueden representar los mismos datos, pero su sintaxis y capacidades difieren de formas que importan en casos de uso concretos.

CaracterísticaJSONYAML
SyntaxCurly braces, square brackets, colons, commasIndentation-based, colons, dashes
ReadabilityModerate — nested brackets become denseHigh — visual hierarchy from indentation
CommentsNot allowed (RFC 8259)Supported with #
Multi-line stringsEscape sequences only (\n)Block scalars with | or >
Data typesstring, number, boolean, null, object, arraySame plus date, timestamp, binary
File sizeSlightly larger (brackets + quotes)Slightly smaller (no brackets)
Trailing commasNot allowedNot applicable (no commas)
SpecRFC 8259 / ECMA-404YAML 1.2 (yaml.org)

Trampas de YAML tras la conversión

YAML tiene reglas de análisis que sorprenden a los desarrolladores que vienen de JSON. Estos cuatro problemas causan la mayoría de los bugs al trabajar con la salida convertida.

yes/no sin comillas se convierten en booleanos
Los analizadores YAML 1.1 tratan yes, no, on, off, true y false como booleanos. Si tu JSON tiene un valor de cadena "yes" o "no", la salida YAML puede perder las comillas y ser interpretada como booleano por herramientas antiguas. YAML 1.2 restringe esto solo a true/false.
Los errores de indentación rompen el análisis
YAML usa la indentación para definir la estructura. Un espacio de más o de menos puede cambiar el significado o producir un error de análisis. A diferencia de JSON, donde una coma mal puesta da un error claro, los errores de indentación en YAML pueden cambiar silenciosamente la jerarquía de tus datos.
Los dos puntos en los valores necesitan comillas
Dos puntos seguidos de un espacio (": ") es el separador clave-valor de YAML. Si tu cadena JSON contiene esa secuencia (p. ej., "http://example.com"), la salida YAML debe entrecomillar el valor. La mayoría de los conversores lo gestionan automáticamente.
Archivos con múltiples documentos
YAML admite múltiples documentos en un archivo separados por ---. JSON no tiene equivalente. Al convertir un array JSON de configuraciones, cada elemento puede convertirse en un documento YAML separado o permanecer como elemento del array. Comprueba qué formato espera tu herramienta de destino.

Ejemplos de código

Convertir JSON a YAML de forma programática requiere una librería de serialización YAML en la mayoría de los lenguajes. La librería estándar gestiona el análisis JSON; la salida YAML necesita un paquete adicional.

JavaScript (Node.js)
import YAML from 'js-yaml'

const json = '{"host":"localhost","port":3000,"debug":true}'
const obj = JSON.parse(json)
const yamlStr = YAML.dump(obj, { indent: 2 })
console.log(yamlStr)
// → host: localhost
// → port: 3000
// → debug: true
Python
import json, yaml

json_str = '{"host": "localhost", "port": 3000, "debug": true}'
data = json.loads(json_str)
yaml_str = yaml.dump(data, default_flow_style=False, sort_keys=False)
print(yaml_str)
# → host: localhost
# → port: 3000
# → debug: true
Go
package main

import (
    "encoding/json"
    "fmt"
    "gopkg.in/yaml.v3"
)

func main() {
    jsonStr := `{"host":"localhost","port":3000,"debug":true}`
    var data map[string]interface{}
    json.Unmarshal([]byte(jsonStr), &data)

    yamlBytes, _ := yaml.Marshal(data)
    fmt.Println(string(yamlBytes))
    // → debug: true
    // → host: localhost
    // → port: 3000
}
CLI (yq / jq + Python)
# Using yq (https://github.com/mikefarah/yq)
echo '{"host":"localhost","port":3000}' | yq -P
# → host: localhost
# → port: 3000

# Using Python one-liner
echo '{"host":"localhost","port":3000}' | python3 -c "import sys,json,yaml; print(yaml.dump(json.load(sys.stdin), default_flow_style=False))"

Preguntas frecuentes

¿La conversión de JSON a YAML es sin pérdidas?
Sí, para todos los tipos JSON estándar. Cadenas, números, booleanos, null, arrays y objetos tienen equivalentes directos en YAML. El YAML convertido puede analizarse de nuevo para producir datos idénticos. La única diferencia cosmética es el formato: YAML usa indentación en lugar de llaves.
¿Puede YAML representar todo lo que puede JSON?
Sí. YAML es un superconjunto de JSON (a partir de YAML 1.2). Todo documento JSON válido es también YAML válido. YAML añade funciones que JSON no tiene: comentarios, anclas/alias, cadenas multilínea y tipos escalares adicionales como fechas.
¿Por qué Kubernetes y Docker usan YAML en lugar de JSON?
YAML admite comentarios, que son fundamentales para documentar la configuración de infraestructura. También es más legible para estructuras profundamente anidadas porque la indentación reemplaza el ruido de los corchetes. Kubernetes acepta tanto JSON como YAML, pero la comunidad y toda la documentación oficial usan YAML.
¿Cómo manejo archivos JSON grandes?
Este conversor se ejecuta en tu navegador, por lo que puede manejar archivos de varios megabytes sin problemas. Para archivos muy grandes (50 MB+), usa una herramienta CLI como yq o un script de Python con la librería PyYAML. Estas procesan los datos como un flujo y usan menos memoria.
¿El conversor preserva el orden de las claves?
Sí. El conversor genera las claves YAML en el mismo orden en que aparecen en el JSON de entrada. Los objetos JSON son técnicamente desordenados según la especificación, pero en la práctica los analizadores preservan el orden de inserción, y esta herramienta mantiene ese orden en la salida YAML.
¿Qué versión de YAML sigue la salida?
La salida sigue las convenciones de YAML 1.2. Esto significa que solo true y false se tratan como literales booleanos (no yes/no/on/off). Las cadenas que podrían malinterpretarse se entrecomillan automáticamente para evitar ambigüedad en el análisis.
¿Es seguro pegar claves de API y tokens en esta herramienta?
Sí. La conversión se ejecuta completamente en tu navegador usando JavaScript. No se transmite ningún dato a ningún servidor. Puedes verificarlo abriendo el inspector de red de tu navegador y comprobando que no se realizan peticiones durante la conversión.