Corrigir caracteres quebrados
Quando os acentos viram café, è ou ’, o texto não está quebrado: ele foi lido com a tabela errada. Aqui a cadeia é percorrida de trás para frente, e o texto que já está certo fica intocado.
clique para escolher um (.txt, .csv, .srt, .vtt, .md, .json), ele fica no seu dispositivo
Seu texto e seus arquivos ficam no navegador: nada é enviado a nenhum servidor.
Como usar
Cole o texto estragado na caixa e aperte “Corrigir o texto”, ou solte um arquivo .txt, .csv, .srt, .vtt, .md ou .json. A ferramenta diz qual erro de codificação aconteceu, quantos caracteres foram recuperados e mostra alguns exemplos de antes e depois, para você conferir se o resultado é mesmo o que espera antes de copiar ou baixar.
Por que acontece o “café”
Em UTF-8 as letras acentuadas não cabem em um único byte: o é é o par C3 A9, o à é C3 A0, o apóstrofo tipográfico ’ é E2 80 99 e o espaço não separável é C2 A0. Quando um programa recebe esses bytes mas acredita que estão escritos em Windows-1252 (a velha tabela “ANSI”, em que cada byte é uma letra), ele os mostra um a um: C3 A9 vira é, C2 A0 vira  seguido de um espaço e E2 80 99 vira ’. É sempre o mesmo defeito, e é por isso que textos em português, italiano, espanhol e francês se desfazem quase frase a frase, enquanto o inglês muitas vezes escapa ileso.
Como esta página conserta
A cadeia é percorrida de trás para frente: cada caractere volta ao byte que era segundo a tabela Windows-1252 (incluindo os 5 códigos que essa tabela deixa indefinidos, que os programas deixam passar sem alteração), e depois esses bytes são lidos de novo como UTF-8. Ao contrário de um localizar e substituir às cegas, o texto que já está certo nunca é tocado: um é sozinho não forma uma sequência UTF-8 válida, então fica exatamente como está. Quando o defeito aconteceu duas vezes seguidas (a famosa dupla codificação, a do é), a rodada é repetida quantas vezes for preciso, até quatro. Há também a tabela Mac OS Roman, para textos que vêm de Macs antigos, reconhecíveis por seus √© e ‚Äô. Vale conhecer ainda uma última precaução: num título todo em maiúsculas, um Ù seguido de uma aspa angular de fechamento forma, por pura coincidência, um par UTF-8 válido. É por isso que as sequências que começam com um caractere ambíguo só são consertadas quando o texto tem pelo menos três delas, e as sequências que virariam caracteres que nenhum texto real contém (alfabeto fonético, armênio) são deixadas em paz.
O problema oposto também, quando o próprio arquivo é antigo
Se você carregar um arquivo, a ferramenta olha primeiro os bytes de verdade. Um arquivo que não é UTF-8 válido é lido com a tabela Windows-1252 e devolvido convertido, e o mesmo vale para os arquivos UTF-16 que saem do Bloco de Notas e de alguns programas empresariais. Assim as duas metades do problema ficam cobertas: texto bom lido do jeito errado e um arquivo antigo que precisa virar UTF-8. O botão de download acrescenta, se você deixar a caixa marcada, a marca BOM de que o Excel precisa para abrir um CSV sem estragar os acentos de novo.
O que ela não consegue fazer, dito logo de cara
Caracteres que aparecem como � (ou como símbolos de controle invisíveis) não podem ser recuperados: esse byte já foi jogado fora por quem salvou o arquivo, e nenhum programa consegue adivinhá-lo. O mesmo vale para acentos que viraram um ponto de interrogação. A ferramenta conhece as duas tabelas ocidentais mais comuns, Windows-1252 e Mac OS Roman, então não reconstrói cirílico lido como Windows-1251 nem japonês em Shift-JIS. Ela não mexe em entidades HTML como é ou é, pois são outro problema, e nunca altera o conteúdo: só a codificação é consertada. Tudo roda no seu navegador, então o arquivo não é enviado para lugar nenhum.