Convertir une image en texte
Lisez le texte imprimé d’une photo, d’une capture d’écran ou d’un scan et téléchargez-le en fichier .txt, ou en JSON avec la position et la fiabilité de chaque bloc.
Déposez vos fichiers ici
.jpg, .jpeg, .png, .webp, .bmp, .gif, .avif · jusqu’à 100 Mo
Plus de réglagesMoins de réglages
Comment extraire le texte
- 1
Ajoutez votre image
JPG, PNG, WebP, BMP, GIF ou AVIF, jusqu’à 20 fichiers. Le format est lu dans le fichier lui-même, donc une extension erronée est quand même envoyée au bon décodeur.
- 2
Choisissez la langue du texte
Une langue suffit pour la plupart des scans. Ajoutez-en une deuxième ou une troisième seulement quand une page mélange vraiment plusieurs langues. Chaque langue en plus rallonge le téléchargement et réduit un peu la précision.
- 3
Cliquez sur Extraire et téléchargez le .txt
Vous obtenez le texte reconnu, le nombre de caractères et la fiabilité moyenne. Basculez la sortie en JSON quand vous avez aussi besoin des coordonnées.
Ce que l’OCR dans un navigateur lit bien, et mal
L’outil utilise Tesseract, le moteur présent dans la plupart des OCR open source, compilé en WebAssembly et exécuté dans votre onglet. Il est performant sur le texte imprimé : pages de livres, captures d’écran, factures, panneaux, formulaires, dès que la police est normale et la taille raisonnable. Il est faible sur l’écriture manuscrite, sur les polices très décoratives, sur le texte posé sur des photos très chargées, et sur tout ce qui est photographié en biais. La résolution compte plus que la taille du fichier : une capture nette de 1 500 pixels de large d’un paragraphe est mieux lue qu’une photo de téléphone de dix mégapixels du même paragraphe prise à l’autre bout d’une pièce. Si la fiabilité moyenne descend sous 30, l’outil indique qu’il n’a rien trouvé de lisible au lieu de vous rendre une page de faux texte qui a l’air plausible.
Le réglage de prétraitement, et quand il aide
Avec le prétraitement activé, l’image est convertie en niveaux de gris puis seuillée avec la méthode d’Otsu, qui choisit la coupure noir-blanc à partir de l’histogramme de l’image plutôt qu’avec une valeur fixe. Le gain est important pour les pages photographiées avec un éclairage irrégulier, les tickets de caisse pâles et les scans gris, car cela retire les ombres que le moteur essaierait sinon d’interpréter comme du texte. En revanche, c’est une perte sur le texte déjà propre, sur les captures d’écran en clair sur fond sombre, et sur tout ce qui a du texte coloré sur un fond coloré, où un seuil dur peut effacer les lettres. Essayez ce mode quand la reconnaissance simple vous déçoit, pas avant.
Texte seul ou texte avec coordonnées
Par défaut, la sortie est un simple .txt avec les mêmes retours à la ligne que ceux vus par le moteur. L’option JSON donne à la place un tableau de blocs, chacun avec son texte reconnu, sa fiabilité et un rectangle englobant défini par quatre nombres : x, y, largeur et hauteur en pixels de l’image réellement reconnue. C’est ce qu’il vous faut pour surligner les résultats sur l’original, extraire un champ précis d’un formulaire ou repérer quelle partie de la page a fait baisser la fiabilité moyenne.
Ni l’image ni le texte ne sont envoyés
Le moteur de reconnaissance et les données de langue sont téléchargés une fois puis mis en cache par votre navigateur, et tout le reste se fait localement : votre image est décodée dans l’onglet, reconnue dans l’onglet, et le fichier texte est construit dans l’onglet. Aucune information sur le contenu n’est envoyée ailleurs, ce qui compte quand vous lisez un contrat, un bulletin de salaire ou une pièce d’identité.
Questions fréquentes
Quelles langues sont prises en charge ?
Anglais, russe, allemand, français, espagnol, chinois simplifié, arabe et japonais. Vous pouvez en combiner jusqu’à trois à la fois pour des pages réellement mixtes, mais une seule langue correcte est presque toujours plus précise que deux.
Mon image est-elle envoyée à un serveur ?
Non. Le moteur d’OCR est du WebAssembly exécuté dans votre navigateur. Le seul trafic réseau est le téléchargement unique du moteur et des données de langue choisies. L’image et le texte reconnu restent sur votre appareil.
Pourquoi la première reconnaissance est-elle plus lente ?
Parce que la première exécution télécharge le moteur, environ 3 Mo, plus les données pour votre langue, entre 0,7 et 3 Mo selon le cas. Votre navigateur met les deux en cache, donc la deuxième exécution commence la reconnaissance immédiatement.
Est-ce qu’il lit l’écriture manuscrite ?
Pas de façon fiable. Les modèles sont entraînés sur du texte imprimé, et l’écriture manuscrite ressort soit fausse, soit sous le seuil de fiabilité. Des majuscules très soignées passent parfois ; une écriture cursive ordinaire non. Considérez tout résultat manuscrit comme un brouillon à vérifier, jamais comme une transcription.
Que faire quand aucun texte n’est trouvé ?
Activez d’abord l’option de prétraitement et réessayez ; elle corrige la plupart des problèmes d’éclairage irrégulier. Si cela ne suffit pas, la cause habituelle est la résolution : rescannez ou reprenez la photo pour que les lettres fassent au moins vingt pixels de haut. Recadrer sur le texte uniquement et choisir la bonne langue aide aussi plus qu’on ne le pense.
Quelle résolution faut-il pour un bon résultat ?
Visez un texte d’environ 20 à 40 pixels de haut, soit à peu près 300 DPI pour un scan de document classique. En dessous, les lettres se collent et la précision chute vite. Au-dessus, vous payez surtout en temps : une image n’est pas plus lisible parce qu’elle fait 10 000 pixels de large, et tout ce qui dépasse 12 000 pixels de côté est réduit avant la reconnaissance.
Puis-je obtenir la position de chaque mot ?
Vous obtenez la position de chaque bloc, qui est l’unité renvoyée par le moteur : son texte, sa fiabilité et son rectangle englobant en pixels. Choisissez la sortie JSON plutôt que le texte brut, et le téléchargement est ce tableau plutôt qu’un fichier plat.
Est-ce que cela fonctionne sur un téléphone ?
Oui, avec deux réserves. La première exécution doit télécharger plusieurs mégaoctets sur la connexion que vous utilisez, et la reconnaissance sur un téléphone prend environ trois fois plus de temps que sur un ordinateur portable, donc la lecture d’une page complète peut prendre une trentaine de secondes. Tout continue néanmoins à fonctionner localement.