はじめに

クイックスタートと APIインストールオンライン OCRCode generator (EN)

モデルとパイプライン

PP-OCRv6 モデル対応言語PP-StructureV3PaddleOCR-VL

デプロイと連携

Serving & API (EN)PaddleOCR.js (EN)MCP server (EN)

トラブル対応と移行

トラブルシューティング2.x からの移行Releases (EN)

評価

Our benchmark (EN)Compare OCR tools (EN)License & cost (EN)

ツール

オンライン OCRインストールコマンド生成Code generator (EN)エラー解決ツール2.x → 3.x 変換言語コード検索

言語

English简体中文日本語オンラインで OCR
無料ツール · 登録不要 · アップロードなし

PaddleOCR オンライン — ブラウザだけで動く OCR

画像をドロップすると、公式の PaddleOCR.js SDK が PP-OCRv6 を使ってこの端末上で文字を読み取ります。すべてのテキスト行を検出枠と信頼度スコア付きで表示し、JSON と、同じ結果を再現する Python コードも出力します。

PaddleOCR 3.7.0 で確認済み更新日 4 分で読めますブラウザ内で実行

ブラウザで動く PaddleOCR#

画像は端末の外に送信されません
ここに結果が表示されます検出された行は画像上に枠で表示されます。枠や行にカーソルを合わせると、対応する箇所が強調されます。

設計からプライバシー重視#

このページがダウンロードするのはモデルであり、あなたの画像ではありません。認識処理はこのタブ内の ONNX Runtime Web で行われ、タブを閉じれば、キャッシュされたモデル以外は何も残りません。

1 つのモデルで 50 言語#

PP-OCRv6 small は、中国語(簡体字・繁体字)、英語、日本語、ラテン文字の 46 言語を、モデルを切り替えずに読み取ります。tiny は日本語を除く 49 言語に対応します。

Python と同じ形式で出力#

PaddleOCR 3.7 が返すのと同じ形の rec_texts・rec_scores・ポリゴンに加え、手元のマシンですぐ実行できる Python スクリプトも出力します。

日本語の画像は small で読み取ってください。tiny の認識辞書にはひらがな・カタカナが含まれていません。Python 版での実測では、日本語の掲示に対して PP-OCRv6 small は全行を正確に読み取り、tiny は文字誤り率 47.3% でした。5「日本語の掲示」サンプルを選ぶと、tiny を選択中でも自動的に small に切り替わります。

このオンライン PaddleOCR のしくみ#

このページは、PaddleOCR チームが @paddleocr/paddleocr-js として公開している公式ブラウザ SDK、PaddleOCR.js を読み込みます。処理は Python ライブラリと同じ 2 段階のパイプラインです。1

1 · 入力あなたの画像ブラウザ内でデコード。サーバーには送信されません。
2 · テキスト検出PP-OCRv6 detすべてのテキスト行を見つけ、4 点のポリゴンを返します。
3 · 文字認識PP-OCRv6 rec切り出した各行を読み取り、信頼度を算出します。
4 · 出力行と検出枠テキスト・信頼度・ポリゴンを、テキストまたは JSON で。

どちらのモデルも ONNX Runtime Web で動作します。SDK はブラウザが WebGPU に対応していれば WebGPU を使い、そうでなければ WebAssembly にフォールバックします。モデルファイルは Baidu の公式 CDN から取得し、失敗した場合は Hugging Face の PaddlePaddle 組織にある同一の ONNX 版を取得します。いずれの場合もブラウザのキャッシュに保存されるため、2 回目以降は数秒で起動します。3

どのモデルを選ぶべきか#

モデルダウンロード対応言語向いている用途
PP-OCRv6 small31.2 MB50(日本語を含む)既定。ブラウザ版 SDK で使える最も高精度なモデル。
PP-OCRv6 tiny6.3 MB49(日本語なし)スマートフォンや低速回線、ラテン文字・中国語の簡易チェック。
PP-OCRv5 mobile21.5 MB中国語、英語、日本語旧世代との比較。

サーバー向けの PP-OCRv6 medium(Python 版の既定モデル)は、ブラウザ版 SDK では提供されていません。私たちの CPU ベンチマーク (EN) では、small は 5 つのテスト文書のうち 3 つで medium と完全に同じ結果になり、2 つのレシートではそれぞれ 1 文字だけ誤りが多い程度でした。Python ライブラリで得られる結果のプレビューとして十分に参考になります。

ブラウザでレシート 1 枚を読み取る時間

PaddleOCR.js 0.4.2、WebAssembly バックエンド、4 vCPU のテスト機。短いほど高速。

モデル秒
PP-OCRv6 tiny1.14 s
PP-OCRv6 small5.82 s
paddleocr.dev による計測、2026-10-27、ヘッドレス Chromium、WebGPU なし。WebGPU 対応やコア数の多いノート PC では、通常これより高速です。

認識精度を上げるコツ#

  • 文字の部分だけを切り抜く。大きな写真はテキスト検出の前に縮小されるため、大きな写真の中の小さな文字は見落とされることがあります。切り抜きが最も効果的です。
  • 文字が抜ける場合は、「検出の設定」を開いて text_det_box_thresh を下げてください(例:0.4)。薄い文字やコントラストの低い文字は、これでしきい値を超えることがよくあります。
  • 端の文字が欠ける場合は、text_det_unclip_ratio を 2.0 に上げると、検出枠が少し広く描かれます。
  • 傾いたページは、ある程度の傾きまでなら問題ありません(サンプルのレシート写真は 7.5° 傾いていますが、完全に読み取れました)。上下逆や横向きのページには、Python 版パイプラインの use_doc_orientation_classify=True で先に向きを補正します。
  • 信頼度スライダーで不確かな行を非表示にできます。赤い枠は 0.80 未満で、誤認識の多くはこの範囲にあります。

ブラウザ版と Python 版の違い#

このオンラインツール(PaddleOCR.js)Python ライブラリ(PaddleOCR 3.7)
インストール不要pip install+推論エンジン
モデルPP-OCRv6 small/tiny、PP-OCRv5 mobilePP-OCRv6 medium を含む全モデル、100 以上の言語
PDF不可(ページを画像として書き出す)可(複数ページ対応)
表・レイアウト・数式不可可(PP-StructureV3 または PaddleOCR-VL)
向き補正・歪み補正不可前処理モデルをオプションで使用可能
プライバシーローカル処理ローカル処理

同じ OCR を自分のサイトに組み込む#

このページの機能は、すべて公式 SDK で実現できます。最小構成は次のとおりです。

jsocr.js
import { PaddleOCR } from "@paddleocr/paddleocr-js";

const ocr = await PaddleOCR.create({
  lang: "en",
  ocrVersion: "PP-OCRv6",          // maps to PP-OCRv6_small
  ortOptions: { backend: "auto" }  // WebGPU if available, else WASM
});

const [result] = await ocr.predict(fileInput.files[0]);
for (const line of result.items) {
  console.log(line.text, line.score.toFixed(3), line.poly);
}

バンドラー、Web Worker、WebGPU 用のヘッダー、そしてこのページを安定させるために回避が必要だった CDN の挙動については、PaddleOCR.js ガイド (EN) で解説しています。

よくある質問#

このオンライン PaddleOCR は無料ですか?

はい。アカウント登録、利用回数の制限、透かしはありません。このページは静的なページで、ブラウザがオープンソースのモデルを一度ダウンロードし、処理もブラウザ自身が行います。そのため、私たちが利用量を計測する仕組みはそもそもありません。

画像はどこかにアップロードされますか?

いいえ。画像はこのタブ内の canvas に読み込まれ、ローカルの ONNX Runtime Web に渡されます。ネットワーク通信は、SDK のコード(jsDelivr)とモデルファイル(Baidu の CDN または Hugging Face)の取得だけです。ブラウザの開発者ツールの「ネットワーク」タブで確認できます。

日本語の画像も読み取れますか?

はい。既定の PP-OCRv6 small は日本語に対応しています。ただし tiny は日本語非対応のため、日本語の画像では small を選んでください。Python 版の small による私たちの実測では、日本語の掲示を全行正確に読み取りました。

ここで PDF を OCR できますか?

直接はできません。ブラウザ版 SDK は画像のみを受け付けます。ページを PNG か JPG で書き出すか、PDF をそのまま読める Python ライブラリを使ってください。表や数式を含む PDF には PP-StructureV3 を使います。

これは PaddleOCR の公式デモですか?

いいえ。paddleocr.dev は独立したサイトで、このツールは公式の PaddleOCR.js SDK を使って作られています。PaddleOCR チームは独自のデモを運営しており、その一つが paddleocr.com のホスト型サービスです(ファイルはサーバー側で処理されます)。

初回の実行に時間がかかるのはなぜですか?

初回はモデル(ティアにより 6〜31 MB)のダウンロードと WebAssembly ランタイムの起動が必要なためです。以降はモデルがブラウザにキャッシュされ、推論の時間だけで済みます。

どの言語を読み取れますか?

PP-OCRv6 small は、中国語(簡体字・繁体字)、英語、日本語、そしてフランス語、ドイツ語、スペイン語、ポルトガル語、イタリア語、ポーランド語、トルコ語、ベトナム語などラテン文字の 46 言語に対応しています。韓国語、アラビア文字、キリル文字、タイ文字、デーヴァナーガリーなどは Python ライブラリが必要です。言語一覧 をご覧ください。

出典

  1. PaddleOCR.js SDK の README とソースコード(モデルのプリセット、バックエンド):github.com/PaddlePaddle/PaddleOCR/tree/main/paddleocr-js — npm @paddleocr/paddleocr-js 0.4.2(2026-06-11 公開)。
  2. PP-OCRv6 の対応言語(medium・small は 50 言語、tiny は日本語を除く 49 言語):PP-OCRv6 アルゴリズムのドキュメント。
  3. モデルのダウンロードサイズ:Baidu の CDN にある公式 ONNX アーカイブの Content-Length と、Hugging Face の PaddlePaddle 上のファイルサイズ(2026-10-27 確認)。
  4. ブラウザでの処理時間:paddleocr.dev が 2026-10-27 に計測。ヘッドレス Chromium(WASM バックエンド、WebGPU なし)、4 vCPU の Intel Xeon @ 2.10 GHz の Linux コンテナ。お使いの端末では結果が異なります。
  5. 日本語の掲示での認識結果(Python 版 PP-OCRv6 small・medium は全行正確、tiny は文字誤り率 47.3%):paddleocr.dev ベンチマーク、2026-10-27。方法と生データ (EN)。
更新日 2026年10月27日·事実確認の方法