Ir para o conteúdo
SafeOCR.com

← Todos os artigos

Como o OCR no navegador realmente funciona

SafeOCR TeamPublicado em 23 de junho de 2026Atualizado em 5 de julho de 2026
Uma janela de navegador escaneando um documento com linhas de texto destacadas, um escudo de privacidade e um ícone de «sem upload».Uma janela de navegador escaneando um documento com linhas de texto destacadas, um escudo de privacidade e um ícone de «sem upload».

O OCR no navegador funciona rodando duas redes neurais pequenas — uma que detecta onde está o texto, outra que lê o que ele diz — direto no seu dispositivo usando WebAssembly, com o WebGPU acelerando o processo quando está disponível. Não existe nenhum servidor envolvido em nenhum momento: depois que os modelos são baixados uma única vez, tudo o resto acontece em local, dentro da aba.

Ler texto de uma imagem sem enviá-la para um servidor parece que não deveria ser possível numa aba do navegador — mas já é assim há alguns anos, e vale a pena entender as peças por trás disso. Veja o que realmente acontece entre soltar uma imagem e receber o texto de volta em Extrair Texto de Imagem.

Dois modelos, não um

“OCR” costuma ser, na prática, dois trabalhos separados. Um modelo de detecção olha a imagem inteira e desenha caixas ao redor de cada região que parece texto, sem ainda saber o que os caracteres dizem. Um modelo de reconhecimento então olha dentro de cada uma dessas caixas e lê os caracteres de verdade. A SafeOCR usa o PP-OCRv6 do PaddleOCR, um par de modelos de código aberto treinados exatamente para esse pipeline de duas etapas, e o reaproveita como está em vez de uma caixa-preta proprietária — os mesmos pesos que qualquer pessoa pode baixar e inspecionar, não um modelo personalizado treinado atrás de uma API.

Fazendo um modelo treinado rodar num navegador

O PP-OCRv6 é exportado no formato ONNX, um formato de intercâmbio comum para redes neurais treinadas. O navegador o executa usando onnxruntime-web, o runtime JavaScript/WebAssembly da Microsoft para modelos ONNX — essa é a peça que de fato executa a matemática (convoluções, multiplicações de matrizes) que transforma pixels em caracteres previstos, sem precisar de um app nativo ou de um servidor. Carregar esse runtime e os pesos do modelo é a única requisição de rede de todo o processo; acontece uma vez e depois fica em cache no navegador.

WebAssembly e WebGPU

Por padrão, essa execução acontece via WebAssembly, um formato binário de velocidade quase nativa que roda em qualquer navegador moderno. Quando o navegador também suporta WebGPU — uma API mais nova para acesso direto à GPU — o mesmo modelo roda lá, o que é bem mais rápido para a matemática pesada de matrizes da qual o OCR depende. Se o WebGPU não estiver disponível ou faltar um kernel específico da GPU, o motor volta para WebAssembly automaticamente, em silêncio e sem que o reconhecimento falhe; de qualquer forma, os dois rodam inteiramente no seu dispositivo, não num data center.

O que realmente volta do modelo

A saída não é uma única string indiferenciada. Cada linha reconhecida volta com sua própria caixa delimitadora — onde ela fica na imagem — e uma pontuação de confiança de quão seguro o modelo está sobre aquela linha específica. Essa estrutura é o que torna possível uma interface de resultado com caixas clicáveis: cada linha detectada é desenhada como sua própria caixa sobre a imagem, na ordem de leitura que o modelo recuperou, em vez de uma única parede de texto que você precisa desembaraçar à mão. É também por isso que uma linha bagunçada numa imagem que, fora isso, está limpa geralmente aparece como um único resultado de confiança mais baixa, em vez de corromper a página inteira.

Por que isso significa nenhum upload

Depois que os arquivos do modelo são baixados para o seu navegador uma vez, cada imagem seguinte é decodificada e processada sem nenhuma requisição de rede — o navegador já tem tudo que precisa localmente. Isso não é uma escolha de política sobre o que o servidor “decide” manter; simplesmente não existe nenhuma chamada de servidor no caminho de reconhecimento para interceptar. Você pode confirmar isso observando o painel de rede do navegador enquanto reconhece uma imagem: depois do download inicial do modelo, fica em silêncio. As implicações práticas disso — o que significa para os tipos de documento que você pode soltar com segurança — estão em se o OCR online é seguro.

Por que modelos de código aberto importam aqui

Como o PP-OCRv6 e o onnxruntime-web são ambos de código aberto, o motor em si não é um mistério — os mesmos componentes que qualquer pessoa pode inspecionar são o que realmente roda. Essa é uma história de confiança bem diferente de uma API fechada onde você só vê entrada e saída, e também é por isso que essa arquitetura não é exclusiva da SafeOCR — é uma opção entre várias que vale a pena conhecer; veja a comparação das melhores ferramentas gratuitas de OCR para ver como ela se compara com alternativas baseadas em upload. Leia mais sobre a stack e o raciocínio por trás dela na página Sobre.

Ferramenta relacionada

Extrair Texto de Imagem

Usamos o Google Analytics e o Google AdSense, que dependem de cookies, somente com o seu consentimento. Leia nossa Política de Privacidade