Skip to content

Ocrs

Petite bibliothèque OCR et CLI en Rust pur avec ses propres modèles neuronaux, qui se construit partout y compris WebAssembly mais ne lit que l'écriture latine.

Avis de Sheela · Mis à jour

Voir sur GitHub Open source

Notre note

3.8/5

Ocrs est le moteur OCR à embarquer quand vous voulez un build Rust propre et du texte anglais, et le mauvais dès qu'une page arrive en chinois.

Qu’est-ce que Ocrs ?

Ocrs est une bibliothèque Rust et un outil en ligne de commande qui extrait le texte des images : scans, photos et captures d'écran. Il fait tourner un pipeline en trois étapes (détection de texte, analyse de disposition, reconnaissance de ligne) de petits réseaux de neurones entraînés en PyTorch, exportés en ONNX et exécutés par RTen, un moteur d'inférence Rust du même auteur, Robert Knight. Il n'y a pas de dépendance C++, si bien qu'il compile pour WebAssembly autant que pour les cibles desktop et serveur.

Les modèles sont entraînés uniquement sur des données sous licence ouverte, actuellement HierText de Google (CC-BY-SA 4.0), et le code d'entraînement vit dans un dépôt compagnon, ocrs-models, pour que vous puissiez fine-tuner ou réentraîner. La sortie est du texte simple, du JSON avec les positions des mots et des lignes, ou un PNG annoté.

Le projet se qualifie de préversion anticipée et ne reconnaît que l'alphabet latin. Il est activement maintenu : la version 0.13.1 est sortie le 13 septembre 2026, la crate a environ 477 000 téléchargements sur crates.io, et le dépôt a environ 1 900 étoiles sous Apache-2.0.

Ocrs vaut-il le coup ?

Ocrs est le plus mûr des moteurs OCR en Rust pur que nous avons examinés, et ses limites sont énoncées en page d'accueil : préversion anticipée, alphabet latin uniquement, plus d'erreurs que les moteurs commerciaux. Dans ces limites, il fait ce que les options plus lourdes ne peuvent pas. Il se construit avec cargo seul, tourne dans un navigateur via WebAssembly, et ses modèles sont assez petits pour être téléchargés à la première exécution dans un cache local.

L'ingénierie est régulière plutôt que tape-à-l'œil. Les versions 0.13 sont passées à RTen 0.26, qui, selon le changelog, a rendu la reconnaissance 15 à 20 % plus rapide, ont basculé les modèles par défaut en ONNX avant le retrait du propre format de RTen, et ont ajouté une API C pour que d'autres langages puissent l'appeler. Environ 289 000 de ses 477 000 téléchargements de crate sont venus dans les 90 derniers jours, ce qui suggère qu'il est intégré dans d'autres projets.

Les lacunes se voient dans le suivi d'issues. Les demandes de japonais (ouvertes depuis décembre 2024), de prise en charge linguistique plus large, de scores de confiance sur la sortie et de gestion d'images pivotées sont toutes encore ouvertes, et un rapport récent dit que les signes monétaires ne sont pas reconnus. L'analyse de disposition est étiquetée très en cours de travail dans le dépôt de modèles, si bien que les pages multi-colonnes et les tableaux reviennent comme des lignes de texte plutôt que comme une structure. Un fork communautaire, ocrs-cjk, ajoute des modèles PaddleOCR pour le chinois, le japonais et le coréen, mais il a quatre étoiles et un seul mainteneur.

Comparé aux modèles vision-langage comme PaddleOCR-VL ou DeepSeek-OCR, Ocrs est un outil différent : il lit des caractères, pas des documents. Cela le rend bon marché et prévisible pour les captures d'écran, les étiquettes et les scans anglais propres, et un mauvais choix pour les factures, les formulaires ou tout ce où l'ordre de lecture et les tableaux comptent.

Là où il fait la différence

  • Un développeur Rust qui construit un outil de capture d'écran desktop

    Copier le texte de n'importe quelle capture d'écran du presse-papiers

    cargo install ocrs-cli --locked --features clipboard, puis ocrs -c lit l'image du presse-papiers et imprime le texte. Gratuit et hors ligne après le premier téléchargement de modèle ; le texte d'interface anglais est le point idéal.

  • Une équipe front-end dans une start-up de numérisation de documents

    Faire tourner l'OCR dans le navigateur pour que les images n'atteignent jamais leurs serveurs

    Compilez la bibliothèque en WebAssembly et livrez les modèles ONNX comme assets statiques. Pas de serveurs d'inférence à payer et un récit de confidentialité plus simple, au prix d'une reconnaissance latine uniquement et d'une exactitude plus faible que les modèles de vision côté serveur.

  • Un ingénieur ML dans une entreprise de logistique qui lit des étiquettes d'expédition

    Fine-tuner la reconnaissance sur leurs propres photos d'étiquettes

    Utilisez le guide d'entraînement ocrs-models pour fine-tuner les modèles de détection et de reconnaissance en PyTorch, exportez en ONNX et chargez-les dans Ocrs. Un GPU pour l'entraînement ; l'inférence tourne ensuite sur CPU dans l'appli de l'entrepôt.

Avant de vous engager

Mise en route
cargo install ocrs-cli --locked, puis ocrs image.png ; les modèles se téléchargent dans ~/.cache/ocrs à la première exécution. L'usage de la bibliothèque a besoin de builds release, puisque les builds debug sont très lents, et de Rust 1.94 ou plus récent à partir de 0.13.0.
Intégrations
Crate Rust, CLI, API C (depuis 0.13.0) et WebAssembly ; sortie JSON avec boîtes de mots et de lignes. Pas de paquet Python du mainteneur.
Données et confidentialité
Tourne entièrement en local ; le seul appel réseau est le premier téléchargement de modèle depuis Hugging Face. Code Apache-2.0 ; les données d'entraînement sont HierText sous CC-BY-SA 4.0.
Coût à grande échelle
CPU uniquement et léger, si bien que le coût est du calcul ordinaire ; le mainteneur ne publie aucun chiffre de débit et ne vend aucune édition payante.
Limites
Écriture latine uniquement ; environ 21 issues et pull requests ouvertes, dont la prise en charge du japonais, les scores de confiance et les images pivotées ; l'analyse de disposition est en cours de travail ; la prise en charge des modèles .rten est progressivement retirée au profit d'ONNX.

Les points forts

  • Rust pur ; se construit avec cargo et tourne en WebAssembly
  • Petits modèles entraînés uniquement sur des données sous licence ouverte
  • Code d'entraînement publié pour le fine-tuning
  • Versions actives ; la 0.13 a rendu la reconnaissance 15 à 20 % plus rapide

Les points faibles

  • Alphabet latin uniquement
  • Préversion anticipée auto-déclarée avec plus d'erreurs que l'OCR commercial
  • Pas encore de scores de confiance dans la sortie
  • Pas de sortie de tableau ou de structure de document

Idéal pour

Les développeurs Rust et WebAssembly qui ont besoin d'un OCR léger en anglais à l'intérieur de leur propre application.

Alternatives à Ocrs

Ocrs : questions fréquentes

Ocrs vaut-il le coup ?
Ocrs est le moteur OCR à embarquer quand vous voulez un build Rust propre et du texte anglais, et le mauvais dès qu'une page arrive en chinois. Nous lui donnons 3.8 sur 5.
Combien coûte Ocrs ?
Gratuit sous Apache-2.0 ; les modèles sont gratuits à télécharger depuis Hugging Face.
Quels sont les inconvénients de Ocrs ?
Alphabet latin uniquement; préversion anticipée auto-déclarée avec plus d'erreurs que l'OCR commercial; pas encore de scores de confiance dans la sortie; pas de sortie de tableau ou de structure de document.
À qui s’adresse Ocrs ?
Les développeurs Rust et WebAssembly qui ont besoin d'un OCR léger en anglais à l'intérieur de leur propre application.
Combien coûte Ocrs pour une équipe ou en production ?
CPU uniquement et léger, si bien que le coût est du calcul ordinaire ; le mainteneur ne publie aucun chiffre de débit et ne vend aucune édition payante.
Ocrs est-il sûr pour les données de l’entreprise ?
Tourne entièrement en local ; le seul appel réseau est le premier téléchargement de modèle depuis Hugging Face. Code Apache-2.0 ; les données d'entraînement sont HierText sous CC-BY-SA 4.0.
Quelles sont les meilleures alternatives à Ocrs ?
Les alternatives les plus proches que nous avons testées sont ocr-rs (formerly rust-paddle-ocr), Xberg (formerly Kreuzberg), deepseek-ocr.rs et Docling.

Réponses vérifiées le 26 oct. 2026.