1001Ferramentas
⚖️ Dev

Analisador de Tamanho de JSON por Chave

Analisa um JSON e mostra quantos bytes cada chave ocupa, em ordem de peso, com percentual do total e o caminho completo de cada nó.

Como os bytes são contados

Cada nó é medido pelo tamanho em bytes UTF-8 da sua forma minificada, então a indentação do texto colado não infla nenhum campo. Letras acentuadas custam dois bytes e emojis custam quatro — por isso um rótulo curto em português pode pesar mais que um em inglês do mesmo tamanho.

Com o custo de chave ligado, o nó também paga pelo próprio nome, pelos dois-pontos e pela vírgula que o separa do irmão seguinte. É isso que torna útil o bloco de chaves repetidas: um nome como createdAt repetido 340 vezes custa perto de 4 KB antes de qualquer valor, e encurtá-lo costuma render mais que enxugar os valores.

Descubra qual campo pesa mais no JSON

Uma resposta de API que cresceu de 40 KB para 300 KB raramente engordou por igual: quase sempre um campo específico puxou o resto. Colando o JSON aqui, você vê o peso de cada nó em bytes, o percentual do total e o caminho completo, no estilo $.data.items[0].resumo. A lista sai ordenada do maior para o menor, então o culpado costuma aparecer na primeira linha.

A conta é feita sobre a forma minificada, em bytes UTF-8, e não sobre o texto colado. Assim a indentação do arquivo não infla nenhum campo, e o resumo ainda mostra quanto do payload é só espaço em branco. Vale lembrar que letra acentuada custa dois bytes e emoji custa quatro: um rótulo curto em português pode pesar mais que um equivalente em inglês do mesmo tamanho aparente.

O detalhe que costuma render mais economia está no bloco de chaves repetidas. Com o custo de chave ligado, cada nó paga também pelo próprio nome, pelos dois-pontos e pela vírgula que o separa do irmão seguinte. Um nome como createdAt repetido 340 vezes já custa perto de 4 KB antes de qualquer valor, e encurtá-lo ou movê-lo para fora da lista rende mais que enxugar os textos.

Perguntas frequentes

Por que a soma dos nós não bate com o total?
Duas razões. As chaves e colchetes que delimitam o objeto raiz não pertencem a nenhum filho, e a tabela só lista os caminhos até a profundidade escolhida, enquanto o total mede o documento inteiro. Aumentar a profundidade detalha mais níveis, mas o total continua o mesmo.
O que muda ao desligar o custo do nome da chave?
Cada nó passa a valer apenas os bytes do próprio valor, sem o nome, sem os dois-pontos e sem a vírgula. É a visão útil quando você quer comparar conteúdo entre campos; deixando ligado, você enxerga o custo real que aquele campo tem dentro do payload transmitido.
Dá para analisar um JSON grande, de alguns megabytes?
Dá, e tudo roda no seu navegador, sem envio para servidor nenhum. Acima de 3 MB a página avisa que a análise pode travar a aba por alguns segundos, já que cada nó é serializado para medir seu tamanho. Reduzir a profundidade não acelera: a varredura percorre a árvore toda.

Ferramentas Relacionadas