Da immagine a testo
nel browser
Trascina uno screenshot, una foto del telefono, una scansione o un PDF di una pagina e copia il testo in pochi secondi. Italiano, inglese e altri 23 lingue. Il motore di riconoscimento si avvia dentro il tuo browser — il file non parte verso il nostro server.
Verifica tu stesso: apri DevTools, nella scheda Network trascina un file — vedrai zero richieste in uscita con la tua immagine.
Tre passi.
Trascina la tua immagine
JPG, PNG, WebP, HEIC da iPhone, o un PDF di una pagina. Il file si apre nel browser e ci resta. La prima volta che usi lo strumento, il motore di riconoscimento (circa 10 MB) si scarica nel browser e va in cache — ogni esecuzione successiva parte all'istante e funziona offline.
Aspetta qualche secondo mentre il motore legge
Tesseract.js — port WebAssembly del motore OCR Tesseract mantenuto da Google — gira interamente nel tuo browser. Una scansione A4 pulita termina in 3–8 secondi su un laptop moderno; una foto di uno scontrino o di un cartello dal telefono di solito sotto i 4 secondi. La barra di avanzamento mostra sia il riscaldamento del motore sia il riconoscimento della pagina.
Copia il testo o scarica .txt
Il risultato arriva in una casella di testo puro con un punteggio di affidabilità. Copialo negli appunti o scaricalo come file .txt in UTF-8. Tutto quello che è stato eseguito — il core WASM, il modello linguistico, il riconoscimento stesso — è successo sul tuo dispositivo. Nessun file, nessun testo riconosciuto e nessun metadato sono arrivati al nostro server.
Cosa fa davvero l'OCR
OCR (Optical Character Recognition, riconoscimento ottico dei caratteri) trasforma pixel che sembrano lettere in testo che il computer capisce. Una foto di uno scontrino o la scansione di una pagina di un libro sono solo puntini colorati per il computer finché un modello addestrato su milioni di caratteri stampati non mappa ogni schema di puntini di nuovo su a, b, 9, =. Il motore usato in questo strumento è Tesseract, lo stesso che usa Internet Archive per lo scanner dei libri, la versione gratuita di ABBYY e la maggior parte dei lettori PDF open-source — solo che qui è compilato in WebAssembly per girare nel tuo browser invece che sul server di qualcun altro.
Cosa puoi trascinare
JPG, PNG, WebP, HEIC (iPhone) e PDF di una pagina. L'HEIC viene decodificato dentro il browser — senza passaggio di conversione separato. PDF di più pagine: viene riconosciuta solo la prima; se ti servono tutte, prima dividi il PDF con split-pdf e processa ognuna. Le foto direttamente dal telefono funzionano; così come gli screenshot, le scansioni da scanner piano e le catture schermo. Il limite pratico è 25 MB per file — oltre, il browser fatica a tenere in memoria contemporaneamente il canvas e l'heap WASM.
Cos'è un buon input
La qualità OCR dipende molto più dall'immagine che dal motore. Una scansione a 300 DPI da scanner piano di una pagina dattilografata raggiunge il 98–99% di precisione senza ritocchi. Una foto nitida di uno scontrino con luce decente: 95%+. Una foto sfocata di un contratto fatta inclinata con poca luce: 60–80%, e il risultato dovrà essere riletto. Tre cose contano più di tutto: nitidezza (metti a fuoco la fotocamera prima di scattare), contrasto (uno scontrino bianco su nero è più difficile del nero su bianco) e orientamento (il motore gestisce piccole inclinazioni, ma un'immagine girata di 90 gradi va prima raddrizzata). Se stai scansionando carta d'identità, codice fiscale, busta paga o ricevuta del medico e la precisione conta, prima usa un'app di scansione — Note di iOS, Google Drive o Adobe Scan correggono prospettiva e contrasto prima del salvataggio.
Lingue
La v1 esce con 25 lingue — una per locale Vastiko più cinese semplificato per gli utenti del continente. Latino: inglese, tedesco, francese, spagnolo, italiano, portoghese (copre anche il brasiliano), polacco, olandese, danese, svedese, rumeno, ungherese, ceco, turco, indonesiano, vietnamita. Cirillico: russo, ucraino. Greco. Arabo (scrittura da destra a sinistra). Tailandese. CJK: giapponese, coreano, cinese semplificato (continente), cinese tradizionale (Taiwan / Hong Kong).
Lo strumento prova a indovinare la tua lingua dal locale del browser al primo caricamento — un browser in italiano apre con l'italiano preselezionato, un giapponese con il giapponese, e così via. Puoi cambiare in qualsiasi momento dalla barra in alto; la tua ultima scelta resta salvata tra le sessioni. Ogni pacchetto linguistico si scarica solo al primo uso (da 1 a 6 MB a seconda dell'alfabeto — gli alfabeti latini si comprimono meglio rispetto al CJK) e va in cache nel browser. Cambiare lingua è un download una tantum per lingua; gli usi successivi sono istantanei.
I documenti italiani in condizioni reali raramente sono al 100% in italiano. Un contratto cita Excel, PDF e WhatsApp. Una fattura elettronica menziona la PEC, il codice destinatario SDI e le partite IVA estere. Un curriculum elenca strumenti tecnici inglesi accanto alle esperienze in italiano. Per questo scegliere una lingua diversa dall'inglese come primaria carica automaticamente l'inglese come alfabeto secondario nello stesso passaggio di riconoscimento — il motore considera entrambi gli alfabeti e sceglie la lettura con confidenza più alta per ogni parola. Costo: ~2× memoria, ~30% più lento del singolo pacchetto, ne vale la pena perché l'alternativa è nome di marca inglese che esce storpiato in mezzo all'italiano.
Cosa questo strumento non fa bene
La scrittura a mano. Tesseract è addestrato su testo stampato. Corsivo, ricetta del medico scritta a mano, appunti sul quaderno — questi confondono il modello (Microsoft Read API e Google Cloud Vision fanno molto meglio, ma entrambi richiedono di caricare l'immagine). Tabelle complesse. Un PDF di foglio di calcolo esce come testo piatto con le colonne attaccate; questo strumento preserva l'ordine di lettura, non la struttura della tabella. Per le tabelle che devono restare dati strutturati usa pdf-to-excel. Font decorativi o stilizzati. Loghi, font da titolo display, effetti di testo renderizzato — spesso falliscono o tornano come parole senza senso, perché il modello si aspetta forme di testo corrente. Risoluzione molto bassa. Screenshot di un paragrafo largo 320 pixel: tira a indovinare. Uno largo 1500 pixel: legge.
Perché lo teniamo nel tuo browser
Quando una persona fa OCR, di solito il documento è personale: scansione della carta d'identità per compilare una pratica per il visto, una ricevuta medica del privato, una busta paga per la domanda di mutuo, un contratto che qualcuno ha mandato come JPG invece che Word. Il percorso più breve da quelle foto a testo leggibile negli appunti di solito passa attraverso il sito gratuito di OCR di qualcuno che archivia silenziosamente l'upload «per migliorare la qualità». Abbiamo testato i più popolari per il nostro privacy audit degli editor PDF e il pattern si ripete nell'OCR: upload sul server, politica di conservazione che dice «poche ore» ma punta allo stesso disco mesi dopo, analytics di terze parti che ricevono l'hash della forma del file. Abbiamo fatto il lavoro di far girare l'OCR interamente sul dispositivo perché il tipo di file che gli punti è esattamente il tipo che preferiresti non consegnare al server di nessuno.
Cosa succede al tuo file
Apri DevTools, vai sulla scheda Network e trascina il file. Vedrai un download una tantum del core WASM e del modello linguistico italiano (in totale circa 10 MB) al primo utilizzo, e poi assolutamente zero richieste in uscita con qualsiasi parte del tuo file. Negli utilizzi successivi le richieste sono zero, punto — il motore è in cache e la pagina funziona offline. Il testo riconosciuto vive in una textarea del browser da cui puoi copiare o scaricarlo come .txt. Niente di tutto questo tocca mai un nostro log, in alcun momento.
Quando un OCR lato server ha più senso
Se processi 10.000 fatture a notte, uno strumento nel browser è la forma sbagliata — vuoi una coda e una flotta di worker con GPU. Se ti serve OCR di scrittura a mano ad alta precisione, le API cloud sono ancora migliori dell'open-source. Se i tuoi documenti sono pubblici — archivi storici, contratti di pubblico dominio, screenshot del tuo stesso blog — non c'è vantaggio di privacy e il server può essere più veloce. Il punto non è che l'OCR locale vince in ogni scenario; è che per le foto che restano nel rullino di una singola persona, il calcolo si ribalta e non dovrebbe richiedere un atto di fede sulla politica di conservazione.
Se hai già estratto testo da un PDF con livello di testo, usa invece pdf-to-txt — è più veloce e senza perdita, perché legge il testo sottostante invece di girare OCR sulla pagina renderizzata.
Domande frequenti
La mia immagine finisce sul vostro server?
No. L'immagine si apre nel tuo browser e viene processata lì. Il motore di riconoscimento — Tesseract.js — si scarica una volta sola (~10 MB), va in cache nel browser e gira in locale. Per verificare, apri DevTools, vai sulla scheda Network e trascina un file: non vedrai nessuna richiesta in uscita con la tua immagine.
Quali tipi di file sono supportati?
JPG, PNG, WebP, HEIC (iPhone) e PDF di una pagina. L'HEIC viene decodificato nel browser — senza conversione separata. PDF di più pagine: viene processata solo la prima; prima dividi il PDF con split-pdf se ti servono tutte.
Che lingue riconosce?
25 lingue: inglese, tedesco, francese, spagnolo, italiano, portoghese (copre anche il brasiliano), polacco, olandese, danese, svedese, rumeno, ungherese, ceco, turco, indonesiano, vietnamita, russo, ucraino, greco, arabo, tailandese, giapponese, coreano, cinese semplificato e cinese tradizionale. Il selettore è nella barra in alto; il default viene rilevato dal locale del browser e resta tra le sessioni.
Quanto è preciso il riconoscimento?
Su una scansione pulita a 300 DPI di testo dattilografato, 98–99%. Su una foto nitida di una pagina stampata o di uno scontrino, 95%+. Su un'immagine sfocata, con poca luce o inclinata, 60–80% — il risultato andrà riletto. Ogni risultato mostra un punteggio di affidabilità così sai dove sei finito in quel range.
E i documenti che mescolano italiano e inglese?
Gestito automaticamente. Scegli l'italiano come primario e il motore carica l'inglese come alfabeto secondario nello stesso passaggio di riconoscimento — così nomi di marca (Excel, WhatsApp, PEC), URL e termini tecnici inglesi escono puliti accanto al testo italiano. Una piccola etichetta + EN accanto al selettore mostra quando questa modalità mista è attiva. Il costo è ~30% più lento e ~2× memoria; lo lasciamo attivo per default perché l'alternativa — passaggio a singola lingua su un documento misto — è esattamente ciò che produce nomi di marca storpiati.
Funziona con la scrittura a mano?
Non bene. Tesseract è addestrato su testo stampato — corsivo, ricette mediche e appunti a mano lo confondono. Per la scrittura a mano Microsoft Read API e Google Cloud Vision fanno significativamente meglio, ma entrambi richiedono l'upload dell'immagine.
Perché la prima esecuzione è lenta?
Perché il motore di riconoscimento — circa 10 MB di WebAssembly più un modello linguistico — si scarica nel tuo browser la prima volta. Dopo il motore resta in cache e il riconoscimento parte all'istante. La pagina funziona offline dopo il primo caricamento.
Si può usare sul telefono?
Sì. La pagina è una normale pagina web che gira in qualsiasi browser mobile moderno. Su telefoni più vecchi la prima esecuzione richiede più tempo per il download del motore; le successive sono rapide.
E tabelle, layout multi-colonna o documenti complessi?
Il testo esce in ordine di lettura come flusso di paragrafi piatti — la struttura della tabella non viene preservata. Per PDF dove ti servono righe e colonne come dati usa pdf-to-excel. Per un PDF che ha già un livello di testo (la maggior parte dei PDF creati digitalmente lo ha) usa pdf-to-txt — è più veloce, senza perdita e non ha bisogno di OCR.
È davvero gratis? Ci sono limiti?
Sì — niente account, niente filigrana, nessun limite per esportazione. L'elaborazione gira sul tuo dispositivo, quindi non c'è costo di server da recuperare. Limite pratico sulle dimensioni del file: 25 MB per immagine, così il browser non esaurisce la memoria.