Conversor de YAML para JSON
Cole YAML à esquerda, obtenha JSON à direita. Roda totalmente no seu navegador — sem upload, sem cadastro.
- Cole seu YAML na área de texto à esquerda.
- Clique em "Converter para JSON". A saída aparece à direita.
- Copie o resultado, ou clique em Baixar para salvar como data.json.
- Se a conversão falhar, a mensagem de erro aponta a linha ofensora.
O que ele faz?
Converte documentos YAML 1.2 em JSON equivalente. Mappings viram objetos, sequences viram arrays, escalares são tipados como números, booleanos, nulls ou strings de acordo com as regras de YAML. Anchors e aliases são resolvidos durante a conversão. Streams multi-documento (separados por `---`) são achatados em um array de documentos.
Exemplo
Entrada YAML:
name: Ada
tags:
- math
- logic
active: true Saída JSON:
{
"name": "Ada",
"tags": [
"math",
"logic"
],
"active": true
} Erros comuns de YAML e como corrigi-los
YAML é sensível a espaços em branco, fonte da maioria das mensagens "falha ao parsear". O parser aponta linha e coluna da falha — esses são os padrões a procurar.
- Tabs em vez de espaços. YAML 1.2 proíbe tabs para indentação. Substitua cada tab por espaços — a maioria dos editores tem comando "converter tabs em espaços".
- Níveis de indentação misturados. Um filho indentado com 2 espaços sob um irmão com 4 espaços vai falhar. Escolha uma largura de indentação (geralmente 2 espaços) e use-a consistentemente em todo o documento.
- Strings que parecem booleanos. Em YAML 1.1, `yes`, `no`, `on`, `off` são parseados como booleanos — surpreendente em códigos de país (a armadilha "NO") e strings de versão. Coloque o valor entre aspas: `country: "NO"`. js-yaml usa por padrão YAML 1.2 onde isso está corrigido, mas entradas reais ainda atingem o problema.
- Caracteres especiais sem aspas. Valores começando com `- `, `:`, `?`, `&`, `*`, `!`, `|`, `>`, `\'`, `"`, `%`, `@`, `` ` `` precisam de aspas. Padrão mais seguro: coloque entre aspas qualquer string com pontuação.
- Aspa não terminada. Uma `"` ou `\'` de fechamento ausente faz o parser tratar o resto do arquivo como parte da string até a próxima aspa — geralmente produzindo um número de linha confuso longe do erro real.
- Anchor / alias incompatível. Aliases (`*name`) referenciando um anchor não definido (`&name`) levantam erro de parse. Verifique se cada alias tem um anchor correspondente declarado antes no documento.
Perguntas frequentes
Isto suporta peculiaridades de YAML 1.1 como o "problema da Noruega"?
Não — e isso é intencional. Usamos js-yaml em modo YAML 1.2, onde `NO` sem aspas parseia como string "NO" em vez do booleano false. Se você tem entradas dependentes de booleanos YAML 1.1, coloque-as entre aspas explicitamente antes de colar. Misturar as duas spec em uma ferramenta traduziria seus dados de forma silenciosamente errada.
O que acontece com anchors e aliases YAML?
São resolvidos durante a conversão. O JSON resultante contém os valores duplicados como dados simples — anchors não sobrevivem em JSON porque JSON não tem sintaxe equivalente de referência. Se você precisa preservar referências, JSON não é o formato alvo certo.
Posso converter arquivos YAML multi-documento?
Sim. Arquivos YAML contendo múltiplos documentos separados por `---` são convertidos para um array JSON, com cada documento virando um elemento do array. Se seu arquivo é documento único, é convertido para um único objeto ou valor JSON no nível superior.
Por que minha string de data sai em formato ISO?
YAML tem um tipo timestamp nativo (`2025-12-31`). O parser lê como Date JavaScript, que serializa para JSON como string ISO 8601. Para manter o texto literal original, coloque o valor entre aspas no seu YAML: `release: "2025-12-31"`.
É seguro para configs YAML sensíveis?
Sim. Tudo roda no seu navegador — sua entrada é parseada e convertida pelo JavaScript desta página, não enviada para servidor algum. Sem logs, sem analytics sobre a entrada, sem retenção. Verifique nas ferramentas de desenvolvedor: zero requisições de rede ao clicar em Converter.
Qual o tamanho máximo de arquivo YAML?
Até o limite de memória do seu navegador, mas o textarea começa a ficar lento acima de ~10 MB de YAML. Para entradas maiores, converta em pedaços ou use a mesma biblioteca (js-yaml) na linha de comando.