Loading...
Loading...
OpenOCR supports 200+ languages across its engines. Pass a standard ISO 639-1 code — the router automatically maps it to the format each engine expects.
Pass settings.language with your OCR request as a standard 2-letter ISO 639-1 code (e.g., en, fr, zh). The router handles code conversion automatically. Engine-native multi-language hints can also be passed via the top-level lang array (e.g. ["eng", "fra"]).
# OCR with language hint
curl -X POST https://api.open-ocr.com/v1/ocr \
-H "Authorization: Bearer sk-ocr-your-api-key" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"engine": "local-tesseract",
"settings": { "language": "fr" },
"input": {
"type": "url",
"url": "https://tesseract-ocr.github.io/tessdoc/images/eurotext.png"
}
}'Note: If no language is specified, the router defaults to English (en). OpenOCR-hosted engines such as Tesseract do not detect language, so non-English documents must include the language code or they will return garbled output for non-Latin scripts. Some engines, including Mistral OCR, ignore language hints and detect the language automatically.
Different engines use different language code formats. OpenOCR normalizes them:
| You send | Tesseract gets | EasyOCR gets |
|---|---|---|
| en | eng | en |
| fr | fra | fr |
| zh | chi_sim | ch_sim |
Top 20 languages and their engine support. All engines support more languages than listed — this covers the most commonly requested ones.
| Code | Language | tesseract | easyocr | doctr | surya | rapidocr | ocrmypdf |
|---|---|---|---|---|---|---|---|
| en | English | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| fr | French | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| de | German | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| es | Spanish | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| pt | Portuguese | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| it | Italian | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| nl | Dutch | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| ru | Russian | ✓ | ✓ | — | ✓ | — | ✓ |
| zh | Chinese (Simplified) | ✓ | ✓ | — | ✓ | ✓ | ✓ |
| zh-TW | Chinese (Traditional) | ✓ | ✓ | — | ✓ | ✓ | ✓ |
| ja | Japanese | ✓ | ✓ | — | ✓ | ✓ | ✓ |
| ko | Korean | ✓ | ✓ | — | ✓ | — | ✓ |
| ar | Arabic | ✓ | ✓ | — | ✓ | — | ✓ |
| hi | Hindi | ✓ | ✓ | — | ✓ | — | ✓ |
| th | Thai | ✓ | ✓ | — | ✓ | — | ✓ |
| vi | Vietnamese | ✓ | ✓ | — | ✓ | — | ✓ |
| pl | Polish | ✓ | ✓ | — | ✓ | — | ✓ |
| uk | Ukrainian | ✓ | ✓ | — | ✓ | — | ✓ |
| tr | Turkish | ✓ | ✓ | — | ✓ | — | ✓ |
| sv | Swedish | ✓ | ✓ | — | ✓ | — | ✓ |