Convertir YAML a JSON y Viceversa
Convierte archivos YAML a JSON o JSON a YAML al instante — herramienta gratis para desarrolladores.
Tu archivo se queda en tu equipo
Nada que borrar después
Seguro para pipelines y secretos
Funciona en todo navegador moderno
Cómo funciona
- 1
Pega YAML o JSON
Una definición de pipeline, un manifiesto de Kubernetes, un archivo compose, un archivo de idioma o una carga de API.
- 2
Lee los avisos
Valores retipados, comentarios perdidos y claves duplicadas se listan antes de que te lleves la salida.
- 3
Copia el resultado
Llévalo a un repositorio, un cuerpo de petición, un archivo de configuración o un juego de pruebas.
Por qué usar esta herramienta
Los tipos adivinados se señalan
Todo valor sin comillas que YAML leería como booleano, número o fecha se te muestra antes de convertir.
El problema noruego se detecta
Un NO suelto es mucho más veces un código de país que la palabra falso, y se te dice cuál te ha tocado.
Los ceros iniciales sobreviven
Teléfonos, códigos postales e identificadores conservan el cero que una lectura octal se comería.
La pérdida de comentarios se informa
JSON no tiene comentarios, así que se te dice cuántos desaparecerán en vez de descubrirlo en la revisión.
Anclas y alias explicados
Los nodos compartidos se expanden camino de JSON, y la expansión se muestra: nada cambia a tus espaldas.
Nada sale del navegador
Archivos de pipeline, manifiestos y playbooks se convierten en esta página y no se suben a ninguna parte.
YAML adivina qué significan tus valores, y esas adivinanzas tienen víctimas célebres
JSON te pide que digas qué es un valor: las comillas hacen una cadena, los dígitos sueltos hacen un número y nada es ambiguo. YAML, en cambio, infiere, y esa inferencia es la mayor fuente de sorpresa del formato. El caso más conocido tiene nombre propio: el problema noruego. Escribe una lista de códigos de país y la entrada `NO` no llega como la cadena que Noruega espera; bajo las reglas de YAML 1.1 llega como el booleano falso, porque la especificación enumera `y`, `yes`, `n`, `no`, `on`, `off`, `true` y `false` en todas sus mayúsculas como literales booleanos. La misma regla convierte el `ON` de Ontario en verdadero, convierte una columna de respuestas `Y` y `N` en booleanos y convierte el `NO` de un conjunto de datos de química en un falso. Empeora porque los analizadores discrepan: YAML 1.2 redujo la lista a `true` y `false`, pero mucho software sigue implementando 1.1 o algo intermedio, así que el mismo archivo significa cosas distintas en Python, en Go y en Ruby. El arreglo es un carácter de comilla, y lo difícil es saber dónde hace falta. Para eso están los avisos de aquí.
Números que no son los números que escribiste
La segunda familia de sorpresas es más silenciosa que la primera, porque produce un valor en lugar de un error. Un cero inicial tiene significado en YAML 1.1: `0755` es octal y vale 493, lo que está bien si pensabas en permisos de archivo y mal en cualquier otro caso. Un teléfono escrito como `0612345678` deja por tanto de ser esa cadena, y un identificador que empieza por `08` o `09` ni siquiera es octal válido, así que los analizadores se reparten entre lanzar un error y volver a una cadena: el mismo archivo carga limpio en una máquina y falla en otra. Los números de versión sufren de otro modo: `1.10` es un decimal, y los decimales no conservan ceros finales, así que el valor vuelve como 1.1 y tu fijación de dependencia apunta ahora a otra publicación. YAML 1.1 también entendía el sexagesimal, y por eso `12:30:00` podía llegar como 45000 y una dirección MAC convertirse en un entero enorme. Y un escalar con aspecto de fecha como `2026-07-31` se analiza como objeto fecha en vez de como cadena, que es por lo que un campo de versión o una referencia de factura llega a veces como marca de tiempo en un lenguaje y como texto en otro.
En español la palabra “no” es una respuesta, y YAML la lee como falso
El problema noruego se cuenta casi siempre con códigos de país, pero en español muerde por otro sitio y con más frecuencia: el idioma mismo. `no` y `sí` son respuestas perfectamente normales en cualquier archivo de datos, así que una fila `acepta_publicidad: no` no guarda la palabra que escribiste, guarda un booleano falso, y `respuesta: no` deja de distinguirse de `respuesta: false`. Eso parece inofensivo hasta que necesitas los tres estados que el formulario tenía —sí, no y sin responder— y descubres que el tercero se ha vuelto indistinguible del segundo, porque una clave sin valor también es null. Hay un detalle que empeora esto en español y conviene decirlo: `sí` con tilde no está en la lista de literales de YAML, así que se queda como texto, mientras que `si` sin tilde tampoco lo está pero `yes` sí. El resultado es un archivo donde la respuesta afirmativa es una cadena y la negativa es un booleano, dos tipos distintos en la misma columna, y ninguna herramienta avisa. La norma que resuelve todo el asunto es la misma de siempre en YAML: si es texto para leer, va entre comillas.
Convertir a JSON pierde cosas, y los comentarios son la que echarás de menos
A YAML se le describe a menudo como un superconjunto de JSON, y para los datos es casi cierto, pero solo para los datos. Lo que YAML añade no sobrevive al viaje de ida y vuelta. Los comentarios son la pérdida obvia y dolorosa: un manifiesto de Kubernetes, un pipeline de integración o un playbook de Ansible suele ser mitad explicación, y un paso por JSON borra cada línea en silencio, que es como alguien acaba revisando una configuración cuyo razonamiento se ha evaporado. Las anclas y los alias son la segunda pérdida. YAML permite definir un nodo una vez con `&defaults`, referenciarlo con `*defaults` y fusionarlo en otros mapeos mediante la clave de fusión; JSON no tiene ese concepto, así que la conversión debe expandir cada referencia en una copia. El documento sigue significando lo mismo, pero la definición compartida ha desaparecido y una edición futura pensada para cambiar cinco sitios cambia ahora uno. YAML admite además varios documentos en un mismo flujo y claves que no son cadenas, y ninguna de las dos cosas tiene equivalente en JSON. Esta herramienta informa de cada uno de estos puntos en vez de ejecutarlos sin ruido.
A un analizador de YAML se le puede pedir que construya objetos, y eso es un fallo de ejecución de código
Esta es la propiedad de seguridad que separa YAML de JSON, y conviene decirla sin rodeos porque los valores por defecto han sido históricamente los equivocados. YAML admite etiquetas que le dicen al analizador qué tipo construir, y varias implementaciones lo tomaron al pie de la letra: un documento que contenga `!!python/object/apply:os.system` le ordena a un cargador ingenuo llamar a esa función con los argumentos que tú suministres. En PyYAML, la función llamada `load` hizo exactamente eso durante años mientras `safe_load` no lo hacía, lo que significaba que leer un archivo de configuración con la función de nombre más obvio era ejecución remota de código si un atacante podía influir en el archivo. La misma clase de fallo apareció en Ruby, en Java a través de SnakeYAML y en deserializadores de .NET. La lección va más allá de YAML: cualquier formato capaz de describir qué clase instanciar es un formato de código y no de datos, y la entrada no fiable debe pasar por un cargador restringido a escalares simples, secuencias y mapeos. Esta herramienta no construye absolutamente nada: analiza a datos planos y ahí se detiene.
En YAML es donde viven las credenciales, y ese es el argumento para convertir en local
Mira qué se escribe realmente en YAML y el argumento para mantenerlo en tu máquina se construye solo. Es el formato de la infraestructura: pipelines de integración continua, manifiestos y secretos de Kubernetes, valores de Helm, archivos docker-compose, playbooks e inventarios de Ansible, archivos de variables de Terraform, definiciones de servicios. Una configuración de integración continua es, en la mayoría de repositorios, el archivo con mayor densidad de credenciales que hay: nombra el registro, el destino de despliegue y los entornos, y suele referirse a los tokens por los mismos nombres de variable que los desbloquean. Un Secret de Kubernetes va en base64, no cifrado, o sea texto plano con un paso de más. Y la gente recurre a un convertidor justo cuando uno de esos archivos ha fallado y hay que examinarlo, así que el ejemplo del portapapeles es el de verdad y no una muestra censurada. Todo lo de esta página se ejecuta en JavaScript en tu navegador y no emite ninguna petición; abre el panel de red de tus herramientas de desarrollo antes de pegar y verás el contador quedarse quieto.
Errores comunes que conviene evitar
- Dejar un código de país o una abreviatura sin comillas. Bajo las reglas de YAML 1.1, `NO`, `ON`, `Y` y `N` son literales booleanos: Noruega se vuelve falso y Ontario verdadero.
- Guardar respuestas en español sin comillas. La palabra `no` se convierte en el booleano falso, mientras que `sí` con tilde sigue siendo texto: dos tipos distintos en la misma columna.
- Escribir un identificador con cero inicial. `0755` es octal, un teléfono deja de ser esa cadena y algo que empieza por `08` ni siquiera es octal válido.
- Indentar con un tabulador. Los tabuladores están prohibidos como indentación en todo YAML, y el mensaje de error no te lo dirá porque el carácter es invisible.
- Cargar YAML no fiable con un cargador permisivo. Las etiquetas pueden nombrar una clase que construir: así leer una configuración se convirtió en ejecución de código en PyYAML y SnakeYAML.
Comparativa
| Aspecto | Esta herramienta | Convertidores online | Una herramienta de línea de comandos |
|---|---|---|---|
| Archivo enviado a un servidor | Nunca | Normalmente sí | No |
| Avisa de los tipos adivinados | Sí | No | Rara vez |
| Informa de los comentarios que se perderán | Sí | No | No |
| Detecta claves duplicadas | Sí | Rara vez | Varía |
| Construye objetos desde etiquetas | Nunca | Varía | Según el cargador |
| Precio | Gratis | Gratis / planes de pago | Gratis |
Características
Ambas direcciones
De YAML a JSON y de JSON a YAML, con la indentación y el estilo de comillas bajo tu control.
Avisos de coerción de tipos
Cada escalar tipado implícitamente se lista con el valor que YAML leyó y el que probablemente querías.
Detección de claves duplicadas
Una clave repetida sobrescribe en silencio en la mayoría de analizadores; aquí se informa en lugar de aplicarse.
Flujos multidocumento
Los documentos separados por tres guiones se procesan y se asignan a un array JSON en vez de descartarse.
Expansión de anclas y alias
Los nodos compartidos y fusionados se resuelven con su expansión visible, claves de fusión incluidas.
Archivos grandes admitidos
Un manifiesto largo o un archivo de traducción completo se convierte sin subida ni tope de tamaño.
Nada que instalar
Sin herramienta de compilación, sin entorno de ejecución, sin dependencias: funciona en la página web.
Listo para árabe y RTL
Interfaz completa en ocho idiomas, incluido el árabe de derecha a izquierda.
Seguro por defecto
Servido por HTTPS, sin rastreo de contenido ni subida a terceros.
Quién la usa
Ingenieros de plataforma y DevOps
Comprobar qué dice de verdad un manifiesto una vez expandidas las anclas.
Desarrolladores backend
Convertir una carga JSON en un archivo de configuración legible, o al revés.
Equipos de localización
Mover archivos de traducción entre un framework basado en YAML y otro basado en JSON.
Quien depura un pipeline
Encontrar el valor sin comillas que un analizador leyó como booleano.
Preguntas Frecuentes
No. Todo se ejecuta localmente en tu navegador — tu texto nunca se sube, guarda ni comparte.
Sí — totalmente gratis, sin cuenta y sin límites.