Saltar para o conteúdo
4all.tools

Analise tamanho, tipos e profundidade JSON

Meça o tamanho do JSON em bytes UTF-8, compare a economia da minificação e examine valores, arrays e profundidade.

Espaço de trabalho da ferramenta

Analisador de tamanho JSON

Ative JavaScript para analisar JSON localmente no navegador.

Analise um documento JSON estrito, incluindo raízes primitivas. Chaves duplicadas após decodificação são rejeitadas. A análise começa apenas ao pressionar Analisar JSON.

Seu JSON e o relatório permanecem nesta aba. Nada é enviado ou salvo.

Texto atual: até 1000000 unidades UTF-16 e 4000000 bytes UTF-8; arquivo: 4000000 bytes; profundidade de contêineres: 200; nós: 100000.

Texto atual

Parsing: 1000000 unidades de trabalho; medição: 1000000 unidades; análise: 100000 visitas; rankings: 4000000 comparações. Cada caminho completo: 10000 unidades; caminhos combinados: 400000. Tempo máximo: 15000 ms. Um caminho ou o trabalho podem ultrapassar o orçamento mesmo quando tamanho e nós cabem.

Ative JavaScript para analisar JSON localmente no navegador.

    Quanto espaço seu JSON ocupa?

    Cole JSON ou abra um arquivo .json UTF-8 e pressione Analisar JSON. O relatório mede o texto do editor, conta seus valores e mostra os caminhos mais profundos e os arrays com mais elementos. O processamento ocorre no navegador; o documento e o relatório não são enviados nem salvos.

    A entrada precisa ser JSON estrito. Comentários, vírgulas finais e chaves duplicadas são rejeitados. Valores isolados como null, 42 e "" são válidos, assim como {} e [].

    Por que bytes e comprimento são diferentes

    Os bytes UTF-8 indicam o espaço necessário para codificar o texto. O comprimento UTF-16 conta as unidades usadas nas strings do JavaScript. Nenhuma dessas medidas corresponde à quantidade de caracteres visíveis.

    Por exemplo, {"é":"😀"} ocupa 13 bytes UTF-8 e 10 unidades UTF-16. Escrever "\u00E9" em vez de "é" ocupa mais bytes, embora as duas strings representem o mesmo valor. KiB e MiB usam múltiplos de 1024.

    A medição inclui espaços e um BOM inicial, quando presente. Como o editor pode normalizar as quebras de linha, o resultado pode diferir do tamanho do arquivo original.

    O que a minificação economiza

    O relatório compara o texto atual com uma versão sem espaços, tabulações ou quebras de linha fora das strings. Também remove um BOM inicial. Espaços dentro das strings, ordem das chaves, escapes e números como 1.0, 1e0, -0 e 9007199254740993 são preservados. Um segundo BOM inicial é inválido.

    Experimente este exemplo:

    {"a":[null,{"b":true}],"c":"x"}

    Ele já está minificado: as duas medidas dão 31 bytes, sem economia. São 6 valores e 3 chaves de objeto: 2 objetos, 1 array, 1 null, 1 booleano e 1 string.

    Essas medidas descrevem o texto, não a compressão gzip/Brotli, o tráfego HTTP, a memória ou os tokens de IA. A ferramenta não baixa JSON minificado nem exporta o relatório.

    Como ler a estrutura

    Cada valor conta uma vez, incluindo a raiz e os contêineres vazios. As chaves são contadas separadamente. Os percentuais dos tipos mostram a quantidade de valores, não os bytes que ocupam.

    A profundidade do caminho começa em zero na raiz. A profundidade de contêineres conta objetos e arrays ao longo do caminho. Ambas chegam a 3 no exemplo. O array $.a tem 2 elementos diretos; o valor mais profundo está em $.a[1].b.

    Cada lista de detalhes mostra até 20 entradas. Os arrays são ordenados pela quantidade de elementos diretos, não por bytes; empates mantêm a ordem do documento. As linhas omitidas não alteram os totais, que abrangem o documento inteiro.

    Use Copiar caminho para copiar um caminho completo ou Localizar na entrada para selecionar seu valor. Se editar o texto, faça a análise novamente.

    Documentos grandes

    Limite Máximo
    Arquivo e texto em UTF-8 4.000.000 bytes
    Comprimento do texto 1.000.000 unidades UTF-16
    Contêineres aninhados 200 níveis
    Valores 100.000
    Tempo de análise 15 segundos

    Caminhos longos ou estruturas complexas podem atingir outros limites de processamento antes desses máximos. Se a análise falhar, nenhum relatório parcial será mostrado. Um aviso de precisão não significa que o texto medido foi arredondado; números fora do intervalo aceito, como 1e999, são rejeitados.

    É necessário ter JavaScript e um navegador compatível com Workers. Cancelar mantém a entrada para você reduzir o documento e tentar novamente.