Ocrsとは?
Ocrs は、スキャン、写真、スクリーンショットといった画像からテキストを抽出する Rust のライブラリ兼コマンドラインツールです。テキスト検出、レイアウト解析、行の認識という 3 段階のパイプラインを、小さ なニューラルネットワークで実行します。モデルは PyTorch で学習し、ONNX に書き出し、同じ作者 Robert Knight による Rust の推論エンジン RTen で実行します。C++ への依存がないため、デスクトップやサーバーだけでなく WebAssembly 向けにもコンパイルできます。
モデルはオープンなライセンスのデータだけで学習されており、現在は Google の HierText(CC-BY-SA 4.0)を使っています。学習用のコードは別リポジトリ ocrs-models にあり、ファインチューニングや再学習が可能です。出力はプレーンテキスト、単語と行の位置を含む JSON、注釈付きの PNG から選べます。
プロジェクトは自らを初期プレビューと位置付けており、認識できるのはラテン文字だけです。メンテナンスは活発で、バージョン 0.13.1 は 2026年9月13日に公開されました。crates.io でのクレートのダウンロード数は約 477,000、リポジトリは Apache-2.0 でスター数は約 1,900 です。
Ocrsは使う価値があるか?
Ocrs は、私たちが調べた純粋 Rust の OCR エンジンの中で最も成熟しており、限界はトップページに明記されています。初期プレビューであること、ラテン文字のみであること、商用エンジンよりも誤りが多いことです。その範囲内なら、より重い選択肢にはできないことができます。cargo だけでビルドでき、WebAssembly でブラウザー上で動き、モデルは初回実行時にローカルキャッシュへダウンロードできるほど小さいのです。
エンジニアリングは派手さよりも着実さが目立ちます。0.13 系のリリースでは RTen 0.26 に移行し、変更履歴によると認識が 15〜20% 速くなりました。RTen 独自形式の廃止に先立って標準のモデルを ONNX に切り替え、ほかの言語から呼び出せるよう C API も追加しました。クレートのダウンロード 477,000 件のうち約 289,000 件は直近 90 日間のもので、ほかのプロジェクトに取り込まれつつあることがうかがえます。
足りない部分は issue トラッカーに表れています。日本語対応(2024年12月から未解決)、より広い言語対応、出力への信頼度スコア、回転した画像の扱いへの要望はいずれも未解決で、最近の報告では通貨記号が認識されないとされています。モデルのリポジトリでは、レイアウト解析は「まだかなりの開発途中」とされており、段組みのページや表は構造ではなくテキストの行として返ってきます。コミュニティのフォーク ocrs-cjk は中国語、日本語、韓国語向けに PaddleOCR のモデルを追加していますが、スターは 4 つでメンテナーは一人です。
PaddleOCR-VL や DeepSeek-OCR のような視覚言語モデルと比べると、Ocrs は別の種類のツールです。読むのは文字であって、文書ではありません。そのため、スクリーンショット、ラベル、きれいな英語のスキャンには安価で予測しやすく、請求書、フォーム、読み順や表が重要なものには向きません。
真価を発揮する場面
デスクトップ用スクリーンショットツールを作る Rust 開発者
クリップボードにある任意のスクリーンショットからテキストをコピーする
cargo install ocrs-cli --locked --features clipboard を実行すると、ocrs -c でクリップボードの画像を読み、テキストを出力できます。無料で、初回のモデルのダウンロード後はオフラインで動きます。英語の UI テキストが最も得意です。
文書スキャンのスタートアップのフロントエンドチーム
画像がサーバーに届かないよう、ブラウザーで OCR を実行する
ライブラリを WebAssembly にコンパイルし、ONNX モデルを静的アセットとして配信します。推論サーバーの費用がかからず、プライバシーの説明も簡単になります。その代わり、認識はラテン文字のみで、サーバー側の視覚モデルより精度は劣ります。
配送ラベルを読み取る物流企業の ML エンジニア
自社のラベル写真で認識をファインチューニングする
ocrs-models の学習ガイドに従って検出モデルと認識モデルを PyTorch でファインチューニングし、ONNX に書き出して Ocrs で読み込みます。学習には GPU が 1 枚必要ですが、推論は倉庫のアプリで CPU 上で動きます。
導入前に確認すること
- 導入
- cargo install ocrs-cli --locked のあと ocrs image.png を実行します。モ デルは初回実行時に ~/.cache/ocrs にダウンロードされます。デバッグビルドは非常に遅いため、ライブラリとして使うにはリリースビルドが必要です。0.13.0 時点で Rust 1.94 以降が必要です。
- 連携
- Rust クレート、CLI、C API(0.13.0 以降)、WebAssembly に対応し、単語と行のボックスを含む JSON を出力します。メンテナーによる Python パッケージはありません。
- データとプライバシー
- 完全にローカルで動作し、ネットワーク呼び出しは初回の Hugging Face からのモデルのダウンロードだけです。コードは Apache-2.0、学習データは CC-BY-SA 4.0 の HierText です。
- 大規模利用時のコスト
- CPU のみで軽量なため、コストは通常の計算資源の分だけです。メンテナーはスループットの数値を公表しておらず、有料版も販売していません。
- 制限
- ラテン文字のみです。日本語対応、信頼度スコア、回転した画像を含め、未解決の issue とプルリクエストが約 21 件あります。レイアウト解析は開発途中です。.rten 形式のモデルへの対応は、ONNX に移行するため段階的に廃止されつつあります。
良い点
- 純粋な Rust で、cargo でビルドでき WebAssembly で動く
- オープンなライセンスのデータだけで学習した小さなモデル
- ファインチューニング用の学習コードが公開されている
- リリースが活発で、0.13 で認識が 15〜20% 高速化
気になる点
- ラテン文字のみ
- 自ら初期プレビューと称しており、商用 OCR より誤りが多い
- 出力にまだ信頼度スコアがない
- 表や文書構造の出力がない
おすすめの人
自分のアプリケーションの中で軽量な英語の OCR を必要とする Rust や WebAssembly の開発者に向いています。
Ocrsの代替
Ocrs:よくある質問
- Ocrsは使う価値があるか?
- Ocrs は、クリーンな Rust のビルドで英語のテキストを読みたいときに組み込むべき OCR エンジンです。ただし、中国語のページが来た時点で選択を誤ったことになります。 評価は5点満点中3.8点です。
- Ocrsの料金は?
- Apache-2.0 で無料です。モデルは Hugging Face から無料でダウンロードできます。
- Ocrsの欠点は?
- ラテン文字のみ; 自ら初期プレビューと称しており、商用 OCR より誤りが多い; 出力にまだ信頼度スコアがない; 表や文書構造の出力がない.
- Ocrsは誰に向いているか?
- 自分のアプリケーションの中で軽量な英語の OCR を必要とする Rust や WebAssembly の開発者に向いています。
- チームや本番環境でOcrsを使うと費用はいくらか?
- CPU のみで軽量なため、コストは通常の計算資源の分だけです。メンテナーはスループットの数値を公表しておらず、有料版も販売していません。
- Ocrsは企業データを扱っても安全か?
- 完全にローカルで動作し、ネットワーク呼び出しは初回の Hugging Face からのモデルのダウンロードだけです。コードは Apache-2.0、学習データは CC-BY-SA 4.0 の HierText です。
- Ocrsの代わりになるものは?
- 当サイトでレビューした中で最も近い代替はocr-rs (formerly rust-paddle-ocr), Xberg (formerly Kreuzberg), deepseek-ocr.rs 、 Doclingです。
回答確認日:2026年10月26日
