The reading desk · पढ़ने की मेज़
Bengali / Bangla OCR — image to text
Recognise Bengali / Bangla text from images or scanned PDF pages on your device. Paste, upload or photograph text, proofread and download Word text.
Source
Choose a page to read
Specimen
বাংলা বাংলাদেশ
Check য/য় and conjuncts; a clean headline is easier than ornate type.
Images are processed on this device and never uploaded. The first run downloads a language model from jsDelivr; image content is never sent there.
Result
Editable Unicode text
01 · How it works
Bengali / Bangla: recognition and proofreading
বাংলা বাংলাদেশ
Check য/য় and conjuncts; a clean headline is easier than ornate type.
Choose the matching language model, upload or paste a clear image, or use the mobile camera input. Keep the page straight and well lit. Recognition is intended for printed text; handwriting, ornate fonts and low resolution may need extensive correction. Large images are reduced to a maximum 3000-pixel edge; PDF pages to 2400 pixels.
Reference
| Language | Model / sample |
|---|---|
| Bengali / Bangla | ben — বাংলা বাংলাদেশ |
02 · FAQ
Questions about reading text from files
Are my images uploaded?
No. Recognition runs on your device. The recognition file for your language downloads from a public file host (jsDelivr) the first time you use it; that host sees a normal download request, never your image.
Is the confidence score accuracy?
No. It is the engine’s estimate. Proofread names, numbers, vowel marks and conjuncts.
Can I recognise a scanned PDF?
Yes. PDF.js renders pages one at a time, then the OCR worker recognises each image. Output is editable text and Word paragraphs, not the PDF layout.
Why does Bengali OCR drop the chandrabindu (ঁ)?
We did not find the cause. In our own test, the Bengali model dropped ঁ in every condition, including clean ones, so treat it as a known gap in this model and add it back while proofreading.
How well does Bengali OCR read a clean image?
On our 12-line Bengali test page (349 characters, Noto fonts) the error rate ranged from 0.9% to 11.2% depending on the render, and it was highest on the clean 36 pixel renders, where a whole line was omitted. This is a small synthetic test, not a benchmark of your documents.
Bengali · measured on this model
What the Bengali model got wrong in our test.
Bengali also hangs letters from a headline (the matra line), but its vowel signs wrap around letters on both sides, and several letters are told apart by a single dot (ড/ড়, ঢ/ঢ়, য/য়) or a small mark above the line (ঁ). On our test pages the Bengali model made more character errors than Hindi, Marathi or Tamil even on clean renders, and one of them happened in every condition we tried.
How we tested: we wrote 12 lines of Bengali (349 characters, none copied from a third party), drew them in two Noto fonts (SIL OFL), degraded them in 7 ways and ran the same recognition engine and Bengali file this page uses, with its default settings. We aligned the output to the text letter by letter. This is a small synthetic test that shows real failure modes. It is not an accuracy figure for your documents, and real scans and photos will behave differently. A script in the source code reproduces it byte for byte; the exact versions are under Sources at the end of this page.
Character errors by condition
Clean render, sans, 36 px
9.5% character errors
Engine confidence 89 · 1 of 12 lines omitted
Clean render, serif, 36 px
11.2% character errors
Engine confidence 90 · 1 of 12 lines omitted
Small text, sans, 18 px
0.9% character errors
Engine confidence 92
Photo-like: sans 28 px, 1.5° tilt, blur, noise, JPEG q45
1.1% character errors
Engine confidence 93
Tiny text, sans, 13 px
4.0% character errors
Engine confidence 78
Poor phone photo: sans 22 px, 3° tilt, blur σ1.4, heavy noise, JPEG q30
5.7% character errors
Engine confidence 78
Faded print: serif 20 px, grey ink on tinted paper, blur σ1.1
4.0% character errors
Engine confidence 81
Proofreading checklist
Bengali: check these before you trust the text.
Items marked “observed” come from the test above, with the number of the 7 conditions in which each one appeared. Items marked “look-alikes” are a general proofreading habit for this script that we did not measure.
চাঁ
Observed · 7 of 7 conditions
01Chandrabindu
The small moon-and-dot sign was dropped in every one of the seven conditions we tried, including the clean 36 pixel render: চাঁদ became চাদ, কাঁদা became কাদা and বাঁশি became বাশি. Search the whole result for words that should carry ঁ, and add it back by hand.
- চাঁদ was read as চাদ
- কাঁদা was read as কাদা
- বাঁশি was read as বাশি
ড ভ
Observed · 2 of 7 conditions
02ড read as ভ
In both clean 36 pixel renders (sans and serif), the first letter of ডাক্তারবাবু was read as ভ. Names and professional titles are where this is most likely to cause trouble.
- ডাক্তারবাবু was read as ভাক্তারবাবু
সূ সু
Observed · 2 of 7 conditions
03Long and short u
The long ূ was read as short ু in serif and faded renders: ময়ূর became ময়ুর, দুর্গাপূজার became দুর্গাপুজার and সূর্যের became সুর্যের. This changes the spelling without making a non-word.
- ময়ূর was read as ময়ুর
- দুর্গাপূজার was read as দুর্গাপুজার
ঢ় ড় য়
Observed · 1 of 7 conditions
04Dotted letters
ঢ় was lost or read as ড় (গাঢ় became গা in a serif render and গাড় in faded print). Check every letter that carries the dot below, because the dotted and plain letters are different spellings.
- গাঢ় was read as গা
- গাঢ় was read as গাড়
প্র খ্রি
Observed · 1 of 7 conditions
05Conjuncts with ra-phala
The tail of a conjunct was dropped: খ্রিস্টাব্দ lost its ্র in a serif render, and প্রযুক্তির lost its first conjunct at 13 pixels. Compare every long conjunct word with the source.
- খ্রিস্টাব্দ was read as খিস্টাব্দ
- প্রযুক্তির was read as যুক্তির
ত্ন ত্ব
Observed · 2 of 7 conditions
06ন read as ব
The end of যত্ন was read as ব (যত্ব) in the 18 pixel render and in the mildly degraded photo. A two-letter conjunct is easy to mistake when the second part is small.
- যত্ন was read as যত্ব
(whole line)
Observed · 2 of 7 conditions
07A line that disappears
In both of the clean 36 pixel renders, the sentence যত্ন করে সূর্যের আলোয় পড়াশোনা করো was left out of the result altogether, while smaller text of the same page was read. Count the lines of the output against the original; a clean-looking page is not a safe page.
কে কো
Observed · 2 of 7 conditions
08Vowel signs around the letter
Bengali signs wrap around a letter (ো is ে before and া after). A ে was read as ো in two conditions; in the poor phone photo বাণিজ্যের became বাণিজ্োর. Check the sign on every word with ে, ো, ৈ or ৌ.
- ব্যবসা-বাণিজ্যের was read as ব্যবসা-বাণিজ্োর
Photographing Bengali
Tips for photographing Bengali documents.
Do not shrink the page
At 18 pixels the Bengali model made 0.9% character errors on our test page, but at 13 pixels it made 4.0%. Photograph so that a line of text is at least as tall as in the small test, or crop in.
Keep the matra line level and unbroken
Letters hang from the matra line, and the signs ে and ৈ lean before a letter and ী and ূ rise above it. A tilt, a crease across the line or a shadow breaks the line into pieces the engine reads as separate letters.
Light the small marks
ঁ, the dot below ড় ঢ় য় and the hasanta ্ are only a few pixels across in a phone photo. Use daylight or an even lamp, hold the phone steady, and use a plain background.
Do not trust a clean-looking result
The worst result in our Bengali test, 11% character errors including an omitted line, was on a clean serif render at normal size, not on a bad photo. Keep the original open and proofread line by line.
Assamese pages need the Assamese model
Assamese has its own model on this site, and its letters ৰ and ৱ are not Bengali letters. Use the Assamese OCR page for those documents.
General advice on resolution, binarisation, skew and borders is in the Tesseract documentation.
Legacy-font PDFs
Bengali PDFs that need the PDF tool, not OCR.
Many Bengali newspaper, book and government PDFs were typed in Bijoy fonts such as SutonnyMJ. Such a PDF usually has a text layer of Latin letters and symbols. When the font name survives in the file, the PDF tool can decode that layer directly, while OCR on the same page reads pixels and can drop the signs listed above.
Use the PDF to Unicode tool when the PDF has a text layer. Use OCR for a scan or a photo, which has no text layer, and when the PDF tool says it cannot recognise the font.
1 Bengali legacy font the engine converts
Model download
The Bengali recognition file: about 0.9 MB, downloaded on first use.
Recognition runs in your browser. The first time you press Recognise, the Bengali recognition file downloads from a public file host (jsDelivr); your image is never sent there. The English file, for comparison, is about 4.1 MB. Your browser normally keeps the file, so later visits on the same browser skip the download; clearing site data removes it.