Comparador de diferenças CSV

Compare dois arquivos CSV e veja instantaneamente as linhas adicionadas, removidas e as células alteradas. Escolha qualquer coluna como chave para casar linhas, veja os valores antes e depois lado a lado, e compare até CSVs com colunas diferentes. Tudo processado no seu navegador.

Dicas

  • A coluna-chave usa por padrão a primeira coluna, mas se seus dados tiverem uma coluna de ID ou chave primária, selecione-a: as linhas continuarão sendo casadas corretamente mesmo que a ordem ou a quantidade mude.
  • Se nenhum dos CSVs tiver linha de cabeçalho, desmarque "Tratar a primeira linha como cabeçalho" para comparar usando nomes automáticos como col1, col2 etc.
  • A seção "Linhas alteradas" compara coluna por coluna as linhas correspondentes e lista apenas as colunas que diferem, no formato "antes para depois".
  • Arquivos TSV (separados por tabulação) também funcionam: basta mudar o delimitador para "Tabulação" e colar os dados como estão.
  • Em vez de enviar um arquivo, você pode colar um intervalo copiado diretamente do Excel ou do Google Sheets, e a comparação funcionará igualmente bem.

Perguntas frequentes

É comumente usado para comparar dados mestres exportados antes e depois de uma atualização, ou para verificar a consistência dos dados antes e depois de uma migração de sistema. Mesmo com CSVs grandes, é possível identificar imediatamente as linhas adicionadas, removidas ou alteradas, economizando muito mais tempo do que uma comparação visual linha a linha.

Sim. As linhas são casadas pelo valor da coluna-chave selecionada, então mesmo que a ordem das linhas seja diferente entre os dois arquivos, linhas com a mesma chave ainda são comparadas corretamente. Se um valor de chave aparecer mais de uma vez, prevalece a linha que aparece por último.

Sim. A comparação é baseada em uma lista combinada de colunas construída a partir dos dois cabeçalhos, então as colunas são casadas pelo nome mesmo que a ordem seja diferente. Uma coluna que existe somente em um dos arquivos é tratada como valor vazio no outro ao calcular a diferença.

Não. Todo o processamento de comparação ocorre inteiramente em JavaScript no seu navegador, e o conteúdo inserido ou enviado nunca é transmitido a nenhum servidor, tornando o uso seguro mesmo com dados sensíveis.

Sim. Os valores das células são comparados como strings exatas, então diferenças de maiúsculas/minúsculas ou espaços extras no início/fim são sinalizadas como alterações. Se quiser ignorar esse tipo de diferença de formatação, normalize seus dados antecipadamente.
ツールくん

Curiosidade — Por que um diff de texto sozinho não basta para arquivos CSV

Comparar dois arquivos CSV tradicionalmente significava colocar duas planilhas lado a lado no Excel, ou executar um diff de texto baseado em linhas com uma ferramenta como o Git. Mas como cada linha de um CSV agrupa vários valores separados por vírgulas, um diff baseado em linhas só informa que "a linha mudou", sem indicar qual coluna especificamente foi alterada. Esta ferramenta identifica diferenças no nível da célula justamente para preencher essa lacuna.

Em sistemas corporativos, exportar tabelas de banco de dados para CSV a fim de compará-las — frequentemente chamado de reconciliação de dados — é uma tarefa rotineira. Verificar se os dados coincidem exatamente antes e depois de uma migração, ou conferir se um processo em lote mensal produziu o resultado esperado, costuma envolver milhares ou até dezenas de milhares de linhas. Nessa escala, casar linhas mecanicamente por uma coluna-chave torna-se essencial.

Os algoritmos de diff usados por sistemas de controle de versão como o Git (como o algoritmo de Myers) são excelentes na detecção de adições e remoções no nível de linha, mas nem sempre são ideais para dados CSV em que "a mesma linha" pode ter apenas um ou dois valores de coluna alterados. Casar linhas por chave e depois comparar célula por célula, como faz esta ferramenta, é uma abordagem criada especificamente para dados tabulares.