Conversão bidirecional feita para k8s, GitHub Actions, Docker Compose e helm. Pré-visualização ao vivo, saída YAML idiomática, tudo no seu navegador.
O js-yaml é ótimo, mas adiciona ~30 KB minificados a cada carregamento de página. O YAML real de arquivos de configuração usa uma fatia pequena da especificação — mapeamentos em bloco, sequências em bloco, estilo em fluxo, tipos escalares, literais multilinha. Implementamos exatamente esse subconjunto à mão (~5 KB), então o carregamento a frio continua rápido. Se o seu YAML usa âncoras, aliases ou tags personalizadas, prefira colá-lo num pipeline de CI que use o js-yaml.
Três recursos raros em arquivos de configuração: (1) âncoras e aliases (&name / *name) — usados para deduplicar dentro de um documento; (2) tags personalizadas (!!str / !!float / !!omap) — usadas para sobrescrever a inferência implícita de tipo; (3) arquivos multidocumento com separadores ---. Nenhum deles aparece em arquivos padrão de k8s, GitHub Actions, Docker Compose, helm ou ansible. Se precisar deles, recorra a um parser YAML completo.
EntradaJSON
1
SaídaYAML
1
Feito para o YAML de DevOps do mundo real
k8s, GitHub Actions, Docker Compose, helm, ansible — e alguns toques especiais que tornam a ferramenta agradável de usar.
Bidirecional, ao vivo
Cole qualquer um dos formatos e obtenha o outro instantaneamente. A saída é atualizada a cada tecla pressionada — sem botão Converter. Inverta a direção com um clique e a mesma ferramenta funciona ao contrário.
Subconjunto YAML 1.2 para arquivos de configuração
Mapeamentos em bloco e em fluxo, sequências em bloco e em fluxo, escalares (string, número, booleano, null), escalares de bloco literal multilinha (|) e dobrados (>). Cobre 99% dos manifests do k8s, GitHub Actions, Docker Compose, GitLab CI, helm values e playbooks do ansible.
Saída YAML idiomática
JSON → YAML gera o YAML que você escreveria à mão: chaves em estilo simples (sem aspas), strings só com aspas quando colidiriam com palavras reservadas (true/false/null/yes/no) ou com números, strings multilinha renderizadas como escalares de bloco |, indentação configurável de 2 ou 4 espaços.
Round-trip seguro
JSON → YAML → JSON gera um documento byte a byte idêntico. Converta em qualquer direção, a outra direção sempre reverte de forma limpa. Sem tipos perdidos silenciosamente nem valores convertidos à força.
Privacidade por design
Sua configuração nunca sai do seu dispositivo. Parser e serializador feitos à mão rodam como JavaScript localmente. Abra DevTools → Network e verifique zero requisições de saída.
Pequeno e rápido
JavaScript puro, sem dependência de js-yaml. O carregamento a frio fica abaixo de 25 KB com gzip. Um manifest k8s de 100 KB é convertido em menos de 30 ms num laptop comum.
Como converter JSON ↔ YAML
Três passos da configuração bruta até o formato que você precisa.
1
Cole seu JSON ou YAML
Solte sua configuração no painel Entrada. A ferramenta detecta qual formato você colou pelo menu Direção — inverta se necessário. A conversão roda ao vivo a cada tecla pressionada.
2
Ajuste a indentação e verifique
A indentação padrão é 2 espaços (convenção do k8s / GitHub Actions). Mude para 4 se a sua equipe usa esse padrão. Clique em Trocar para inverter a saída de volta para a entrada — útil para verificação de round-trip (cole JSON, converta para YAML, troque, converta de volta, compare com o original).
3
Copie ou baixe
Clique no ícone de cópia para enviar a saída para a área de transferência, ou no ícone de download para salvar como output.yaml ou output.json. A diferença em bytes é mostrada no rodapé para você ver quão compacta a representação YAML é.
Feito para times de DevOps + backend
Quatro cenários comuns onde uma ferramenta de navegador com foco em privacidade vence a escrita de um script Python pontual.
Round-trip de manifests Kubernetes
kubectl get deployment my-app -o json → cole aqui → YAML → edite → aplique. Ou: cole um manifest YAML da documentação de um fornecedor, converta para JSON, passe pelo jq para filtrar, converta de volta para YAML, faça commit.
Snippets de GitHub Actions / GitLab CI vindos de posts de blog
Um post de blog mostra um snippet de CI como JSON no tema da documentação. Cole aqui, obtenha YAML, cole em .github/workflows/ci.yml. Ou: pegue um workflow YAML com vários jobs, converta para JSON para edição programática, converta de volta.
Helm values + Docker Compose
Arquivos de helm values são YAML; algumas ferramentas de templating querem JSON. Cole o seu values.yaml, obtenha JSON, processe com sua ferramenta, cole de volta, converta para YAML para o commit. Mesmo fluxo para o compose.yaml do Docker Compose.
Configurações sensíveis que não podem ir para um serviço de terceiros
Configs com chaves de API, segredos, hostnames internos, dados de clientes — qualquer coisa que você não pode colar em um conversor na nuvem. A ferramenta só de navegador mantém cada byte no seu laptop. Abra DevTools → Network e verifique que nada sai.
100% privado — roda no seu navegador
Suas configurações nunca saem do seu dispositivo. Abra DevTools → Network e você verá zero requisições de saída durante a conversão.
Parser YAML feito à mão, serializador YAML, JSON.parse nativo e a cópia para a área de transferência / download rodam todos como JavaScript na sua máquina — sem CDN do js-yaml, sem API de terceiros.
Sem login, sem telemetria sobre o conteúdo da configuração. Usamos apenas um cookie para o estado de consentimento de cookies e outro para a preferência de idioma.
Se você lida com configuração sensível de infraestrutura (snippets de kubeconfig, manifests de secrets, certificados assinados), a história de privacidade importa — cole com confiança. Verificável no DevTools.
Guias relacionados
Leituras selecionadas a dedo sobre padrões de configuração YAML, ferramentas para JSON e formatos de arquivo de DevOps.
Por que criar suporte a YAML se o <code>js-yaml</code> existe?
O js-yaml é ótimo, mas adiciona ~30 KB minificados a cada carregamento de página. O YAML real de arquivos de configuração usa uma fatia pequena da especificação — mapeamentos em bloco, sequências em bloco, estilo em fluxo, tipos escalares, literais multilinha. Implementamos exatamente esse subconjunto à mão (~5 KB), então o carregamento a frio continua rápido. Se o seu YAML usa âncoras, aliases ou tags personalizadas, prefira colá-lo num pipeline de CI que use o js-yaml.
Quais recursos do YAML NÃO são suportados?
Três recursos raros em arquivos de configuração: (1) âncoras e aliases (&name / *name) — usados para deduplicar dentro de um documento; (2) tags personalizadas (!!str / !!float / !!omap) — usadas para sobrescrever a inferência implícita de tipo; (3) arquivos multidocumento com separadores ---. Nenhum deles aparece em arquivos padrão de k8s, GitHub Actions, Docker Compose, helm ou ansible. Se precisar deles, recorra a um parser YAML completo.
Os comentários são preservados?
Não — os comentários são removidos no parse. YAML suporta comentários (#...), mas JSON não. Fazer round-trip de YAML por JSON perde, por definição, a informação dos comentários. Removemos os comentários no parse em vez de tentar preservá-los com gambiarras. Se você precisa editar YAML preservando comentários, edite o YAML diretamente.
Por que meu número está sendo convertido em string?
As regras de tipo implícito do YAML são mais permissivas que as do JSON: 1.2.3 é uma string em YAML (não um número, porque tem dois pontos), e strings de versão como v1.2 são strings, a menos que entre aspas. Seguimos as regras de tipo implícito do YAML 1.2: apenas dígitos que correspondam a ^-?\d+(\.\d+)?([eE][-+]?\d+)?$ viram números; qualquer outra coisa permanece string. Se você precisa de tratamento numérico exato, coloque o valor entre aspas no YAML ou use JSON diretamente.
Algo é enviado para o seu servidor?
Não. O parser YAML, o serializador, o parser JSON e a cópia para a área de transferência rodam todos em JavaScript no seu dispositivo. Abra DevTools → Network e você verá zero requisições de saída durante a conversão. Cole manifests k8s de produção, configs internas de CI, helm values cheios de segredos — nada sai do seu laptop.