Descobri o iOS OCR Server por acaso, enquanto procurava uma forma de digitalizar documentação técnica sem depender de serviços cloud. A ideia parecia simples demais: instalar uma app no iPhone, apontar o browser para o IP, e ter OCR a funcionar. Testei com uma fatura que estava no Mac. Em segundos o texto estava extraído, sem enviar nada para fora de casa, sem pagar nada.

O developer riddleling criou uma app que transforma o iPhone num servidor OCR local. Usa o Vision Framework da Apple, processa tudo no dispositivo, e disponibiliza uma interface web e uma API JSON para qualquer dispositivo na mesma rede.


O problema do OCR na cloud

Parece simples usar serviços cloud para OCR. Até começares a somar custos.

A Google Cloud Vision cobra $1.50 por cada 1000 imagens. O AWS Textract anda por valores parecidos. Se processares uns milhares de imagens por mês, a conta cresce. Depois tens latência — cada imagem vai para a cloud e volta. E a privacidade? Estás a enviar documentos internos, emails, dados sensíveis para servidores de terceiros. Nem toda a gente se sente confortável com isso.

O iOS OCR Server resolve estes três problemas de uma vez. Para mim, o terceiro é o que mais pesa — não enviar documentos confidenciais para servidores de terceiros.


O que é o iOS OCR Server

É uma app iOS gratuita, disponível na App Store. Quando abres, corre um servidor HTTP local no teu iPhone.

O servidor arranca automaticamente na porta 8000. Qualquer dispositivo na mesma rede Wi-Fi pode aceder à interface web ou fazer chamadas à API. O reconhecimento de texto é feito pelo Vision Framework da Apple, o mesmo motor que está por trás do Live Text do iOS.

O código está no GitHub e já conta com mais de 1600 estrelas. Nada mau para uma app de nicho.

Resumo das funcionalidades:

  • OCR com deteção automática de idioma
  • Suporte para chinês, japonês, coreano, e línguas ocidentais
  • Interface web para testar rapidamente
  • API JSON para integração em scripts e apps
  • Document Paragraph Detection (iOS 26+)
  • 100% local — nada sai do dispositivo

Como funciona: Vision Framework

O Vision Framework da Apple é o motor que faz o Live Text desde o iOS 16. Corre redes neuronais otimizadas para o Neural Engine do iPhone. É rápido e eficiente.

O fluxo é direto:

  1. Upload — envias uma imagem para o servidor pela web ou pela API
  2. Pré-processamento — a imagem é preparada para análise
  3. Vision Framework — o motor de OCR analisa a imagem localmente
  4. Resultado — recebes o texto reconhecido, bounding boxes e confidence scores
{
  "success": true,
  "message": "File uploaded successfully",
  "ocr_result": "Hello\nWorld",
  "image_height": 648,
  "image_width": 1247,
  "ocr_boxes": [
    {
      "text": "Hello",
      "confidence": 0.98,
      "x": 100,
      "y": 200,
      "width": 150,
      "height": 30
    }
  ]
}

Cada bounding box traz coordenadas, dimensões, o texto detetado e um nível de confiança entre 0 e 1. Dá para fazer pós-processamento — desenhar caixas sobre a imagem original, filtrar resultados com confiança baixa, ou reagrupar texto por posição.


Instalação e primeiros passos

1. Descarregar a app

Vai à App Store e instala o OCR Server. É gratuito, sem subscrições nem compras integradas.

2. Abrir e ver o IP

Ao abrir a app, o servidor arranca. O ecrã mostra o endereço IP e a porta — tipo 192.168.1.10:8000.

3. Ativar Guided Access (importante)

O iOS suspende apps quando o ecrã desliga. Para o servidor ficar sempre ativo, precisas do Guided Access:

  • Abre Definições > Acessibilidade > Guided Access
  • Ativa a opção
  • Abre a app OCR Server
  • Faz triplo clique no botão lateral
  • O ecrã fica ligado e a app corre sem parar

4. Testar

No computador, abre o browser e navega para o IP que aparece na app. Aparece uma interface web onde podes fazer upload de imagens e ver os resultados.


API: upload, bounding boxes e confidence

O endpoint principal é o /upload:

curl -H "Accept: application/json" \
  -X POST http://192.168.1.10:8000/upload \
  -F "[email protected]"

A resposta inclui:

Campo Descrição
success boolean — true se correu bem
ocr_result Texto completo reconhecido
ocr_boxes Array com bounding boxes individuais
image_width Largura da imagem processada
image_height Altura da imagem processada

Cada objeto em ocr_boxes segue este formato:

{
  "text": "palavra",
  "confidence": 0.95,
  "x": 45,
  "y": 120,
  "width": 200,
  "height": 25
}

Document Paragraph Detection (iOS 26+)

Se tiveres iOS 26 ou superior, há um endpoint extra: /docOCR. Deteta parágrafos completos em vez de palavras individuais.

curl -H "Accept: application/json" \
  -X POST http://192.168.1.10:8000/docOCR \
  -F "file@=documento.png"

Isto é útil para documentos estruturados, onde queres o texto organizado por parágrafos em vez de palavras soltas.

Exemplo em Python

import requests

url = "http://192.168.1.10:8000/upload"
file_path = "fatura.png"

with open(file_path, "rb") as f:
    files = {"file": f}
    headers = {"Accept": "application/json"}
    response = requests.post(url, files=files, headers=headers, timeout=60)

data = response.json()
print(data["ocr_result"])

Casos de uso

Digitalização de documentos

Apontas o iPhone para um documento, tiras foto, e o texto está disponível na rede para copiares ou processares. Simples. Usei isto para digitalizar documentação técnica de um projeto e funcionou muito melhor do que esperava.

Extração de texto de imagens

Prints de ecrã, slides de apresentações, fotos de quadros brancos. Tudo o que tenha texto e esteja numa imagem.

Automatização com scripts

Integra o OCR Server nas tuas pipelines. Faz um script que monitoriza uma pasta, envia cada nova imagem para o iPhone, e guarda o texto extraído num ficheiro. Depois alimentas isso para onde quiseres.

Cluster de OCR com vários iPhones

Tens mais que um iPhone? Dá para montar um cluster. Cada iPhone corre o OCR Server, e distribuis as imagens pelos vários dispositivos. Escalabilidade horizontal com hardware que já tens em casa.

Arquitetura do iOS OCR Server

⬆ Como o iOS OCR Server se liga a outros dispositivos na rede e como podes montar um cluster com vários iPhones.


Privacidade: 100% local

Este é o ponto forte do iOS OCR Server.

Tudo o que é processado fica no iPhone. As imagens vão por Wi-Fi para o servidor, mas nunca saem da tua rede local. O Vision Framework corre inteiramente no Neural Engine — não há chamadas a servidores externos, não há uploads para a cloud, não há logging por terceiros.

Para quem lida com documentos confidenciais, contratos, ou dados pessoais, isto elimina o risco de fugas de informação. Sem depender de ninguém.


Limitações

Nenhuma ferramenta é perfeita. O iOS OCR Server tem os seus pontos fracos:

  • Ecrã sempre ligado — o servidor precisa que o ecrã não desligue. O Guided Access resolve, mas não é o ideal para a bateria.
  • Só na rede local — não dá para aceder remotamente sem montar um túnel (VPN, Tailscale, Cloudflare Tunnel).
  • iOS 26+ para docOCR — a deteção de parágrafos só funciona em versões recentes.
  • Performance varia com o hardware — um iPhone 15 Pro processa em segundos o que um iPhone X demora 30 segundos.
  • Sem autenticação — não tem login. Quem estiver na tua rede pode aceder ao servidor. Mantém a rede segura.

Vale a pena?

Depende. Se precisas de OCR para um projeto pessoal, documentos internos, ou automatização caseira, é difícil bater o iOS OCR Server. É grátis, não precisa de internet, e o Vision Framework da Apple é surpreendentemente bom.

Para mim, a decisão resume-se a uma pergunta: confias os teus dados a serviços cloud? Se a resposta for não — e cada vez mais pessoas dizem não — então ter um iPhone a fazer de servidor OCR local é mais elegante do que parece.

O maior problema é o ecrã sempre ligado. O Guided Access resolve, mas não é ideal. Se a Apple um dia permitir que apps corram em background com o ecrã desligado, esta app passa de ferramenta de nicho a must-have.

Descarrega, testa com um documento teu, e vê se o resultado é suficientemente bom para o teu caso. No meu, foi.

Recursos adicionais

Comentários (0)

Nenhum comentário ainda. Seja o primeiro!

Deixar comentário