Skip to content

Convertidor YAML a JSON

Convierte YAML a JSON al instante en tu navegador. Compatible con manifiestos K8s, specs OpenAPI y valores Helm. Sin servidor, 100% privado.

Sin rastreo Se ejecuta en el navegador Gratis
Opciones · 2 espacios
Sangría
0 caracteres
JSON Salida
0 líneas
Revisado para conformidad con la especificación YAML 1.2, expansión de anclas/alias y corrección en el manejo de múltiples documentos — Go Tools Engineering Team · May 4, 2026

¿Qué es JSON?

JSON (JavaScript Object Notation) es un formato de intercambio de datos ligero y basado en texto, estandarizado como RFC 8259 y ECMA-404. Admite seis tipos de datos — cadenas, números, booleanos, null, arrays y objetos — con una sintaxis estricta y mínima que prácticamente todos los lenguajes de programación, APIs y cadenas de herramientas pueden analizar de forma nativa. Mientras que YAML es el formato preferido para los archivos de configuración escritos por humanos (manifiestos de Kubernetes, GitHub Actions, playbooks de Ansible, valores de Helm), JSON es el formato universal legible por máquinas para APIs, scripts de automatización y procesamiento programático de datos.

Por lo tanto, convertir YAML a JSON es una de las tareas más comunes en DevOps y desarrollo backend — tienes un archivo de configuración YAML pero necesitas JSON para alimentarlo a una API REST, consultarlo con jq o procesarlo con herramientas JavaScript.

Esta herramienta tiene cuatro diferenciadores importantes en comparación con los conversores online típicos:

**1. Gestión de YAML con múltiples documentos.** YAML admite múltiples documentos en un único stream separados por --- (el marcador de inicio de documento). Muchos archivos YAML reales — incluidos algunos manifiestos de Kubernetes y playbooks de Ansible — contienen múltiples documentos. Esta herramienta usa parseAllDocuments de la librería eemeli/yaml con opciones { version: '1.2', merge: true } y devuelve el primer documento como JSON, comunicando claramente qué se tomó. Si necesitas todos los documentos, divídelos en --- y convierte cada uno individualmente.

**2. Expansión de Anclas y Alias.** Las anclas (&nombre) y los alias (*nombre) de YAML permiten la reutilización de bloques de datos — una potente característica de YAML sin equivalente en JSON. Esta herramienta expande completamente todas las anclas y alias (incluidas las claves de fusión: <<: *ancla) para que la salida JSON contenga datos completos y autosuficientes sin ninguna referencia. Esta es siempre la transformación correcta porque JSON no tiene sintaxis de referencia. La expansión es gestionada de forma segura por la librería eemeli/yaml, que incluye protección contra referencias circulares. Aprende cómo se compara con la dirección inversa en Convertidor JSON a YAML.

**3. Pérdida de Comentarios — Transparencia Educativa.** YAML admite comentarios con #, que se usan frecuentemente en manifiestos de Kubernetes, valores de Helm y playbooks de Ansible para documentar la intención. JSON no tiene sintaxis de comentarios, por lo que los comentarios se pierden permanentemente durante la conversión. Esto no es un error — es una diferencia fundamental de formato. Esta herramienta lo hace explícito para que sepas qué esperar. Si necesitas preservar anotaciones, codifícalas como campos JSON (claves _comment o un objeto de metadatos dedicado) antes de convertir, o mantén YAML como fuente de referencia. Consulta nuestro análisis profundo de las diferencias YAML-JSON para más información sobre las compensaciones de formato.

**4. Privacidad 100% Basada en el Navegador.** Tus datos YAML — que a menudo contienen secretos de Kubernetes, credenciales de bases de datos, valores de Helm con contraseñas y configuraciones de servicios internos — nunca salen de tu navegador. No se envían datos a ningún servidor. Puedes verificarlo en la pestaña Red de tu navegador. Después de convertir a JSON, puedes validar y formatear el resultado con nuestro Formateador JSON antes de usarlo en pasos posteriores.

La riqueza de YAML (comentarios, anclas, soporte para múltiples documentos, escalares en bloque) lo hace excelente para archivos de configuración creados por humanos donde importan la legibilidad y la documentación. La estrictez y universalidad de JSON lo convierten en la mejor opción cuando una máquina es el consumidor principal. Este conversor une los dos mundos: mantén tu configuración en YAML para la mantenibilidad humana, conviértela a JSON cuando necesites intercambio legible por máquinas.

// Convert YAML to JSON in Node.js using the eemeli/yaml library
import { parseAllDocuments } from 'yaml';

const yamlString = `apiVersion: apps/v1
kind: Deployment`;

// parseAllDocuments handles multi-document YAML (--- separator)
// version: '1.2' ensures yes/no are strings, not booleans
// merge: true expands anchor/alias merge keys (<<: *anchor)
const docs = parseAllDocuments(yamlString, { version: '1.2', merge: true });

// Take the first document (skip additional --- blocks)
const json = JSON.stringify(docs[0].toJSON(), null, 2);

console.log(json);
// {
//   "apiVersion": "apps/v1",
//   "kind": "Deployment"
// }

Características principales

Conversión en vivo

La salida JSON se actualiza al instante mientras escribes o pegas YAML — no se necesita botón Convertir. Las entradas grandes (>200 KB) cambian automáticamente al modo manual para mantener el navegador con capacidad de respuesta.

Sangría de 2 o 4 espacios

Cambia entre sangría de 2 y 4 espacios para la salida JSON. 2 espacios es el estándar para la mayoría de herramientas y APIs; 4 espacios coincide con algunas guías de estilo y valores predeterminados de editores.

Soporte para múltiples documentos

Gestiona streams YAML con múltiples documentos separados por ---. El primer documento se convierte a JSON y se devuelve. Útil para archivos de múltiples recursos de Kubernetes y playbooks de Ansible.

Expansión de anclas y alias

Expande completamente las anclas (&nombre) y los alias (*nombre) de YAML, incluidas las claves de fusión (<<: *ancla). La salida JSON contiene datos completos y desreferenciados sin referencias — comportamiento correcto ya que JSON no tiene equivalente.

Privacidad 100% en el navegador

Toda la conversión se ejecuta localmente en tu navegador usando JavaScript. Tus datos YAML — incluidos secretos, credenciales y configuraciones de producción — nunca se envían a ningún servidor, nunca se registran y nunca se almacenan.

Compatible con K8s, Compose, Helm y OpenAPI

Optimizado para casos de uso reales de DevOps: manifiestos de Kubernetes, stacks de Docker Compose, valores de charts Helm, workflows de GitHub Actions, especificaciones OpenAPI y playbooks de Ansible — con ejemplos para cada uno.

Ejemplos

Manifiesto de Kubernetes

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
  namespace: production
  labels:
    app: my-app
    version: 1.0.0
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: my-app
          image: my-app:1.0.0
          ports:
            - containerPort: 8080
          resources:
            requests:
              memory: 64Mi
              cpu: 250m
            limits:
              memory: 128Mi
              cpu: 500m

Convierte un manifiesto de Deployment de Kubernetes de YAML a JSON — útil para consultar con jq, enviar a la API de Kubernetes o integrarlo en Terraform y pipelines de CI/CD

Docker Compose

version: '3.9'
services:
  web:
    image: nginx:1.25-alpine
    ports:
      - '80:80'
      - '443:443'
    environment:
      NGINX_HOST: example.com
      NGINX_PORT: '80'
    depends_on:
      - db
    restart: unless-stopped
  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: mydb
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: secret
    volumes:
      - pgdata:/var/lib/postgresql/data
volumes:
  pgdata: {}

Convierte un archivo YAML de Docker Compose a JSON para manipulación programática, integración en scripts de automatización o procesamiento con herramientas JavaScript

Workflow de GitHub Actions

name: CI
on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: '20'
          cache: pnpm
      - name: Install dependencies
        run: pnpm install --frozen-lockfile
      - name: Run tests
        run: pnpm test

Analiza un workflow YAML de GitHub Actions a JSON para consultar campos específicos, validar la estructura o integrarlo con APIs que consumen JSON

Especificación OpenAPI

openapi: 3.0.3
info:
  title: User API
  version: 1.0.0
  description: Manage application users
paths:
  /users:
    get:
      summary: List users
      operationId: listUsers
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
            default: 20
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/User'
  /users/{id}:
    get:
      summary: Get user
      operationId: getUser
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Success
components:
  schemas:
    User:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        email:
          type: string
          format: email

Convierte una especificación OpenAPI 3.0 de YAML a JSON para usar con generadores de código cliente, herramientas de prueba de API o inspección programática de esquemas

values.yaml de Helm

replicaCount: 3
image:
  repository: my-app
  tag: 1.0.0
  pullPolicy: IfNotPresent
service:
  type: ClusterIP
  port: 80
ingress:
  enabled: true
  className: nginx
  hosts:
    - host: my-app.example.com
      paths:
        - path: /
          pathType: Prefix
resources:
  requests:
    memory: 64Mi
    cpu: 250m
  limits:
    memory: 128Mi
    cpu: 500m
autoscaling:
  enabled: false
  minReplicas: 1
  maxReplicas: 10
  targetCPUUtilizationPercentage: 80

Convierte los valores values.yaml de un chart Helm a JSON para análisis, generación de informes o integración en herramientas que esperan configuración JSON

Playbook de Ansible

- name: Configure web servers
  hosts: webservers
  become: true
  vars:
    http_port: 80
    max_clients: 200
  tasks:
    - name: Ensure nginx is installed
      ansible.builtin.package:
        name: nginx
        state: present
    - name: Start nginx service
      ansible.builtin.service:
        name: nginx
        state: started
        enabled: true
    - name: Copy nginx config
      ansible.builtin.template:
        src: nginx.conf.j2
        dest: /etc/nginx/nginx.conf
        owner: root
        group: root
        mode: '0644'
      notify:
        - Restart nginx
  handlers:
    - name: Restart nginx
      ansible.builtin.service:
        name: nginx
        state: restarted

Analiza un playbook YAML de Ansible a JSON para inspeccionar la estructura de tareas, auditar configuraciones o integrarlo con pipelines de informes

Cómo usar

  1. 1

    Pega tu YAML

    Introduce o pega tus datos YAML en el campo de entrada de arriba. También puedes hacer clic en 'Cargar ejemplo' para probar un ejemplo como un Deployment de Kubernetes, un archivo de Docker Compose o un values.yaml de Helm.

  2. 2

    Observa la salida JSON en vivo

    El JSON aparece instantáneamente en el panel de salida. Ajusta las Opciones (sangría de 2 o 4 espacios) para cumplir los requisitos de tu herramienta de destino.

  3. 3

    Copia o Descarga

    Haz clic en Copiar para llevar el JSON al portapapeles, o en Descargar para guardarlo como archivo .json listo para jq, llamadas a APIs o cualquier herramienta de procesamiento posterior.

Errores comunes de YAML

Sangría con tabulaciones

La especificación YAML prohíbe los caracteres de tabulación para la sangría — solo se permiten espacios. Si tu YAML fue escrito o copiado desde un editor que usa tabulaciones, el parser lanzará un error. Reemplaza toda la sangría con tabulaciones por espacios (2 o 4 espacios por nivel).

✗ Incorrecto
services:
	web:
		image: nginx:1.25-alpine
✓ Correcto
services:
  web:
    image: nginx:1.25-alpine

Sangría no coincidente

YAML usa sangría consistente para definir el anidamiento. Mezclar diferentes números de espacios dentro del mismo bloque (por ejemplo, 2 espacios en un nivel y 3 en otro) causa errores de análisis. Cada nivel debe sangrarse con el mismo número de espacios en todo el documento.

✗ Incorrecto
metadata:
  name: my-app
   namespace: production
✓ Correcto
metadata:
  name: my-app
  namespace: production

Caracteres especiales sin entrecomillar

Caracteres como :, #, &, *, {, }, [, ], |, >, !, y @ tienen un significado especial en YAML. Usarlos sin entrecomillar en los valores puede causar errores de análisis o comportamientos inesperados. Entrecomilla los valores que contengan estos caracteres con comillas simples o dobles.

✗ Incorrecto
url: http://example.com:8080/api
tag: #latest
✓ Correcto
url: 'http://example.com:8080/api'
tag: '#latest'

Ciclos de anclas

YAML técnicamente permite anclas que se referencian a sí mismas (referencias circulares), aunque esto es poco habitual en la práctica. Un ancla circular hace que el parser entre en un bucle de expansión infinita. La librería eemeli/yaml detecta y lanza un error para las anclas circulares en lugar de bloquearse.

✗ Incorrecto
# Circular anchor (rare but possible)
base: &base
  parent: *base
✓ Correcto
# Use explicit fields instead of circular references
base:
  parent: null

Confusión con múltiples documentos

Los archivos YAML con múltiples separadores --- contienen múltiples documentos. Esta herramienta devuelve solo el primer documento como JSON. Si esperabas datos de un documento posterior (después del segundo o tercer ---), no aparecerán en la salida. Divide tu YAML en --- y convierte cada sección por separado si necesitas todos los documentos.

✗ Incorrecto
# Only the first document is converted
apiVersion: v1
kind: ConfigMap
---
apiVersion: v1
kind: Secret
✓ Correcto
# Convert each document separately
apiVersion: v1
kind: ConfigMap

Pérdida de comentarios

YAML admite comentarios con # pero JSON no. Todos los comentarios YAML se pierden permanentemente durante la conversión — esta es una diferencia fundamental de formato, no una limitación de la herramienta. Si necesitas preservar anotaciones en JSON, codifícalas como un campo dedicado, como una clave _comment o un objeto de metadatos.

✗ Incorrecto
# This comment will be lost
replicas: 3 # scale this up for production
✓ Correcto
replicas: 3
_comment: scale this up for production

Casos de uso comunes

Análisis de manifiestos de Kubernetes
Convierte manifiestos YAML de Kubernetes a JSON para consultarlos con jq, enviarlos a la API REST de Kubernetes, procesarlos en fuentes de datos de Terraform o alimentarlos en pipelines de CI/CD que esperan JSON.
Docker Compose para herramientas JavaScript
Analiza el YAML de Docker Compose a JSON para extraer definiciones de servicios, nombres de imágenes, mapeos de puertos y variables de entorno para usarlos en scripts de automatización, grafos de dependencias o herramientas Node.js.
Integración de APIs de GitHub Actions
Convierte el YAML de workflows de GitHub Actions a JSON para validar la estructura programáticamente, extraer definiciones de trabajos y pasos, o integrarlo con APIs de CI/CD que aceptan especificaciones de workflows en JSON.
OpenAPI para generación de código cliente
Muchos generadores de código (openapi-generator, swagger-codegen, oazapfts) aceptan especificaciones OpenAPI en cualquier formato. Convierte tu especificación YAML a JSON cuando una herramienta requiera específicamente entrada JSON o cuando necesites inspeccionarla con validadores de JSON Schema.
Análisis de valores de Helm
Convierte los values.yaml de charts Helm a JSON para generar informes, comparar valores entre entornos, alimentar herramientas de aplicación de políticas o procesar con automatización que espera configuración JSON.
Migración de configuración a herramientas basadas en JSON
Migra la configuración de aplicaciones de YAML (habitual en herramientas de infraestructura) a JSON para usar en entornos JavaScript, APIs REST, AWS AppConfig, Azure App Configuration o cualquier sistema que almacene la configuración como JSON.

Detalles técnicos

Especificación YAML 1.2 mediante parseAllDocuments con merge:true
El YAML se analiza usando la librería eemeli/yaml (v2.8+, segura frente a CVE) mediante parseAllDocuments con { version: '1.2', merge: true }. El esquema YAML 1.2 garantiza que las cadenas simples como yes y no se traten como cadenas (no como booleanos), coincidiendo con la especificación YAML actual. La opción merge: true expande completamente las claves de fusión de anclas/alias (<<: *ancla) para que la salida JSON contenga datos completos y desreferenciados. El YAML con múltiples documentos (separados por ---) devuelve el primer documento.
Expansión de anclas y alias mediante la librería
La librería eemeli/yaml gestiona la expansión de anclas (&nombre) y alias (*nombre) de forma segura, incluida la detección de referencias circulares. Todos los bloques de datos con alias — incluidas las expansiones de claves de fusión — se inlinean completamente en la salida JSON. Esta es la transformación correcta porque JSON no tiene concepto de referencia ni de ancla. La expansión segura de la librería evita los bucles infinitos de YAML malformado.
Basado en el navegador — Sin carga, Sin servidor
Todo el procesamiento ocurre completamente en el motor JavaScript de tu navegador. No se transmiten datos por la red en ningún momento. Las entradas mayores de 200 KB cambian automáticamente del modo en vivo al modo manual (requiriendo un clic explícito en Convertir) para mantener el navegador con capacidad de respuesta y evitar el bloqueo del hilo principal durante la serialización intensiva.

Buenas prácticas

Usa sintaxis compatible con YAML 1.2 para una conversión limpia
Crea tu YAML usando las convenciones de YAML 1.2 — entrecomilla explícitamente los valores de cadena yes, no, on, off, y y n (por ejemplo, enabled: 'yes') para evitar ambigüedades. Esta herramienta analiza con el esquema YAML 1.2 (por lo que son cadenas), pero las herramientas más antiguas de tu pipeline pueden usar YAML 1.1 (donde se convierten en booleanos). El entrecomillado explícito en el YAML fuente es la práctica más segura para todos los parsers.
Entrecomilla los números grandes en YAML para preservar la precisión
JavaScript no puede representar enteros mayores que 2^53 - 1 (9007199254740991) exactamente. Los campos de Kubernetes como resourceVersion y uid son int64 en el servidor y pueden superar este límite. En tu fuente YAML, entrecomilla estos valores (resourceVersion: '9007199254740993') para que el parser los trate como cadenas, que luego se preservan exactamente en la salida JSON como valores de cadena.
Valida la salida JSON antes de usarla en APIs
Después de convertir YAML a JSON, valida el resultado antes de enviarlo a una API, almacenarlo o procesarlo programáticamente. Usa nuestro Formateador JSON para confirmar que la estructura es correcta. Esto es especialmente importante para las llamadas a la API de Kubernetes, las especificaciones OpenAPI y cualquier carga útil validada con JSON Schema, donde un error estructural causa un rechazo confuso en la capa de API en lugar de en el paso de conversión.
Separa el YAML con múltiples documentos antes de convertir
Si tu archivo YAML contiene múltiples documentos separados por --- y necesitas todos ellos como JSON, divide el archivo en --- primero y convierte cada documento individualmente. Esta herramienta solo toma el primer documento. Un enfoque sencillo: divide en '\n---\n' en tu editor o con awk, luego pega cada sección por separado.
Usa jq para el procesamiento JSON posterior
Una vez que tienes JSON de tu YAML, jq es la forma más rápida de consultarlo y transformarlo desde la línea de comandos. Combina esta herramienta con jq: convierte tu YAML online, pega el JSON, luego usa jq '.spec.replicas' o jq '.services | keys' para extraer exactamente lo que necesitas. Para el procesamiento por lotes de muchos archivos, usa el CLI de yq con el indicador -o json directamente.

Preguntas frecuentes

¿Cómo convierto YAML a JSON online?
Pega tu YAML en el campo de entrada de arriba. La herramienta lo convierte a JSON al instante en tu navegador — sin necesidad de hacer clic en ningún botón. Puedes ajustar la sangría de la salida (2 o 4 espacios) desde el panel de Opciones. Una vez que el JSON aparezca en el área de salida, haz clic en Copiar para llevarlo al portapapeles o en Descargar para guardarlo como archivo .json. Todo se ejecuta localmente — tus datos nunca salen de tu dispositivo.
¿Cómo gestiona esta herramienta el YAML con múltiples documentos (separador ---)?
YAML permite múltiples documentos en un único stream, separados por --- (el marcador de inicio de documento). Cuando pegas una cadena YAML con múltiples documentos, esta herramienta usa parseAllDocuments de la librería eemeli/yaml y devuelve el primer documento como JSON. Los documentos adicionales más allá del primero se ignoran silenciosamente. Si necesitas procesar todos los documentos, divide tu YAML en --- y convierte cada sección individualmente. La herramienta muestra el JSON del primer documento para que puedas verificar el resultado.
¿Cómo se gestionan las anclas y los alias de YAML (&ancla y *alias)?
Las anclas de YAML (&nombre) definen un bloque reutilizable, y los alias (*nombre) hacen referencia a él. Esta herramienta expande completamente todas las anclas y alias durante el análisis, por lo que el JSON resultante contiene los datos completos y desreferenciados. Por ejemplo, si un ancla YAML define un conjunto de límites de recursos y múltiples servicios lo referencian con claves de fusión (<<: *ancla), la salida JSON muestra cada campo explícitamente inlineado para cada servicio. Este es el comportamiento correcto para JSON, que no tiene concepto de referencias. La librería eemeli/yaml gestiona la expansión de anclas/alias de forma segura, incluyendo la detección de referencias circulares.
¿Se preservan los comentarios YAML en la salida JSON?
No. JSON no admite comentarios de ningún tipo — ni #, //, ni /* */. Cuando conviertes YAML a JSON, todos los comentarios se pierden permanentemente. Esta es una diferencia fundamental de formato, no una limitación de esta herramienta. Si necesitas preservar anotaciones, considera codificarlas como un campo JSON dedicado (como una clave _comment) antes de convertir, o mantener la fuente YAML como la versión de referencia con comentarios. Esta herramienta refleja claramente los datos como JSON sin ninguna aproximación de comentarios, que es el comportamiento correcto y estándar.
¿Cómo uso esta herramienta con un manifiesto de Kubernetes?
Pega tu manifiesto YAML de Kubernetes (de un archivo .yaml, la salida de kubectl get -o yaml, o una plantilla Helm) en el campo de entrada. La salida JSON puede entonces consultarse con jq, enviarse directamente a la API REST de Kubernetes, usarse en fuentes de datos de Terraform o procesarse por cualquier herramienta que espere JSON. Un flujo de trabajo habitual es convertir manifiestos YAML a JSON para extraer campos específicos — por ejemplo: jq '.spec.replicas' en la salida JSON para verificar los recuentos de réplicas en los deployments. El ejemplo de Deployment de K8s de arriba muestra un manifiesto completo que puedes cargar y modificar.
¿Cómo ayuda esta herramienta con los archivos de Docker Compose?
Los archivos de Docker Compose son YAML por convención. Convertirlos a JSON te permite procesar las definiciones de servicios con herramientas JavaScript, scripts jq o cualquier sistema que lea JSON. Los casos de uso habituales incluyen extraer todos los nombres de imágenes para crear una lista de dependencias, generar informes desde un archivo Compose o alimentar configuraciones de Compose en herramientas de orquestación de CI/CD que aceptan JSON. Pega tu compose.yaml en la entrada y la salida JSON estará inmediatamente lista para su procesamiento posterior.
¿Cuál es la diferencia entre YAML 1.1 y YAML 1.2, y cuál usa esta herramienta?
YAML 1.1 (la especificación más antigua, aún usada por PyYAML, Ansible, Ruby Psych y muchas herramientas de Kubernetes) trata cadenas simples como yes, no, on, off, y y n como valores booleanos true/false. Esto causó el famoso problema Norway donde el código ISO del país 'NO' se interpretaba como false. YAML 1.2 (la especificación actual, publicada en 2009) corrigió esto: todas las cadenas simples son cadenas, y solo true/false son booleanos. Esta herramienta usa el esquema YAML 1.2 para el análisis, lo que significa que yes y no en tu entrada YAML se preservan como los valores de cadena 'yes' y 'no' en la salida JSON — no como los booleanos true y false. Este es el comportamiento correcto y moderno. Si tu YAML fue creado originalmente para un parser YAML 1.1 y dependía de yes/no como booleanos, ten en cuenta que la salida JSON los tratará como cadenas.
¿Por qué YAML prohíbe la sangría con tabulaciones?
La especificación YAML prohíbe explícitamente los caracteres de tabulación (\t) para la sangría — solo se permiten espacios. Esta es una decisión de diseño deliberada para evitar la ambigüedad causada por el ancho de tabulación inconsistente entre editores. Si tu YAML usa tabulaciones para la sangría (habitual al copiar de editores de texto que convierten automáticamente espacios en tabulaciones), el parser YAML lanzará un error de análisis. La solución es reemplazar toda la sangría con tabulaciones por espacios. La mayoría de los editores de código tienen una opción para convertir tabulaciones en espacios (por ejemplo, 'Expand Tabs' en Vim, 'Insert Spaces' en VS Code). Si pegas YAML y ves un error de análisis que menciona 'tab' o 'indentation', esta es casi siempre la causa.
¿Pueden los números grandes perder precisión al convertir YAML a JSON?
Sí. Esta es una limitación fundamental de JavaScript que afecta a todas las herramientas basadas en navegador. El float de doble precisión IEEE 754 de JavaScript solo puede representar enteros exactamente hasta 2^53 - 1 (9007199254740991). Los números YAML mayores que este — como los campos int64 de Kubernetes como resourceVersion — serán redondeados silenciosamente cuando el parser YAML los pase al tipo number de JavaScript. Por ejemplo, el valor YAML 9007199254740993 se convierte en 9007199254740992 en la salida JSON. La solución segura es entrecomillar los números grandes en tu fuente YAML (resourceVersion: '9007199254740993') para que el parser los trate como cadenas, que luego se preservan exactamente en JSON como valores de cadena.
¿Cómo puedo convertir YAML a JSON en la línea de comandos?
El enfoque más popular usa yq (la versión de Mike Farah) y jq. Instala yq: brew install yq en macOS o descárgalo de github.com/mikefarah/yq/releases para Linux. Luego ejecuta: yq -o json input.yaml para convertir un archivo YAML a JSON, o cat input.yaml | yq -o json - para recibir desde stdin. Para una salida bien formateada: yq -o json input.yaml | jq . — esto pasa el JSON por jq para un formateo consistente. Para un comando Python de una sola línea: python3 -c "import sys, json, yaml; print(json.dumps(yaml.safe_load(sys.stdin), indent=2))" < input.yaml. Para YAML con múltiples documentos con yq: yq -o json '.[0]' input.yaml para extraer solo el primer documento como JSON.
¿Se envían mis datos YAML a algún servidor cuando uso esta herramienta?
No. Toda la conversión ocurre completamente en tu navegador usando JavaScript. Tus datos YAML nunca se transmiten por la red, nunca se almacenan en ningún servidor, y nunca se registran ni analizan. Esto hace que la herramienta sea segura para usar con secretos de Kubernetes, credenciales de bases de datos, valores internos de Helm, claves de API en archivos de configuración y cualquier otra configuración de infraestructura sensible. Puedes verificarlo abriendo la pestaña Red de tu navegador — verás cero solicitudes generadas al pegar YAML.
¿Existe un límite de tamaño de archivo para la entrada YAML?
No hay un límite de tamaño de archivo estricto, pero las entradas grandes (más de 200 KB) cambian automáticamente del modo en vivo al modo manual. En el modo manual, aparece un botón Convertir y la conversión se ejecuta solo cuando lo haces clic — esto evita que el hilo principal del navegador se bloquee en cada pulsación de tecla. Para archivos YAML muy grandes (varios megabytes), considera usar herramientas de línea de comandos como yq para mejor rendimiento. La herramienta gestiona eficientemente cargas de trabajo reales típicas como exportaciones completas de namespaces de Kubernetes, grandes especificaciones OpenAPI y archivos de valores de charts Helm con múltiples servicios.

Herramientas relacionadas

Ver todas las herramientas →

Decodificador y Codificador Base64

Codificación y Formato

Decodifica y codifica Base64 online de forma gratuita. Conversión en tiempo real con soporte completo de UTF-8 y emojis. 100% privado — funciona en tu navegador. Sin registro.

Formateador y Validador JSON

Codificación y Formato

Formatea, valida y embellece JSON al instante en tu navegador. Herramienta gratuita con validación sintáctica, detección de errores, minificación y copia con un clic. 100% privado.

Convertidor JSON a YAML

Codificación y Formato

Convierte JSON a YAML al instante en tu navegador. Listo para K8s y Compose, sangría 2/4 espacios, protección Norway automática. 100% privado, sin carga.

Codificador y Decodificador URL con Analizador Integrado

Codificación y Formato

Pega una URL para decodificarla o codificarla al instante. Analizador integrado descompone protocolo, host, ruta y parámetros en campos editables. Modos encodeURI y encodeURIComponent. 100% navegador — sin envío de datos.

Conversor de Bases — Binario, Hex, Decimal, Octal

Herramientas de Conversión

Convierte números entre binario, hexadecimal, decimal, octal y cualquier base personalizada (2-36) al instante. Gratis, privado, sin registro — todo el procesamiento ocurre en tu navegador.

Comprimir Imágenes Online — JPEG, PNG y WebP

Herramientas de Conversión

Reduce el tamaño de las imágenes hasta un 80% — comprime JPEG, PNG y WebP en tu navegador, sin subir archivos. Lotes de 20 imágenes, ajusta la calidad, compara antes y después. Gratis y privado.