Conversor YAML e JSON
Converta YAML para o formato de chaves que os aplicativos leem, ou o contrário: no exemplo, um bloco de servidor com host example.com e porta 8080 mantém o aninhamento, e 8080 continua número. Comentários que não sobrevivem são avisados, não somem calados. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.
É a ferramenta de bolso de quem mexe com arquivos de configuração: cola de um lado, sai do outro, sem instalar biblioteca nem abrir o terminal.
Duas maneiras de escrever os mesmos dados
O YAML, publicado pela primeira vez em 2001, foi criado para ser lido e editado por pessoas: recuo em vez de chaves e espaço para comentários ao lado de cada configuração. O formato de chaves que a maioria dos aplicativos lê é o oposto: rígido e cômodo para os programas, mas cansativo de editar à mão. Manifestos do Kubernetes, fluxos do GitHub Actions e arquivos do docker-compose são todos YAML, e painéis, validadores e editores de configuração feitos para o outro formato não conseguem lê-los diretamente. Muitas configurações também nascem no formato de chaves e precisam virar YAML assim que chegam a um processo de implantação que só entende YAML. Um único conversor cobre as duas viagens.
O que sobrevive à conversão e o que não sobrevive
A estrutura e os tipos viajam intactos. No exemplo, o grupo do servidor mantém dentro dele o host, example.com, e a porta, 8080; a porta continua sendo número e a configuração ativa continua verdadeira. Com os comentários é diferente: o formato de chaves não tem lugar para eles, então não podem acompanhar os dados. Em vez de sumirem sem aviso, eles aparecem em um breve relatório, junto com certas âncoras do YAML que também não sobrevivem. O sentido da conversão é deduzido do que você cola, ou você mesmo escolhe. A surpresa clássica é converter um arquivo comentado, voltar para YAML e descobrir que as anotações sumiram: guarde o YAML original se esses comentários importam.
Dois formatos, o mesmo dado, dores diferentes
YAML domina os arquivos de configuração — pipelines de CI, docker-compose, manifests — porque é fácil de ler. A conversão bidirecional resolve os dois trajetos na mesma página.
O detalhe traiçoeiro do YAML: a indentação
Um espaço a mais e o YAML muda de significado — ou quebra. É um jeito rápido de depurar um pipeline que falhou por erro de indentação. Na direção contrária, o YAML gerado sai com indentação consistente, pronto para versionar.
Grátis no navegador e pronto para automatizar
O uso no navegador é grátis e sem limite: seus arquivos de configuração — que às vezes carregam nomes de serviços e variáveis internas — não saem da página. Sem cadastro num caso nem no outro.
Perguntas frequentes
Converte nos dois sentidos mesmo?
Você escolhe a direção e cola o conteúdo.
Comentários do YAML sobrevivem à conversão?
Se os comentários importam, guarde o YAML original.
É grátis, sem pegadinha?
Sem pegadinha: grátis e ilimitado no navegador, sem cadastro e sem marca d'água.
Meus arquivos de configuração são sensíveis. Eles saem do meu computador?
No modo do navegador, não: a conversão roda localmente na página, e nada é enviado para servidor algum.
Tem limite de tamanho?
25 MB por documento — muito acima de qualquer arquivo de configuração razoável.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/data/yaml-json \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"yaml":"a: 1","json":{"a":1}}'const res = await fetch("https://api.kit.forhosting.com/data/yaml-json", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"yaml": "a: 1",
"json": {
"a": 1
}
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/yaml-json",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"yaml": "a: 1",
"json": {
"a": 1
}
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/yaml-json", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"yaml":"a: 1","json":{"a":1}}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"yaml":"a: 1","json":{"a":1}}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/yaml-json", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"yaml": "a: 1",
"json": {
"a": 1
}
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.yaml_json",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
max_mb | 25 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Este conversor traduz YAML para JSON e JSON para YAML, nos dois sentidos, direto no navegador — grátis e sem cadastro.
Dois formatos, o mesmo dado, dores diferentes
JSON domina as APIs e o código, porque é fácil de processar. Quem trabalha com infraestrutura ou integrações cruza a fronteira entre os dois toda semana: conferir o que um YAML vai virar quando o sistema o consumir, ou transformar uma resposta JSON em configuração legível.
O detalhe traiçoeiro do YAML: a indentação
Convertendo para JSON, você enxerga na hora a estrutura real que o arquivo descreve: o que é lista, o que é objeto, onde aquele item ficou aninhado sem querer.
Grátis na página, automatizável via API
Para converter dentro de um fluxo automático, a mesma capacidade existe via API por US$ 0,002 por chamada, com documentos de até 25 MB.
Casos de integração
Depurar o pipeline que falhou de madrugada
O deploy quebrou e a suspeita é o YAML do pipeline. Thiago Barbosa Lima cola o arquivo, converte em JSON e vê na hora que um passo ficou fora da lista por causa de dois espaços — correção de um minuto.
Transformar resposta de API em configuração
A API de um serviço devolve a configuração atual em JSON. Convertida em YAML, ela entra direto no repositório de infraestrutura como código, legível para todo o time revisar no pull request.
Padronizar exemplos de documentação
A TecnoSul documenta sua API com exemplos em JSON, mas os clientes de DevOps pedem os mesmos exemplos em YAML. A conversão gera as duas versões idênticas em conteúdo, sem manter nada à mão.
Perguntas técnicas
O que acontece com âncoras e referências (& e *) do YAML?
Elas são resolvidas: o JSON sai com os valores expandidos, que é o que qualquer sistema consumidor veria.