Remover linhas duplicadas de uma lista
Cole uma lista e ela volta sem as repetições. A ordem da primeira aparição é mantida, a menos que você peça outra coisa, e dá para inverter e ver só as linhas que estavam duplicadas.
As duas últimas servem para auditar uma lista, não para limpá-la.
Só faz diferença quando as cópias diferem no uso de maiúsculas ou nos espaços.
O que conta como "a mesma linha"
A deduplicação vale o que valer a regra que você usa para decidir que duas linhas são iguais. A ferramenta monta uma chave de comparação para cada linha — com as pontas aparadas, em minúsculas e normalizada conforme as caixas de seleção — e trata como cópias as linhas que têm a mesma chave. O que aparece impresso é a linha original, não a chave, então ligar Ignorar maiúsculas e minúsculas não deixa a sua saída em minúsculas. Isso só muda o que é considerado uma repetição.
Essa distinção importa quando as cópias diferem. Se a sua lista tem Acme Ltd e ACME LTD, ignorar maiúsculas e minúsculas junta as duas em uma, e Qual cópia manter decide qual grafia sobrevive. Manter a primeira é o que você quer em um log ou em uma lista em que só se acrescenta. Manter a última é o que você quer quando as entradas posteriores são correções.
Por que duas linhas de aparência idêntica se recusam a coincidir
Essa é a reclamação mais comum sobre qualquer deduplicador, e quase nunca é um defeito da ferramenta.
- Espaço no fim. Um espaço depois de uma palavra é invisível e torna a linha única. É por isso que aparar as pontas vem ligado por padrão.
- Espaços inquebráveis. Copiar de uma página web ou de um processador de texto traz com frequência U+00A0 no lugar de um espaço normal. Ele parece idêntico e é outro caractere. Aparar as pontas remove esse espaço, porque o JavaScript o conta como espaço em branco, mas um que fique no meio da linha sobrevive.
- Normalização Unicode. A letra é pode ser guardada como um único ponto de código (U+00E9) ou como um
esimples seguido de um acento agudo combinante (U+0301). As duas aparecem iguais e se comparam como cadeias diferentes. Os nomes de arquivo do macOS historicamente usam a forma decomposta, enquanto o Windows e quase toda entrada na web usam a composta, então uma lista montada a partir das duas origens vai ter gêmeas. Normalizar acentos converte tudo para a forma composta (NFC) antes de comparar. - Fins de linha. O texto do Windows termina as linhas com um retorno de carro mais uma quebra de linha. A ferramenta tira o retorno de carro antes de qualquer outra coisa, então uma lista com finais misturados não produz duplicatas fantasma.
O que a normalização não resolve são os caracteres sósias de alfabetos diferentes. O а cirílico e o a latino são letras diferentes que por acaso têm o mesmo desenho, e nenhuma forma de normalização funde as duas. O mesmo vale para os caracteres latinos de largura total e para a diferença entre o apóstrofo curvo e o reto. Se uma linha teima em não ser deduplicada, normalmente é esse o motivo, e você vai ter que localizar e substituir o caractere em si.
A versão de linha de comando, e a armadilha dela
Em um shell Unix o equivalente é o uniq, e ele tem uma pegadinha que engana gente por anos: o uniq só remove duplicatas adjacentes. Ele lê o arquivo como um fluxo e compara cada linha com a anterior, então uma lista com repetições espalhadas sai sem mudança nenhuma. O jeito certo é sort file | uniq, ou simplesmente sort -u file.
Esta ferramenta funciona de outro jeito. Ela guarda cada chave distinta em uma tabela hash, então as repetições são encontradas por mais distantes que estejam, e a ordem original sobrevive. Isso custa memória proporcional ao número de linhas distintas, que é justamente o custo que o uniq evita ao trabalhar em fluxo.
Onde esta ferramenta deixa de ser a certa
Tudo roda na aba do seu navegador, em uma única thread. Algumas centenas de milhares de linhas não são problema; um log de vários milhões de linhas vai travar a aba enquanto trabalha, e colar um arquivo desse tamanho em uma caixa de texto já é desagradável antes mesmo de você apertar qualquer coisa. Para esses casos, a resposta é sort -u ou awk.
Ela também é estritamente baseada em linhas. Um CSV em que um campo contenha um valor entre aspas com uma quebra de linha dentro vai ser partido nessa quebra, e as duas metades serão tratadas como registros separados. Deduplicar CSV por uma única coluna não é algo que uma ferramenta de linhas consiga fazer — você precisa de uma planilha ou de um script que entenda o formato.
Por fim, a conversão entre maiúsculas e minúsculas usa as regras padrão do seu navegador. Elas estão certas para a esmagadora maioria dos textos e erradas em alguns casos conhecidos: o i turco com ponto e sem ponto não se converte do jeito que um leitor turco espera, e o ß alemão vira SS em maiúsculas sem caminho de volta.
Perguntas frequentes
Ele mantém a ordem original da minha lista?
Mantém, por padrão. Cada linha distinta aparece na posição da sua primeira ocorrência. Marque "Ordenar o resultado de A a Z" se preferir em ordem alfabética, que é o que o sort -u daria na linha de comando.
Como vejo quais linhas estavam duplicadas em vez de removê-las?
Coloque Mostrar em "Só as linhas que se repetiram". Você recebe uma cópia de cada linha que apareceu mais de uma vez. Marque "Prefixar cada linha com a contagem" para ver quantas vezes cada uma apareceu.
Por que duas linhas que parecem idênticas não estão sendo unidas?
Alguma coisa invisível é diferente: um espaço no fim, um espaço inquebrável colado de uma página web, um acento decomposto ou um caractere sósia de outro alfabeto. Tente ligar a remoção dos espaços das pontas e a normalização Unicode. Se ainda assim continuarem diferentes, a diferença é um caractere que você não consegue ver e vai precisar substituí-lo diretamente.
Existe limite para quanto texto eu posso colar?
Não há limite rígido, mas tudo roda na thread principal da aba do seu navegador. Algumas centenas de milhares de linhas são processadas em bem menos de um segundo. Milhões de linhas vão deixar a aba sem responder enquanto trabalha, e aí uma ferramenta de linha de comando é a melhor escolha.
Minha lista é enviada para algum servidor?
Não. Tudo é JavaScript rodando na sua aba. Nada é enviado, nada é registrado, e fechar a página descarta o texto.
Última atualização 19 de setembro de 2026