Conversor de YAML a JSON
Pega YAML en estilo de bloque abajo para obtener JSON — se admiten
mapeos anidados, listas y escalares; el estilo de flujo {a: 1} / [1, 2, 3], las anclas y los
archivos multi-documento no (mira las preguntas frecuentes para
saber por qué). Nada de lo que pegues se sube a ningún sitio; la
conversión ocurre por completo en tu navegador.
Un conversor honesto sobre lo que no hace
YAML 1.2 completo es una especificación grande — colecciones en
línea de estilo de flujo, anclas y alias, flujos
multi-documento, escalares de bloque multilínea, y más.
Implementar todo eso arriesga lo único que un conversor nunca
debería hacer: producir en silencio una salida incorrecta que no
notas hasta que rompe algo más adelante. Por eso esta herramienta
admite deliberadamente solo el subconjunto de estilo de bloque
que cubre la inmensa mayoría de la configuración escrita a mano —
mapeos anidados clave: valor, listas con prefijo - (con sangría bajo su clave o al mismo nivel que
ella — ambas formas son YAML válido), y escalares planos o entre
comillas. Si tu entrada usa estilo de flujo {a: 1} / [1, 2, 3], un ancla (
&nombre), un alias (*nombre), un
separador multi-documento ---, o un escalar de
bloque |/>, obtendrás un error claro
que indica la línea y la característica — nunca una conversión
rota en silencio.
Ejemplo práctico
Entrada:
name: Alice age: 30 active: true tags: - a - b address: city: Rome zip: "00100"
se convierte en:
{
"name": "Alice",
"age": 30,
"active": true,
"tags": ["a", "b"],
"address": {
"city": "Rome",
"zip": "00100"
}
}
Observa que age se convierte en el número 30 porque se escribió sin comillas, mientras que zip se mantiene como la cadena "00100"
porque estaba entre comillas en el origen — las comillas son
justo lo que le indica a este analizador (y al propio YAML) que
un valor con apariencia numérica es texto, no un número.
Preguntas frecuentes
¿Qué subconjunto de YAML admite realmente esta herramienta?
Mapeos de bloque anidados (una clave seguida de líneas clave: valor con sangría), listas de bloque (elementos - , ya sea a nivel superior o como valor de una clave, con sangría bajo la clave o al mismo nivel que ella — ambas formas son YAML válido), valores escalares planos o entre comillas simples/dobles (cadenas, enteros, decimales, true/false, null/~), y comentarios que empiezan con # (un # dentro de una cadena entre comillas se respeta tal cual). Eso cubre la gran mayoría de archivos de configuración escritos a mano — manifiestos de Kubernetes, docker-compose.yml, flujos de GitHub Actions, configuración de apps — sin fingir implementar la especificación YAML 1.2 completa.
¿Qué características de YAML NO se admiten, y qué pasa si pego una?
El estilo de flujo (objetos {a: 1} o arreglos [1, 2, 3] en línea), anclas (&nombre) y alias (*nombre), archivos multi-documento (separadores ---), escalares de bloque multilínea (| y >), y claves de mapeo que no son texto quedan explícitamente fuera de alcance. En vez de adivinar y arriesgarme a producir un JSON incorrecto en silencio, esta herramienta detecta esas construcciones y muestra un error claro indicando la línea y la característica no admitida, para que sepas exactamente qué reescribir en vez de recibir una salida rota que quizá no notes.
¿Por qué mi YAML falló con un mensaje sobre estilo de flujo o un ancla?
Dar soporte completo a YAML (anclas, alias, colecciones de flujo, flujos multi-documento) es realmente complejo de implementar bien, y un conversor que se equivoca de forma sutil es peor que uno honesto sobre sus límites — un error silencioso al convertir un archivo de configuración puede ser muy difícil de detectar. Si te topas con esto, la solución suele ser mecánica: reescribe {a: 1, b: 2} como dos líneas clave: valor con sangría, o [1, 2, 3] como tres líneas - elemento, y vuelve a convertir.
¿Cómo se trata un valor como "00100" que parece un número?
Exactamente como lo haría el propio YAML: si el valor se escribió entre comillas en tu origen ("00100"), se conserva como la cadena "00100" — las comillas son justamente lo que le indica a YAML (y a este analizador) que es texto, no un número. Si el mismo valor se hubiera escrito sin comillas como 00100, se convertiría en el número 100, porque en YAML plano no hay nada que distinga una cadena con apariencia numérica de un número real sin usar comillas.
¿Se sube mi YAML a algún servidor?
No. El análisis ocurre por completo en tu navegador con un analizador pequeño escrito a mano — nada de lo que pegues se envía, se guarda ni se registra en ningún servidor. Es la misma regla para cada herramienta de este sitio.
¿Esto valida que mi YAML esté bien formado?
Comprueba la estructura que entiende — sangría consistente, comillas emparejadas y líneas clave: valor / - elemento reconocibles — e indica un número de línea cuando algo no se puede analizar. No es un validador completo de YAML 1.2, ya que solo implementa el subconjunto de estilo de bloque descrito arriba; un archivo que sea YAML válido pero use una característica no admitida se rechazará con una explicación, en vez de aceptarse o procesarse mal en silencio.