Convertir JSON a YAML en línea
Pegue datos escritos con llaves y corchetes y obtenga el mismo contenido en YAML indentado: un servicio con puertos 8080 y 8443 pasa a una lista legible y true, false y los vacíos conservan su sentido. Una entrada rota se rechaza sin convertirse a medias. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
El conversor analiza primero el documento completo y rechaza entradas incorrectas en lugar de producir resultados parciales poco fiables. Los objetos se vuelven mapas, los arrays se vuelven secuencias y cada valor conserva su tipo.
Dos formas de escribir los mismos datos
Las aplicaciones, los servicios y las exportaciones suelen producir datos con llaves, corchetes, comas y comillas, mientras que YAML expresa el mismo contenido mediante la sangría. Los dos pueden describir los mismos datos básicos, pero YAML resulta más fácil de leer y revisar para las personas, y por eso es tan habitual en archivos de configuración y en documentación. Convertir a mano obliga a quitar cada llave y cada coma y a acertar con cada sangría, algo lento y propenso a errores en un archivo largo. Aquí cada grupo de valores con nombre se convierte en un mapa de YAML, cada lista en una secuencia, y las estructuras anidadas, como grupos dentro de listas, se sangran de forma coherente.
Por qué algunos valores van entre comillas a propósito
YAML deduce el tipo de un valor por su aspecto, y esa deducción puede cambiar sus datos sin que se note. Un texto como true, null, una fecha o un identificador formado solo por cifras podría leerse como un valor de sí o no, un valor vacío, una fecha o un número. Para evitarlo, las claves y los textos se ponen entre comillas de forma deliberada y siguen siendo texto. Además, el documento se comprueba entero antes de escribir nada, y la misma entrada da siempre el mismo resultado, listo para un proyecto con control de versiones o un flujo de despliegue.
Transforme datos estructurados sin alterar su significado
Convierte objetos en mapas, arrays en secuencias y conserva cadenas, números, booleanos y valores nulos. Las estructuras anidadas reciben una sangría uniforme. Las cadenas y claves aparecen entre comillas para evitar que fechas, identificadores numéricos o palabras especiales cambien de tipo.
También conserva expresamente objetos y arrays vacíos. Como no utiliza red, azar, reloj ni modelos, la misma entrada siempre produce la misma salida, algo útil para control de versiones, compilaciones reproducibles, pruebas y revisiones de código.
Qué necesita el conversor y qué devuelve
La raíz puede ser un objeto, array, cadena, número, booleano o valor nulo. No admite comentarios, comas finales, comillas simples, claves sin comillas, valores undefined, NaN ni Infinity. Si aparece alguno, el análisis falla y devuelve un error de entrada con la explicación del analizador.
Nunca se emite YAML parcial. La salida usa dos espacios de sangría y colecciones en bloque. Las claves y cadenas emplean comillas dobles compatibles con YAML para preservar tipos, caracteres Unicode, saltos de línea, barras y comillas escapadas de forma segura.
Use la conversión interactiva o automatice procesos
Un proceso de compilación puede crear artefactos YAML; una canalización documental puede generar ejemplos desde pruebas; y una migración puede conservar arrays, colecciones vacías y tipos escalares. Esta capacidad convierte sintaxis, pero no valida esquemas de Kubernetes, Docker Compose ni otros consumidores. Valide después el resultado con el esquema correspondiente.
Preguntas frecuentes
¿Se conservan cadenas, números, booleanos y nulos?
Sí. Las cadenas se citan para proteger su tipo y los demás escalares mantienen su equivalente YAML.
¿Valida el conversor un esquema YAML específico?
No. Produce YAML válido equivalente a los datos; valide aparte el esquema de la aplicación de destino.
¿Por qué las claves y los textos aparecen entre comillas?
Para que valores como true, null, fechas o números usados como identificadores sigan siendo texto y no se reinterpreten al leer el YAML. Las comillas mantienen el significado de sus datos tal como estaba.
¿Qué ocurre si la entrada tiene un error de sintaxis?
No se convierte nada. El documento se revisa completo antes de escribir el YAML, así que una entrada a la que le falta una coma o un corchete se rechaza en lugar de dar un resultado parcial poco fiable.
¿Se conservan los grupos y las listas vacías?
Sí. Los grupos de valores vacíos y las listas vacías se escriben de forma explícita, de modo que la estructura que tenía antes de la conversión sigue viéndose después y nada desaparece sin avisar.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/web/json-to-yaml \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"{\"service\":{\"name\":\"api\",\"enabled\":true,\"ports\":[8080,8443]},\"replicas\":3}"}'const res = await fetch("https://api.kit.forhosting.com/web/json-to-yaml", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "{\"service\":{\"name\":\"api\",\"enabled\":true,\"ports\":[8080,8443]},\"replicas\":3}"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/json-to-yaml",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "{\"service\":{\"name\":\"api\",\"enabled\":true,\"ports\":[8080,8443]},\"replicas\":3}"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/json-to-yaml", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"{\\"service\\":{\\"name\\":\\"api\\",\\"enabled\\":true,\\"ports\\":[8080,8443]},\\"replicas\\":3}"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"{\"service\":{\"name\":\"api\",\"enabled\":true,\"ports\":[8080,8443]},\"replicas\":3}"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/json-to-yaml", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"text": "{\"service\":{\"name\":\"api\",\"enabled\":true,\"ports\":[8080,8443]},\"replicas\":3}"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.json_to_yaml",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
timeout_sec | 30 |
max_crawl_pages | 25 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Convierta una cadena JSON en YAML equivalente sin sustituir manualmente llaves, comas, comillas y sintaxis de arrays. Puede usar el navegador para tareas puntuales o la API para procesos automatizados.
Transforme datos estructurados sin alterar su significado
JSON y YAML representan el mismo modelo básico de datos, aunque sirven a contextos distintos. Las API suelen producir JSON, mientras que YAML resulta cómodo para revisar configuraciones. Este conversor analiza el JSON antes de escribir YAML.
Prepare JSON válido y comprenda el resultado
Envíe un único valor JSON completo como texto. JSON exige nombres y cadenas entre comillas dobles, comas entre elementos y llaves o corchetes emparejados.
Use la conversión interactiva o automatice procesos
La herramienta del navegador resulta práctica para adaptar una respuesta de API, preparar un archivo de configuración o inspeccionar datos anidados. Pegue el JSON, ejecute la conversión y copie el YAML tras comprobar los requisitos del programa de destino. Para tareas repetidas, llame a la API por $0.002 por elemento y trate una entrada inválida como un fallo de validación definitivo.
Casos de integración
Crear una configuración YAML
Transforme ajustes exportados como JSON en un documento YAML legible sin perder estructuras ni tipos.
Publicar ejemplos de API
Genere una versión YAML de una solicitud o respuesta JSON probada sin mantener dos copias manuales.
Automatizar una migración de formato
Convierta artefactos JSON en YAML determinista antes de validarlos, empaquetarlos o entregarlos.
Preguntas técnicas
¿Cuánto cuesta convertir JSON a YAML?
Cada conversión mediante API cuesta $0.002 por elemento. El navegador permite conversiones interactivas.
¿Qué ocurre si el JSON no es válido?
La capacidad devuelve un error invalid_input con el mensaje del analizador y no genera YAML parcial.
¿Puede la raíz ser un array o un valor primitivo?
Sí. Puede convertir cualquier valor JSON completo, incluidos objetos, arrays y valores primitivos.