Converter imagem para texto
Extraia o texto impresso de uma foto, captura de tela ou digitalização e baixe como arquivo .txt ou como JSON, com a posição e a confiança de cada bloco.
Solte seus arquivos aqui
.jpg, .jpeg, .png, .webp, .bmp, .gif, .avif · até 100 MB
Mais configuraçõesMenos configurações
Como Extrair texto
- 1
Adicione sua imagem
JPG, PNG, WebP, BMP, GIF ou AVIF, até 20 arquivos. O formato é lido no conteúdo do próprio arquivo, então mesmo uma extensão errada vai parar no decodificador certo.
- 2
Escolha o idioma do texto
Um idioma basta para a maioria das digitalizações; acrescente um segundo ou um terceiro quando a página realmente misturar idiomas. Cada idioma a mais custa um download e um pouco de precisão.
- 3
Clique em Extrair texto e baixe o .txt
Você recebe o texto reconhecido, o número de caracteres e a confiança média. Mude a saída para JSON quando também precisar das coordenadas.
O que o OCR no navegador consegue ler e o que não consegue
O mecanismo aqui é o Tesseract, o mesmo por trás da maior parte do OCR de código aberto, compilado para WebAssembly e executado dentro da sua aba. Ele vai bem com texto impresso: páginas de livro, capturas de tela, faturas, placas, formulários, qualquer coisa composta em uma fonte comum e em tamanho razoável. Vai mal com escrita à mão, com fontes decorativas muito estilizadas, com texto sobre fotos cheias de detalhes e com qualquer coisa fotografada em ângulo. A resolução importa mais que o tamanho do arquivo: uma captura de tela nítida de um parágrafo, com 1.500 pixels de largura, é lida melhor que uma foto de celular de dez megapixels do mesmo parágrafo tirada do outro lado da sala. Se a confiança média ficar abaixo de 30, a ferramenta avisa que não encontrou nada legível, em vez de entregar uma página de texto sem sentido que só parece plausível.
A opção de pré-processamento e quando ela ajuda
Com o pré-processamento ligado, a imagem é convertida para escala de cinza e depois binarizada pelo método de Otsu, que escolhe o ponto de corte entre preto e branco a partir do histograma da própria imagem, e não de um número fixo. Isso ajuda muito em páginas fotografadas com iluminação irregular, em recibos desbotados e em digitalizações acinzentadas, porque remove o sombreamento que, sem isso, o reconhecedor tentaria interpretar. Atrapalha em texto que já está limpo, em capturas de tela com letras claras sobre fundo escuro e em qualquer coisa com texto colorido sobre fundo colorido, em que um limiar rígido pode apagar as letras por completo. Use essa opção quando o resultado normal decepcionar, e não antes.
Só o texto ou o texto com coordenadas
A saída padrão é um .txt simples, com as mesmas quebras de linha que o mecanismo viu. A opção JSON entrega um array de blocos, cada um com o texto reconhecido, a confiança e uma caixa delimitadora em quatro números: x, y, largura e altura, em pixels da imagem que foi de fato reconhecida. É disso que você precisa para destacar os resultados sobre o original, extrair um único campo de um formulário ou ver qual parte da página puxou a confiança média para baixo.
Nem a imagem nem o texto são enviados
O mecanismo de reconhecimento e os dados de idioma são baixados uma vez e ficam no cache do navegador. Depois disso, tudo roda localmente: a imagem é decodificada na aba, reconhecida na aba, e o arquivo de texto é montado na aba. Nada do conteúdo é enviado para lugar nenhum, o que faz diferença quando o que você está lendo é um contrato, um holerite ou um documento de identidade.
Perguntas frequentes
Quais idiomas a ferramenta reconhece?
Inglês, russo, alemão, francês, espanhol, chinês simplificado, árabe e japonês. É possível combinar até três de uma vez em páginas que realmente misturam idiomas, mas um único idioma certo quase sempre é mais preciso do que dois.
Minha imagem é enviada para um servidor?
Não. O mecanismo de OCR é WebAssembly rodando dentro do seu navegador. O único tráfego de rede é o download, feito uma única vez, do mecanismo e dos dados do idioma escolhido; a imagem e o texto reconhecido ficam no seu dispositivo.
Por que a primeira execução é tão mais lenta?
Porque na primeira execução são baixados o mecanismo, de cerca de 3 MB, e os dados do seu idioma, entre 0,7 e 3 MB, conforme o idioma. O navegador guarda os dois em cache, então a segunda execução começa a reconhecer imediatamente.
Funciona com texto escrito à mão?
Não de forma confiável. Os modelos usados aqui foram treinados com texto impresso, e a escrita à mão volta errada ou abaixo do limite de confiança. Letras de forma maiúsculas muito caprichadas às vezes funcionam; a letra cursiva comum, não. Trate qualquer resultado manuscrito como um rascunho a conferir, nunca como uma transcrição.
O que fazer quando nenhum texto é encontrado?
Primeiro, ative a opção de pré-processamento e tente de novo; isso resolve a maioria dos casos de iluminação irregular. Se não adiantar, a causa costuma ser a resolução: digitalize ou fotografe de novo de modo que as letras tenham pelo menos vinte pixels de altura. Recortar a imagem só até o texto e escolher o idioma certo também ajudam mais do que se imagina.
Qual resolução a imagem precisa ter para um bom resultado?
O ideal são letras com cerca de 20 a 40 pixels de altura, o que equivale a uns 300 DPI em uma digitalização comum de documento. Abaixo disso, as letras começam a se fundir e a precisão cai bruscamente. Acima disso, você paga principalmente em tempo: uma imagem não fica mais legível por ter 10.000 pixels de largura, e, de todo modo, qualquer imagem com mais de 12.000 pixels de lado é reduzida antes do reconhecimento.
Posso obter a posição de cada palavra?
Você obtém a posição de cada bloco, que é a unidade que o mecanismo informa: o texto, a confiança e a caixa delimitadora em pixels. Escolha a saída JSON em vez de texto simples, e o download passa a ser esse array, e não um arquivo de texto corrido.
Funciona no celular?
Sim, com duas ressalvas. A primeira execução precisa baixar vários megabytes pela conexão que você estiver usando, e o reconhecimento no celular leva cerca de três vezes mais tempo do que em um notebook, então a digitalização de uma página inteira pode levar meio minuto. Mesmo assim, tudo roda localmente.