Convertir YAML y JSON

Convierte localmente un subconjunto de YAML 1.2 y JSON, conservando los lexemas numéricos exactos y rechazando estructuras no admitidas en lugar de perder datos silenciosamente.

Esta página muestra las herramientas disponibles en este idioma dentro del alcance actual. Esto no significa que todas las herramientas del sitio estén traducidas a todos los idiomas.

El procesamiento se realiza en tu navegador, sin subir datos ni guardarlos automáticamente. La lectura del archivo tiene su propio plazo de 5 segundos; después, un único worker cancelable dispone de 5 segundos para convertirlo. No se abren enlaces ni se ejecuta el contenido.

Entrada de hasta 256 KiB en UTF-8 y salida de hasta 2 MiB. Profundidad de 32 niveles, 500 pares por mapa, 30 000 nodos CST o AST y 120 000 lexemas. Cadenas decodificadas: 65 536 unidades UTF-16; lexemas numéricos: 1024 caracteres. Estos límites no abarcan toda la memoria del navegador.

Solo se admite un subconjunto de YAML 1.2: claves de texto únicas, secuencias, mapas y valores JSON. Se rechazan anchors, aliases, tags explícitos, directivas, merge, varios documentos, claves que no sean de texto, NaN e Infinity. Usa mapas explícitos dentro de las secuencias, como [{a: b}].

Los lexemas de números JSON grandes, decimales y con exponente se conservan sin convertirlos a Number, incluidos -0 y 1e400. Las formas numéricas YAML admitidas se normalizan como texto; los números hexadecimales y octales sin signo se convierten con BigInt. yes, on y las fechas sin comillas siguen siendo texto; no se activan las reglas de YAML 1.1.

Cómo usarla

Elige el sentido y el origen de la entrada. Pega texto o selecciona un archivo UTF-8 local, convierte y revisa la vista previa y el aviso sobre la pérdida del estilo. Copia explícitamente el resultado completo o descarga converted.json o converted.yaml. Un texto demasiado largo o un archivo que no se haya podido leer permanece rechazado hasta que se corrija esa misma entrada; cambiar otra opción no procesa un valor anterior. Puedes cancelar la lectura o la conversión; el archivo original no cambia.

Ejemplo práctico

El YAML n: 9007199254740993 produce JSON con ese número exacto. El JSON {"n":1e400,"name":"Español"} produce YAML conservando 1e400, sin convertirlo en Infinity. .5 se convierte en 0.5 y 0o10 en 8, mientras que yes y la fecha 2026-09-25 siguen siendo texto.

Compatibilidad y límites

Se conservan los valores, el orden de mapas y secuencias y los lexemas de la gramática numérica JSON sin conversión a Number. Las formas numéricas YAML admitidas se normalizan como texto y los números hexadecimales y octales sin signo se convierten con BigInt. No se admiten reglas YAML 1.1 ni se conservan comentarios, estilo, comillas o saltos de línea originales. La salida es UTF-8 sin BOM y con un LF final. Se rechazan aliases, anchors, tags explícitos incluido !!str, directivas, varios documentos, merge, claves no textuales o duplicadas, NaN/Infinity y pares abreviados como [a: b]; usa mapas explícitos. Los archivos requieren UTF-8 válido; se conserva la BOM de entrada, que YAML acepta al principio y JSON rechaza. La vista previa es solo texto y puede terminar dentro de un carácter compuesto; el portapapeles puede cambiar los saltos de línea según el sistema. No se suben ni guardan datos, no se ejecuta contenido y no se siguen enlaces.

Preguntas frecuentes

¿Admite todo YAML o repara los documentos automáticamente?

No. Convierte el subconjunto YAML 1.2 indicado que puede representarse mediante valores JSON y rechaza entradas no admitidas o que superen los límites. La conversión no es saneamiento de seguridad ni validación de un esquema de datos, y no garantiza que otra aplicación lea números grandes sin redondearlos. El procesamiento acotado no garantiza un límite de toda la memoria del navegador.

Herramientas relacionadas