Estrarre testo da un'immagine
Strumento di OCR per estrarre testo da un'immagine: carichi una foto, uno screenshot o un file JPG o PNG e ricevi il testo pronto da copiare, correggere o salvare. Serve a chi deve trasformare in digitale un documento fotografato senza riscriverlo a mano, dal telefono o dal computer.
Esegui online
Esegui questo sui nostri server con il tuo account. Gli strumenti gratuiti girano nel tuo browser; questo viene addebitato sul tuo saldo KIT al prezzo indicato sopra.
Che tipo di immagini legge
Praticamente qualsiasi immagine con testo stampato: la pagina di un libro o di una dispensa, un avviso in bacheca, l'etichetta di un prodotto, la lavagna a fine riunione, lo screenshot di una chat. Accetta i formati immagine più diffusi, fino a 25 MB per file. La lettura rispetta l'italiano com'è: accenti, apostrofi e lettere come è e à finiscono al posto giusto, senza quei caratteri rotti che restituivano i vecchi programmi. La foto da telefono va bene anche senza scanner, ma un'inquadratura curata rende sempre di più.
Come funziona
Carichi l'immagine dal browser oppure la mandi via API e ricevi il testo estratto in una risposta ordinata, pronta da usare: incollarla in un documento, salvarla in un database, passarla a un altro strumento. Non c'è niente da installare né code da aspettare, e ogni immagine viene elaborata da sola, così un lotto grande si può mandare in parallelo. Se non programmi, va bene lo stesso: scrivici su WhatsApp o via email e ti spieghiamo il modo più comodo per te.
Quanto costa
Il prezzo è pubblicato e si paga a consumo: $0.010 a richiesta più $0.0575 a immagine elaborata. Niente abbonamento, niente soglia minima, nessuna sorpresa a fine mese. In pratica digitalizzare il testo di una foto costa meno di sette centesimi di dollaro; un blocco di 100 immagini gira intorno ai $5.76 più le richieste. Per chi oggi ricopia a mano un documento fotografato, il conto torna in fretta.
Consigli per una foto che rende
Tre accortezze risolvono quasi tutto. Luce uniforme, senza flash che brucia il centro della pagina. Inquadratura piena, con il testo il più dritto possibile: non serve la perfezione, ma aiuta. Messa a fuoco: aspetta che il telefono metta a fuoco prima di scattare, soprattutto sulle scritte piccole. Se l'originale ha più pagine, fotografane una per volta invece di farle stare tutte in un colpo solo: il risultato pagina per pagina è molto più affidabile.
Casi d'uso
La dispensa fotografata diventa un riassunto
Chiara Romano, studentessa a Bologna, fotografa le pagine della dispensa e ne estrae il testo per costruirsi i riassunti al computer, senza ricopiare un capitolo.
L'avviso in bacheca finisce nel gruppo del condominio
L'amministratore fotografa il comunicato affisso in ascensore, estrae il testo e lo gira come messaggio nel gruppo WhatsApp del palazzo, invece di una foto che nessuno riesce a leggere.
Etichette a catalogo per l'e-commerce
Un piccolo negozio online fotografa confezioni ed etichette dei prodotti e trasforma le specifiche stampate in testo, velocizzando l'inserimento di centinaia di articoli.
Archivio cartaceo senza ridigitare
Rossi & Figli S.r.l. doveva recuperare il contenuto di vecchi documenti che esistevano solo su carta: fotografati con il telefono, estratti in blocco e messi via.
Domande frequenti
Legge bene l'italiano, con accenti e apostrofi?
Sì. Il motore è pensato per l'italiano reale: è, à, ù, perché, l'ora e simili escono corretti, non trasformati in simboli strani. È proprio questo il punto debole degli OCR vecchi che restituivano testo rotto.
Funziona con la foto storta o con l'ombra?
In buona parte sì: gestisce pagina inclinata, ombra leggera e sfondo poco pulito. Se la foto è molto sfocata o al buio la resa cala, quindi luce uniforme e messa a fuoco restano il consiglio principale.
Devo registrarmi o inserire la carta?
No, non ci sono account: oggi si compra direttamente, senza registrazione. Paghi la richiesta e la usi, senza attivare nessun abbonamento.
Dove finisce la mia immagine?
Il file viene elaborato per restituirti il testo e poi eliminato: non lo conserviamo né lo usiamo per altro. Il trattamento rispetta il GDPR.
Posso usarlo dal telefono?
Sì, gira nel browser del telefono: fotografi, carichi e ricevi il testo, senza installare nessuna app.
Il supporto è in italiano?
Ti risponde una persona vera, in inglese o spagnolo. Scrivici pure in italiano: ci capiamo e ti aiutiamo lo stesso.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/ocr/image \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/ocr/image", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/ocr/image",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/ocr/image", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/ocr/image", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"image": "https://ejemplo.com/imagen.jpg"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "ocr.image",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_mb | 25 |
max_pages | 10 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
422 | task_failed | L'attività non è andata a buon fine: non ti viene addebitato nulla. |