Ferramenta / Texto e Dev

Formatador de JSON

Use o Formatador de JSON da Kitly para organizar respostas de API, arquivos de configuração, logs e dados estruturados localmente no navegador. Um formatar com sucesso significa sintaxe JSON válida, não que um schema passou.

Saída
O JSON formatado aparecerá aqui.

Como formatar e validar JSON

Use a formatação para inspecionar a estrutura e minifique apenas depois que os dados forem analisados sem erro.

  1. Cole o JSON

    Insira o objeto, array, resposta de API ou configuração. Evite colar segredos que não sejam necessários para a análise.

  2. Formate ou minifique

    Formate para adicionar indentação e destaque de sintaxe ou minifique quando precisar de JSON válido e compacto.

  3. Resolva erros e exporte

    Se a análise falhar, use a posição indicada como ponto de partida. Depois da validação, copie ou baixe o resultado.

Problemas comuns de JSON

  • JSON exige aspas duplas em nomes de propriedades e strings; aspas simples não são JSON válido.
  • Vírgulas depois da última propriedade ou do último item de um array fazem a análise estrita falhar.
  • Comentários, undefined, NaN e funções JavaScript não fazem parte do formato JSON.

Escopo da validação

  • Uma análise bem-sucedida confirma a sintaxe, não que os dados sigam um contrato de API ou JSON Schema.
  • A ferramenta não corrige entradas inválidas automaticamente porque ajustes silenciosos podem mudar o significado.
  • Payloads muito grandes podem consumir muita memória e funcionar melhor em ferramentas de linha de comando ou streaming.

Orientações práticas

Estes exemplos mostram um documento aninhado depois de formatar e minificar, um erro de sintaxe com o detalhe observado do analisador e inteiros no limite do intervalo seguro do JavaScript. O último exemplo é JSON válido que ainda falharia num schema.

A formatação precisa de JavaScript porque o navegador analisa e reescreve o texto localmente. Os exemplos medidos, as escolhas e o diagnóstico abaixo continuam legíveis sem JavaScript.

Amostras de JSON medidas

Os resultados foram produzidos com o formatador desta página no Node.js 22.19.0: JSON.parse, depois a verificação de inteiros e então JSON.stringify. As amostras são originais e não contêm segredos.

JSON aninhado, formatado e minificado

Um objeto aninhado compacto cresce quando formatado com dois espaços e volta ao mesmo texto compacto quando minificado.

Entrada, 111 B

{"kit":"sample","ready":true,"count":2,"note":null,"tags":["pdf","json"],"nested":{"locale":"en","weight":1.5}}
Configurações
Formatar JSON.stringify com 2 espaços
Minificar JSON.stringify sem espaço extra

Resultados observados

Formatar, 164 B
{
  "kit": "sample",
  "ready": true,
  "count": 2,
  "note": null,
  "tags": [
    "pdf",
    "json"
  ],
  "nested": {
    "locale": "en",
    "weight": 1.5
  }
}

Minificar, 111 B
{"kit":"sample","ready":true,"count":2,"note":null,"tags":["pdf","json"],"nested":{"locale":"en","weight":1.5}}

O que conferir

Formatar mudou 111 B para 164 B. Minificar esse texto formatado devolveu 111 B, idêntico à entrada. Chaves, true, null e 1.5 permaneceram iguais. O status “JSON válido” aqui significa que o texto foi analisado. Não significa que um schema foi conferido.

Ressalvas

  • Minificar coincidiu com a entrada porque ela já estava compacta. Nem todo documento diminui.
  • Os arquivos formatado e minificado são as strings exatas, sem quebra extra no final.

Arquivos do exemplo

Inteiros fora do intervalo seguro são recusados

Um inteiro sem aspas acima de 9007199254740991 é recusado para o formatador não gravar outro número.

Entrada recusada, 47 B

{"reference":9007199254740993,"label":"unsafe"}
Configurações
Limite seguro, inclusive ±9007199254740991
Token recusado 9007199254740993

Resultado da ferramenta

Este JSON contém um número inteiro fora do intervalo seguro do JavaScript. Para evitar a alteração dos dígitos, armazene esse valor como texto entre aspas antes de formatar.

O que conferir

A saída formatada ficou vazia. O JSON.parse sozinho transformou 9007199254740993 em 9007199254740992. Em seguida, o formatador encontra esse token original e não grava o número alterado. A mesma recusa ocorreu com 9007199254740992 e com -9007199254740993. O inteiro 9007199254740991 foi formatado sem mudança, num documento de 35 B.

Ressalvas

  • Colocar os dígitos entre aspas funciona. quoted-large-integer.json formata um documento de 58 B e mantém 9007199254740993 como string.
  • Um token decimal pula a verificação de inteiros. decimal-large-number.json usa 9007199254740993.0 e o formatador grava 9007199254740992. Coloque o valor entre aspas, ou mantenha um inteiro dentro do limite seguro, quando cada dígito importa.

Arquivos do exemplo

Uma vírgula sobrando é JSON inválido

O formatador mostra o detalhe do analisador e não inventa uma correção.

Entrada, 24 B

{
  "label": "sample",
}

Resultado da ferramenta

Este JSON não é válido. Expected double-quoted property name in JSON at position 23 (line 3 column 1)

O que conferir

A saída ficou vazia. A frase depois do ponto é o detalhe do analisador V8 observado no Node.js 22.19.0. Outro mecanismo de navegador pode redigir esse detalhe de outro modo. A posição 23 é a chave de fechamento na linha 3, depois da vírgula sobrando.

Ressalvas

  • A ferramenta não remove a vírgula por você. Uma correção silenciosa poderia alterar outro documento.

Arquivos do exemplo

Sintaxe válida ainda pode ter o formato errado

Um objeto cujo valor de pages é a string “two” formata com sucesso.

Entrada, 29 B

{"status":"ok","pages":"two"}

JSON formatado, 38 B

{
  "status": "ok",
  "pages": "two"
}

O que conferir

O formatador aceitou este texto. Um schema que exigisse pages como número rejeitaria a string “two”. Esta página confere só a sintaxe JSON. Nomes de campos, tipos e contratos de API precisam de uma verificação de schema separada.

Ressalvas

  • O status “JSON válido” descreve a análise. Não é aprovação do formato dos dados.

Arquivos do exemplo

Formatar, minificar, usar aspas ou validar um schema

Formatar e minificar exigem que o texto seja analisado. Nenhum dos dois confere um schema.

Formatar

Use quando: Você precisa ler a estrutura aninhada, como na amostra de 111 B.

Trocas: A amostra passou de 111 B para 164 B. Os valores não mudaram.

Minificar

Use quando: Você precisa de JSON compacto depois que o texto foi analisado.

Trocas: A amostra que já estava compacta continuou com 111 B. Minificar remove espaço extra; não encurta os dados em si.

Inteiro grande entre aspas

Use quando: Os dígitos são um identificador fora de ±9007199254740991 e precisam permanecer intactos.

Trocas: O valor vira uma string JSON, como na amostra citada de 58 B. Um consumidor que espera um número vai receber uma string.

Validação de schema

Use quando: Você precisa saber se nomes e tipos de campos batem com um contrato.

Trocas: Este formatador ainda aceita syntax-not-schema.json. Use um verificador de JSON Schema para essa pergunta.

Quando a formatação para

Problema: Cole um JSON primeiro.

Causa provável: A entrada está vazia ou só tem espaço em branco.

O que fazer: Cole um valor JSON e depois escolha Formatar ou Minificar.

Problema: Este JSON não é válido. Expected double-quoted property name in JSON at position 23 (line 3 column 1)

Causa provável: invalid-trailing-comma.json tem uma vírgula depois da última propriedade.

O que fazer: Remova a vírgula sobrando e formate de novo. A ferramenta deixa a saída vazia e não reescreve a entrada.

Problema: Este JSON contém um número inteiro fora do intervalo seguro do JavaScript. Para evitar a alteração dos dígitos, armazene esse valor como texto entre aspas antes de formatar.

Causa provável: Um inteiro sem aspas está fora de ±9007199254740991. As amostras são 9007199254740993, 9007199254740992 e -9007199254740993.

O que fazer: Coloque os dígitos entre aspas se eles precisam permanecer exatos. Uma forma decimal como 9007199254740993.0 ainda é formatada, e a amostra muda para 9007199254740992.

Problema: Os dados foram analisados, mas um campo tem o tipo errado.

Causa provável: syntax-not-schema.json é JSON válido e pages é a string “two”.

O que fazer: Confira o contrato ou o JSON Schema em separado. Uma formatação bem-sucedida não confirma esse formato.

Fontes relevantes

Separam a sintaxe JSON, o intervalo de inteiros do JavaScript e o JSON Schema.

Perguntas frequentes

O formatador de JSON envia meus dados?

Não. Formatação, minificação, verificação de sintaxe, cópia e geração de download rodam no navegador.

Esta ferramenta corrige JSON inválido automaticamente?

Não. Ela verifica a sintaxe JSON e mostra erros do parser para você corrigir a origem sem adivinhar o que mudou. Ela não reescreve JSON inválido e não valida um schema.

Qual é a diferença entre formatar e minificar?

Formatar adiciona indentação legível e tokens destacados para revisão, enquanto minificar remove espaços extras para snippets e payloads compactos.

Por que 9007199254740993 foi recusado?

Como inteiro sem aspas, ele está fora do intervalo seguro do JavaScript. O JSON.parse o transformaria em 9007199254740992, então o formatador recusa e deixa a saída vazia. Guarde-o como string entre aspas quando cada dígito precisar permanecer igual.

Uma formatação bem-sucedida significa que meu schema passou?

Não. Formatar e minificar confirmam a sintaxe JSON. A amostra com pages definido como a string “two” formata com sucesso e ainda falharia num schema que exige um número.