Comparador de Texto / JSON

Compare textos ou arquivos JSON lado a lado e identifique exatamente o que mudou.

Original
Modificado
Diferenças
Pronto. Cole ambas as versões para comparar.

Seu texto e JSON são comparados diretamente no seu navegador. Nada é enviado para o BroBroGo.

FAQ

Qual é a diferença entre o modo de texto e o modo JSON?

O modo de texto compara o conteúdo bruto por linha ou palavra. O modo JSON analisa primeiro ambos os lados, formata-os de maneira consistente e lista os caminhos alterados, como $.user.email.

A ferramenta suporta entradas muito grandes?

Comparações lentas são interrompidas após 2,5 segundos. Textos colados acidentalmente que sejam muito grandes são limitados para que a página continue responsiva.

O modo JSON ignora a ordem das chaves dos objetos?

A lista estruturada de alterações compara as chaves dos objetos pelo nome, portanto, a ordem das chaves por si só não é relatada como uma alteração semântica. Os arrays são comparados por posição.

O conceito de comparação de dados e sua utilidade

A comparação de dados, amplamente conhecida pelo termo técnico "diff", é o processo de identificar discrepâncias estruturais ou textuais entre duas versões de um mesmo conteúdo. Esse procedimento é fundamental para rastrear a evolução de documentos, validar alterações em arquivos de configuração, inspecionar respostas de APIs e auditar dados antes e depois de processos de migração.

Ao analisar as diferenças entre um estado "Original" (à esquerda) e um estado "Modificado" (à direita), o processo de comparação categoriza as alterações em três tipos distintos:

  • Adicionado: Elementos ou trechos que existem apenas na versão modificada.
  • Removido: Elementos ou trechos que estavam presentes na versão original, mas foram excluídos.
  • Alterado: Elementos que existem em ambas as versões, mas sofreram modificações em seu conteúdo ou valor.

Comparação de texto por linhas ou palavras

No modo de texto, a análise de diferenças pode ser ajustada de acordo com o nível de detalhamento necessário, utilizando dois tipos de granularidade:

  1. Linhas: Compara o conteúdo linha por linha. É o método ideal para códigos-fonte, arquivos de configuração estruturados de forma linear ou listas onde cada item ocupa uma linha própria.
  2. Palavras: Analisa as alterações dentro de cada sentença, destacando termos específicos que foram substituídos, adicionados ou removidos. É a escolha mais adequada para textos corridos e revisões editoriais literárias.

Para demonstrar o funcionamento do modo de texto, a ferramenta disponibiliza um exemplo prático com os seguintes valores:

  • Original:
    As ferramentas do BroBroGo rodam no seu navegador.
    Elas são rápidas, privadas e simples.
    Use-as quando precisar de uma verificação rápida.
    
  • Modificado:
    As ferramentas do BroBroGo rodam no seu navegador.
    Elas são rápidas, privadas e focadas.
    Use-as quando precisar de uma comparação rápida.
    

Ao processar essa comparação, o sistema aponta as alterações exatas de termos como "simples" para "focadas" e "verificação" para "comparação".

Análise estrutural de arquivos JSON

Diferente do texto puro, a comparação de arquivos JSON (JavaScript Object Notation) exige uma abordagem semântica que respeite as regras de sintaxe do formato. O comparador analisa a estrutura dos dados e mapeia as diferenças diretamente pelos seus caminhos estruturais.

A análise de JSON segue regras específicas para evitar falsos positivos:

  • Ordem das chaves em objetos: As chaves de um objeto JSON são comparadas pelo nome. Isso significa que se os mesmos pares de chave e valor estiverem em ordens diferentes entre o arquivo original e o modificado, a ferramenta não reportará isso como uma mudança semântica.
  • Arrays: Os elementos contidos em arrays (vetores) são comparados estritamente pela sua posição de índice.

O exemplo de JSON integrado à ferramenta ilustra essa estrutura de comparação:

  • Original:
    {
     "name": "BroBroGo",
     "plan": "free",
     "tools": ["json", "regex", "hash"],
     "private": true
    }
    
  • Modificado:
    {
     "name": "BroBroGo",
     "plan": "free",
     "tools": ["json", "regex", "diff"],
     "private": true,
     "updated": 2026
    }
    

Neste cenário, a ferramenta identifica que o terceiro elemento do array "tools" mudou de "hash" para "diff", e que uma nova chave "updated" com o valor 2026 foi adicionada ao objeto.

Limites operacionais e tratamento de erros

Para garantir que a aplicação permaneça utilizável e responsiva mesmo sob cargas elevadas, existem limites técnicos e mensagens de diagnóstico padronizadas para orientar o usuário:

  • Limite de caracteres: Cada campo de entrada ("Original" e "Modificado") possui um limite máximo de 300.000 caracteres. Se este limite for ultrapassado, a ferramenta exibe a mensagem: "Essa entrada é grande demais para esta ferramenta. Tente uma comparação menor.".
  • Tempo limite de execução: O algoritmo de comparação é interrompido se a análise demorar mais de 2,5 segundos. Caso isso ocorra, é exibida a mensagem: "Esta comparação está demorando muito. Tente uma entrada menor ou use o modo de linhas.".
  • Otimização de exibição: Em casos de volumes de dados limítrofes, a ferramenta pode limitar a renderização visual para manter a página estável, exibindo o aviso: "Exibindo um resultado limitado para que a página continue responsiva.".
  • Validação de sintaxe JSON: Se um dos lados contiver um JSON malformado, a análise estrutural é impedida. O sistema reportará detalhadamente o erro com as mensagens "O JSON da esquerda é inválido:" ou "O JSON da direita é inválido:" seguidas do diagnóstico técnico do parser.
  • Falhas genéricas: Se por qualquer outro motivo a operação falhar, o sistema exibirá "Não foi possível comparar estas entradas.". Se nenhuma mudança for detectada no modo JSON, a mensagem apresentada será "Nenhuma alteração de valor JSON encontrada.".

Privacidade e processamento local

A segurança dos dados é um aspecto crítico ao lidar com códigos de configuração, payloads de APIs ou textos internos de projetos. O processamento desta ferramenta ocorre inteiramente no navegador do usuário.

Os textos e estruturas JSON colados nos campos de entrada não são enviados para servidores externos ou para o BroBroGo. Toda a computação necessária para realizar o diff, formatar o JSON e renderizar as diferenças visuais é executada localmente pelo motor de JavaScript do próprio navegador.


Perguntas Frequentes (FAQ)

Qual é a diferença entre o modo de texto e o modo JSON?
O modo de texto compara o conteúdo bruto por linha ou palavra. O modo JSON analisa primeiro ambos os lados, formata-os de maneira consistente e lista os caminhos alterados, como $.user.email.

A ferramenta suporta entradas muito grandes?
Comparações lentas são interrompidas após 2,5 segundos. Textos colados acidentalmente que sejam muito grandes são limitados para que a página continue responsiva.

O modo JSON ignora a ordem das chaves dos objetos?
A lista estruturada de alterações compara as chaves dos objetos pelo nome, portanto, a ordem das chaves por si só não é relatada como uma alteração semântica. Os arrays são comparados por posição.

Como a ferramenta lida com a privacidade dos meus dados?
Seu texto e JSON são comparados diretamente no seu navegador. Nada é enviado para o BroBroGo, garantindo que as informações inseridas permaneçam restritas ao seu ambiente local.