← Todos os artigos

JSON Pretty Print vs JSON Format: qual a diferença?

Pretty print, format e beautify querem dizer a mesma coisa para JSON. Veja o que realmente difere (minify, validate, tree view) e como fazer.

Resposta curta: para JSON, „pretty print“ e „format“ são a mesma coisa —— e „beautify“ também. Os três significam adicionar indentação consistente e quebras de linha para deixar a estrutura legível, sem mudar os dados. A confusão é real porque algumas operações de fato diferentes (minify, validar, visão em árvore) estão por perto. Este guia esclarece a terminologia e mostra o que realmente difere.

Pretty Print, Format, Beautify —— A mesma operação

„Pretty print JSON“, „format JSON“ e „beautify JSON“ descrevem a mesma operação: pegar um valor JSON (muitas vezes uma string compacta de uma linha) e re-serializar com indentação e quebras de linha. A saída é semanticamente idêntica à entrada —— qualquer parser produz os mesmos dados a partir de qualquer das duas formas, porque o whitespace entre tokens é insignificante em JSON.

// Compacto (o que uma API devolve)
{"user":{"name":"Ada","roles":["admin","editor"]}}

// Pretty-printed / formatted / beautified —— dados idênticos
{
  "user": {
    "name": "Ada",
    "roles": [
      "admin",
      "editor"
    ]
  }
}

Então, se uma ferramenta oferece „Format“, „Beautify“ e „Pretty Print“ como botões separados, eles fazem o mesmo trabalho. Não há distinção técnica útil para aprender.

Então o que realmente é diferente?

As distinções úteis não estão entre pretty-print e format —— estão entre formatar e estas operações vizinhas:

Operação O que faz Muda os dados?
Pretty print / format / beautify Adiciona whitespace para legibilidade Não
Minify Remove whitespace para reduzir o tamanho Não
Validar Verifica se o JSON está sintaticamente correto Não
Visão em árvore Renderiza uma estrutura interativa e dobrável Não
Reparar Corrige JSON inválido (aspas, vírgulas) para que possa ser parseado Sim (corrige sintaxe)

Minify é o oposto exato de pretty print —— veja Como minificar JSON. Validação é uma checagem separada (Como validar JSON), e explorar payloads grandes como árvore é outra coisa (Visualizador em árvore de JSON). Se a sua entrada nem parseia, antes de formatar você precisa reparar.

Como pretty print JSON

A mecânica é a mesma, qualquer que seja a palavra usada pela ferramenta:

// JavaScript —— o terceiro argumento é a indentação
JSON.stringify(value, null, 2);                 // de um valor
JSON.stringify(JSON.parse(raw), null, 2);       // de uma string JSON

# Python
import json
json.dumps(data, indent=2)

# Linha de comando
jq . data.json                                  # jq faz pretty-print por padrão
python3 -m json.tool data.json

Para o passo a passo completo —— ordenar chaves, opções de CLI, converter outros formatos —— veja Como formatar JSON.

Pretty print de JSON online

Para pretty-print sem escrever código, cole o seu JSON em JSON Fix: ele formata com indentação consistente de 2 espaços (e repara os erros comuns antes, então funciona mesmo se o JSON não estiver totalmente válido), tudo no seu navegador e sem upload. Prefere uma visão interativa de um documento grande? Use o JSON Viewer.

Perguntas frequentes

„pretty print JSON“ é o mesmo que „format JSON“?

Sim. Em JSON, pretty print, format e beautify significam a mesma coisa: adicionar indentação e quebras de linha para a leitura sem mudar os dados.

O pretty print muda meus dados JSON?

Não. O whitespace entre tokens é insignificante em JSON, então as formas pretty-printed e compacta fazem parse para a mesma estrutura de dados.

Como faço pretty print de JSON em JavaScript?

Use JSON.stringify(value, null, 2) —— o terceiro argumento define a indentação (2 espaços, 4 espaços ou '\t' para tabs). Faça parse antes se começar de uma string.

Qual é o oposto de pretty print em JSON?

Minificar —— remover todo o whitespace insignificante para produzir JSON compacto em uma linha. Veja Como minificar JSON.

Formatar JSON muda a ordem das chaves?

Não, a menos que você peça. A formatação mantém a ordem das chaves como está, e tanto objetos JavaScript quanto dicts de Python (3.7+) preservam a ordem de inserção. Ordenar as chaves em ordem alfabética é um passo separado e opcional (JSON.stringify com um replacer personalizado, ou json.dumps(..., sort_keys=True)).

Devo usar 2 ou 4 espaços para pretty print de JSON?

Tanto faz —— é uma preferência de estilo, não uma questão de correção. Dois espaços é o padrão mais comum; quatro é comum em Python e Java. A indentação é whitespace insignificante, então qualquer escolha faz parse para os mesmos dados. Escolha uma e aplique de forma consistente em todo o projeto.

Ferramentas e guias relacionados

Fontes

  • RFC 8259 §2 — gramática JSON (a afirmação canônica de que o whitespace insignificante pode aparecer entre quaisquer dois tokens)
  • MDN — JSON.stringify (o parâmetro space que controla a indentação do pretty-print)
  • Python — json.dumps (o equivalente da biblioteca padrão, palavra-chave indent)
  • Manual do jq (o processador JSON de linha de comando de referência; faz pretty-print por padrão)

Última revisão: junho de 2026.