Formatador de JSON
O formatador de JSON pega aquele bloco de texto espremido em uma linha só e o devolve indentado, organizado e legível — grátis, direto no navegador e sem cadastro. É a ferramenta que você abre quando precisa entender o que uma API respondeu ou o que um arquivo de configuração realmente diz.
Executar grátis
Roda direto no seu navegador. Grátis, sem cadastro — seus dados não são enviados para lugar nenhum.
Por que indentar muda tudo
JSON viaja minificado: uma linha única, sem espaços, ótima para máquinas e ilegível para gente. Formatado, o mesmo conteúdo revela sua estrutura — o que está dentro do quê, onde começa cada item da lista, qual campo pertence a qual objeto. Para depurar uma integração ou revisar uma configuração, esse é o primeiro passo: ver o dado com os próprios olhos, hierarquia à mostra.
Como usar
Cole o JSON (ou envie o arquivo), escolha a indentação — dois ou quatro espaços — e copie ou baixe o resultado. Se o conteúdo tiver erro de sintaxe, você fica sabendo na hora, com a posição do problema: formatar também é uma forma rápida de conferir que o JSON é válido. Funciona no celular, direto no navegador, sem instalar nada.
Privacidade de série, API para quem automatiza
A formatação roda inteira na página: o JSON não é enviado a nenhum servidor, então dá para colar respostas com tokens e dados internos sem receio. Uso grátis e ilimitado, sem cadastro. Se você precisa formatar documentos dentro de um sistema — para gerar logs legíveis ou padronizar arquivos versionados —, a mesma capacidade existe via API por US$ 0,002 por chamada, até 25 MB por documento.
Casos de uso
Entender a resposta de uma API na hora do bug
O suporte manda o retorno cru do sistema: uma linha com 8.000 caracteres. Formatado, Rafael Almeida Costa enxerga em segundos que o campo de status veio vazio — e sabe onde procurar o problema.
Revisar configuração antes de versionar
Antes de subir um arquivo de configuração para o repositório, o time da TecnoSul padroniza a indentação. O diff do Git fica limpo e a revisão de código deixa de brigar com espaços.
Ler um export no celular
O JSON chegou pelo WhatsApp do plantão. No navegador do celular, uma colada no formatador transforma o bloco ilegível em estrutura clara — dá para responder o chamado sem abrir o notebook.
Perguntas frequentes
Formatar e validar são a mesma coisa?
Andam juntas: para formatar, o JSON precisa ser lido — então erros de sintaxe aparecem no processo, com a posição. Para um diagnóstico detalhado de erros, o KIT tem também o validador dedicado.
Posso escolher o tamanho da indentação?
Pode: dois ou quatro espaços, conforme o padrão do seu projeto.
Colei um JSON com token de acesso dentro. Corro algum risco?
O conteúdo não sai do seu navegador: a formatação é local e nada é enviado ou armazenado. Ainda assim, boa prática é revogar tokens que circularam por canais inseguros — o risco está no caminho até aqui, não nesta página.
É grátis para sempre ou vira pago depois?
O uso na página é grátis e sem limite — não é amostra de plano pago. A API para uso automático custa US$ 0,002 por chamada, e esse preço está publicado.
Tem limite de tamanho?
25 MB por documento, na página e na API.
A ordem dos campos muda ao formatar?
Não: a formatação mexe em espaços e quebras de linha, não no conteúdo nem na ordem dos campos.
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/json-format \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/data/json-format", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/data/json-format",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/data/json-format", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/data/json-format", 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
{
"input": "…"
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "data.json_format",
"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. |