Para ordenar uma lista em ordem alfabética, coloque um item por linha, passe tudo por algo que ordene pelo alfabeto e não pelo código do caractere, e copie o resultado de volta. Isso leva dez segundos de trabalho. O que traz as pessoas até aqui é a segunda metade: a lista ordenada chega com todas as maiúsculas amontoadas no topo, ou com file10 acima de file2, ou com os nomes acentuados jogados no fim. Nada disso é bug. É o que "alfabético" significa para um computador até você dizer o contrário.
Por que as maiúsculas vão parar na frente
Uma ordenação simples compara o texto pelos números que existem por trás dos caracteres. Em ASCII os dígitos vão de 48 a 57, as maiúsculas de 65 a 90 e as minúsculas de 97 a 122, então toda maiúscula fica à frente de qualquer minúscula e Zebra vem antes de apple. Esse é o padrão em JavaScript, em Python, em uma coluna de banco de dados com collation binária e no sort do Unix sob o locale C.
A ordem alfabética no sentido humano é uma maquinaria bem maior, chamada collation. O Unicode Collation Algorithm compara em passagens — primeiro as letras base, depois os acentos, depois maiúsculas e minúsculas —, de modo que a e A ficam juntos e o é fica ao lado do e em vez de sobrar depois do z. Todo navegador já vem com isso, e é por isso que uma ferramenta que ordena linhas usando a collation do seu navegador devolve a ordem que você queria, com as maiúsculas intercaladas e os acentos no lugar.
Quando a ordem por code point é a resposta certa
Mantenha a comparação crua quando o público é uma máquina: conferir se um arquivo de configuração está na ordem que um linter espera, reproduzir um índice de banco de dados ou produzir uma lista que precisa sair idêntica byte a byte em qualquer lugar.
Esse último caso importa mais do que parece, porque a collation depende mesmo do locale. O sueco coloca å, ä e ö depois do z; o alemão trata essas letras como variantes de a e o; o estoniano põe o z entre o s e o t. Uma ferramenta de ordenação segue o idioma em que a máquina está configurada, então dois colegas em dois países podem ordenar a mesma lista e obter duas ordens diferentes. Se todo mundo precisa concordar, use code point.
Por que file10 vem antes de file2
Porque a ordem alfabética lê os dígitos como caracteres, não como quantidades. Ela compara o 1 com o 2, decide que 1 é menor e para por aí. O 0 nunca chega a votar. A ordem natural conserta isso tratando cada sequência de dígitos como um número, que é o que espera qualquer pessoa lendo uma lista de nomes de arquivo, capítulos ou números de nota fiscal.
Não é um conserto universal. Strings de versão e decimais querem coisas opostas: pelas regras naturais 1.10 é um ponto dez, correto para um número de versão e errado para uma medida em que 1.10 é igual a 1.1. Datas escritas como 3/4/2025 são ordenadas pelo número que estiver impresso primeiro e nunca pela data de verdade — reescreva como 2025-04-03 e a ordem alfabética simples vira ordem cronológica correta de graça. E 007 compara como igual a 7 pelas regras naturais, então qual fica primeiro depende de qual você digitou primeiro.
E se as linhas forem números e não palavras?
Então o que você quer é uma ordenação numérica, que extrai o número de cada linha e ordena pelo valor dele, onde quer que ele esteja na linha — 12 Acacia Avenue incluído.
A pegadinha é que uma linha pode conter mais de um número e a ferramenta precisa escolher. Pegar o primeiro costuma estar certo — Invoice 204 of 900 é ordenado pelo 204 — e de vez em quando está errado, como em Route 66 revisited in 1998. Linhas sem nenhum número não têm posição em uma reta numérica; uma ferramenta sensata deixa essas linhas no fim em vez de fingir que valem zero.
Como ordenar no software que você já tem
Uma planilha
Selecione a tabela inteira, nunca uma única coluna, e use Dados e Classificar. Ordenar uma coluna enquanto as outras ficam paradas é a maneira clássica de destruir um conjunto de dados, e o aviso do Excel perguntando se você quer expandir a seleção é a única coisa entre você e uma planilha em que cada linha pertence à pessoa errada. O Excel ignora maiúsculas e minúsculas a menos que você ative isso em Opções de Classificação, coloca os números antes do texto na ordem crescente e deixa as células vazias no fim nas duas direções.
Word e editores de código
O Word ordena parágrafos: Página Inicial, depois o botão Classificar A-Z, depois Crescente. O VS Code tem "Sort Lines Ascending" na paleta de comandos, sem nenhum atalho definido por padrão, e a maioria dos editores tem um equivalente. Os dois servem para uma lista curta, e nenhum deles te conta o que fez — sem contagens, sem aviso de que quatro linhas eram idênticas.
A linha de comando
sort list.txt usa o seu locale, então se comporta mais ou menos como collation; LC_ALL=C sort list.txt desce para a ordem de bytes. Acrescente -f para ignorar maiúsculas e minúsculas, -n para números, -V para strings de versão e -u para descartar duplicatas no caminho. Essas flags são do GNU coreutils; o macOS traz a versão BSD, em que o conjunto de flags não é o mesmo. Uma surpresa que vale a pena conhecer: em um locale UTF-8 o GNU sort ignora em grande parte a pontuação e os espaços ao comparar, então de Luca e DeLuca acabam lado a lado. Útil para nomes, desconcertante para todo o resto.
Limpe a lista antes de ordenar
Ordenar é uma ótima maneira de descobrir tudo o que está errado nos seus dados: junta as entradas quebradas em um único bolo bem visível.
- Espaços no início. Um espaço é o caractere 32, abaixo de qualquer letra, então
Parisé ordenado acima do alfabeto inteiro. Remova os espaços antes. - Caracteres invisíveis. Um espaço não separável ou um zero-width joiner colado de uma página web não parece nada e ordena como alguma coisa. Se uma linha insiste em ir para o lugar errado, os caracteres que você não consegue ver são o suspeito de sempre.
- Duas grafias do mesmo acento. Um é pode ser um caractere só ou um e seguido de uma marca combinante, e as duas formas são strings diferentes. A collation reconcilia as duas; a ordem por code point não. É o mesmo descompasso que está por trás de por que um caractere visível nem sempre é uma unidade de texto.
- Duplicatas. Ordenar coloca uma ao lado da outra, que é o momento em que a maioria das pessoas percebe que elas existem. Você pode tirar as repetições na mesma passagem, ou ler sobre como a remoção de duplicatas se comporta de verdade antes de jogar qualquer coisa fora.
- Uma linha de cabeçalho. Se a primeira linha é um título de coluna, fixe essa linha no lugar ou ela vai acabar ordenada no meio dos dados.
A ferramenta de ordenação deste site faz tudo isso em uma única passagem e informa as contagens — linhas que entraram, linhas que saíram, vazias descartadas, duplicatas removidas —, que é como você percebe que uma lista de 340 itens era na verdade de 312.
O que uma ferramenta de ordenação de linhas não pode fazer por você
Ela ordena linhas inteiras, o que significa que ordena pelo que está no começo da linha. Uma lista de nomes escrita como Ada Lovelace é ordenada pelo primeiro nome, e nenhuma configuração muda isso. Para ordenar por sobrenome você precisa reescrever as linhas com o sobrenome na frente, ou ir para uma planilha e montar uma coluna auxiliar.
As convenções também são problema seu. Bibliotecas arquivam The Beatles em B, ignorando o artigo inicial, e se van der Berg entra em V ou em B depende do país. Essas são decisões editoriais, não configurações: conserte o texto e só então ordene.
Dois limites estruturais. Um CSV com uma quebra de linha dentro de um campo entre aspas é dividido no lugar errado, porque uma ferramenta que trabalha por linha não tem como saber que as aspas continuam abertas. E um esquema indentado é destruído por completo, já que uma linha filha não guarda memória de qual linha pai ela dependia.
Ordenar por duas chaves parece impossível e não é: ordene primeiro pela chave menos importante, depois pela mais importante. Ordenações estáveis mantêm os itens iguais na ordem em que chegaram — o JavaScript garante isso desde o ES2019, o GNU sort faz isso com -s —, então a primeira ordem sobrevive dentro da segunda, e uma lista de funcionários ordenada por nome e depois por departamento sai agrupada por departamento com cada grupo em ordem alfabética.
Por fim, o tamanho. Algumas centenas de milhares de linhas são ordenadas na hora em uma aba do navegador; alguns milhões vão travar a página, porque isso roda na mesma thread que desenha a interface. Nessa escala a linha de comando é a resposta honesta.
A ferramenta de ordenação de linhas daqui cobre a rotina inteira em uma passagem — ordem alfabética ou natural, diferenciando maiúsculas ou não, linhas vazias e duplicatas descartadas, uma linha de cabeçalho fixada — e a lista nunca sai do seu navegador, o que importa quando a lista é de nomes de clientes.
Se o que você está fazendo de verdade é ordenar duas cópias de uma lista para descobrir o que mudou entre elas, ordenar é o instrumento errado. Comparar duas versões de um texto diz exatamente quais entradas foram adicionadas e quais sumiram, em vez de deixar você conferir a olho duas colunas ordenadas lado a lado.
Perguntas frequentes
Como eu ordeno uma lista em ordem alfabética?
Coloque um item por linha e passe tudo por uma ferramenta que ordene pelo alfabeto e não pelo código do caractere. Em uma planilha, selecione a tabela inteira e use Dados e depois Classificar, nunca uma única coluna sozinha. Em um terminal, o comando sort faz isso, seguindo o idioma em que o seu sistema está configurado.
Por que todas as palavras em maiúsculas ficam no topo da minha lista ordenada?
A ordenação está comparando códigos de caractere, em que toda letra maiúscula tem um valor menor do que qualquer minúscula. Mude a ferramenta para comparação por locale ou alfabética, ou desligue a diferenciação entre maiúsculas e minúsculas. Linguagens de programação e bancos de dados com collation binária fazem isso por padrão.
Como faço file2 vir antes de file10?
Use a ordenação natural, que lê uma sequência de dígitos como um número em vez de caracteres separados. A ordem alfabética simples compara o 1 do 10 com o 2, decide que 1 é menor e para por aí. A ordem natural também é a que você quer para capítulos, números de nota fiscal e qualquer outra coisa que seja contada.
Como eu ordeno uma lista de nomes por sobrenome?
Uma ferramenta que ordena linhas não consegue, porque ela só ordena pelo que vem primeiro em cada linha. Ou você reescreve as entradas como "Lovelace, Ada" antes de ordenar, ou cola a lista em uma planilha, separa os nomes em duas colunas e ordena pela segunda.
Ordenar uma lista duas vezes desfaz a primeira ordenação?
Não, desde que a ordenação seja estável, e as modernas são. Itens iguais mantêm a ordem em que chegaram, então ordenar por departamento depois de ordenar por nome dá departamentos em ordem com os nomes em ordem alfabética dentro de cada um. Ordene primeiro pela chave menos importante.
Duas pessoas ordenando a mesma lista vão obter a mesma ordem?
Nem sempre. A ordenação que depende do locale segue a configuração de idioma de cada máquina, e os idiomas discordam: o sueco coloca o a com anel e o o com trema depois do z, enquanto o alemão ordena essas letras junto com a e o. Se o resultado precisa bater em todo lugar, use a ordem por code point.
Última atualização 19 de setembro de 2026