JSON, YAML o XML: cuál elegir según el uso
Una regla corta para elegir, el mismo dato en los tres formatos para ver las diferencias y las herramientas para validar cada uno sin subir tus archivos.
Usa JSON para intercambiar datos entre programas, como en una API; YAML para archivos de configuración que lee y edita una persona; y XML para documentos con estructura rica, validación estricta o sistemas heredados. Los tres guardan la misma información, y la elección depende de quién lo lee y qué se espera de él. Para probar cualquiera de ellos sin subir tus archivos, puedes formatear y validar JSON, formatear YAML o formatear XML en el navegador.
El mismo dato en los tres formatos
Una persona con nombre, edad y dos idiomas:
JSON:
{"nombre": "Ana", "edad": 30, "idiomas": ["es", "en"]}YAML:
nombre: Ana
edad: 30
idiomas:
- es
- enXML:
<persona><nombre>Ana</nombre><edad>30</edad><idiomas><idioma>es</idioma><idioma>en</idioma></idiomas></persona>La diferencia salta a la vista: JSON es compacto, YAML se parece a un esquema escrito a mano y XML repite el nombre de cada etiqueta al abrirla y al cerrarla. Contando los caracteres de los ejemplos, el JSON ocupa 54, el bloque YAML 43 y el XML 111. El tamaño no es el criterio principal, pero explica por qué XML pesa tanto en registros pequeños.
Comparación rápida
| JSON | YAML | XML | |
|---|---|---|---|
| Comentarios | No | Sí, con # | Sí, con <!-- --> |
| Tipos de datos | Texto, número, booleano, nulo, lista y objeto | Los mismos, con reglas de inferencia | Todo es texto salvo que un esquema diga otra cosa |
| Lectura humana | Media | Alta | Baja si el documento es grande |
| Tamaño | Compacto | Compacto | Más voluminoso |
| Validación | Con esquemas aparte | Con esquemas aparte | Esquemas XSD y validación de sintaxis estricta |
| Uso típico | APIs y datos entre sistemas | Configuración (compose, CI) | Documentos, facturas, sistemas heredados |
YAML 1.2 se diseñó como un superconjunto de JSON, por lo que casi todo JSON válido también es YAML válido. Eso permite pasar de uno a otro, y la herramienta de YAML tiene un modo de YAML a JSON y otro de JSON a YAML.
¿Cuándo conviene cada uno?
- JSON si el consumidor es un programa y quieres una estructura sin ambigüedades. Es el formato de la mayoría de las APIs web. Si tu JSON no se lee, el formateador marca el error con línea y columna. Sobre el cuidado con herramientas externas, mira por qué importa la privacidad al formatear JSON.
- YAML si una persona va a editar el archivo a mano y necesitas comentarios. Su punto débil es la indentación y los valores que cambian de tipo sin avisar, como se explica en errores de YAML.
- XML si el documento mezcla texto con estructura, necesitas validar contra un esquema estricto o debes interoperar con un sistema que ya lo exige. Un caso cercano: los comprobantes fiscales digitales (CFDI) de México son XML. La herramienta de XML da formato, valida la sintaxis y, si le pegas un CFDI, muestra un resumen local de sus datos, sin comprobar el sello ni el estatus ante el SAT. Más detalle en XML: estructura, validación y errores comunes.
Los errores que invita cada formato
- JSON: comas sobrantes al final, comillas simples en los textos y comentarios, que no se admiten.
- YAML: indentación inconsistente, tabulaciones y valores sin comillas como
NOo1.10que cambian de tipo. - XML: etiquetas sin cerrar o mal anidadas, y un
&o un<sueltos en el texto, que hay que escapar.
Una nota de seguridad
El análisis de archivos también es donde se esconden problemas de seguridad. Si lees YAML o XML de una fuente que no controlas, usa el modo de carga segura de tu biblioteca. Algunas bibliotecas de YAML pueden construir objetos arbitrarios a partir de un documento si usas su cargador inseguro, y los analizadores de XML pueden seguir entidades externas si no se configuran para evitarlo. Revisa la documentación de tu analizador antes de darle archivos que no son tuyos.
¿Y CSV?
Para datos en tabla, CSV suele ser lo más simple. Si dudas entre CSV y JSON, lee CSV a JSON o JSON a CSV: cuándo usar cada formato.
Cómo pasar de un formato a otro
Entre YAML y JSON, la conversión es directa y la herramienta la hace en ambos sentidos. Ten en cuenta que al convertir YAML a JSON los comentarios se pierden, porque JSON no los admite. Entre XML y los otros dos no hay una correspondencia uno a uno, por los atributos y los textos mezclados con etiquetas, y la herramienta de XML formatea y valida pero no convierte.
Archivos conocidos, como referencia
package.jsonytsconfig.jsonson JSON.- Los archivos de Docker Compose, los flujos de GitHub Actions y los manifiestos de Kubernetes suelen ser YAML.
sitemap.xml, los feeds RSS y las partes internas de los documentos de Office son XML.
Cuando una herramienta ya impone el formato, sigue el suyo. Elegir solo importa cuando diseñas un archivo o una API nuevos.
Una regla corta
Si lo van a leer programas, JSON. Si lo va a editar una persona, YAML. Si el documento necesita estructura estricta o el otro lado ya usa XML, XML. Y evita mezclar: elige uno por tipo de uso dentro de un mismo proyecto.
Preguntas frecuentes
¿Cuál es la diferencia entre JSON, YAML y XML?
JSON es compacto y lo usan las APIs. YAML es más legible y admite comentarios, por lo que se usa para configuración. XML es más voluminoso y estricto, y se usa para documentos y sistemas heredados.
¿Cuándo usar YAML en lugar de JSON?
Cuando una persona va a editar el archivo a mano y quieres poder poner comentarios. Para intercambio entre programas, JSON es más seguro, porque YAML tiene reglas de tipos que pueden sorprender.
¿YAML es lo mismo que JSON?
YAML 1.2 es un superconjunto de JSON, así que casi todo JSON válido es YAML válido, pero YAML añade comentarios, otra sintaxis y reglas de tipos propias.
¿Se puede convertir JSON a YAML y al revés?
Sí, y la herramienta lo hace en ambos sentidos. Al pasar de YAML a JSON se pierden los comentarios.
¿Sirve XML todavía?
Sí, en documentos con estructura rica, validación estricta y sistemas existentes, como los comprobantes fiscales digitales en México.
¿Se suben mis archivos a algún servidor?
No. Las herramientas de JSON, YAML y XML procesan en tu navegador.
Convierte entre YAML y JSON
Formatea, valida y pasa de YAML a JSON o de JSON a YAML en el navegador. Gratis y sin registro.
Abrir Formateador YAML →Herramientas relacionadas
- Formateador JSON: valida y da formato, con el error en línea y columna.
- Formateador YAML: formatea y convierte entre YAML y JSON.
- Formateador XML: formatea, valida y resume un CFDI de forma local.
- CSV a JSON: pasa datos de tabla a JSON.
También te puede interesar: 13 herramientas para developers que respetan tu privacidad y minificar HTML, CSS y JS.