The reading desk · पढ़ने की मेज़
Tamil OCR — image to text
Recognise Tamil 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 pulli dots and similar shapes such as ன/ண/ந.
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
Tamil: recognition and proofreading
தமிழ் வணக்கம்
Check pulli dots and similar shapes such as ன/ண/ந.
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 |
|---|---|
| Tamil | tam — தமிழ் வணக்கம் |
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 Tamil OCR text contain invisible characters?
In our test the Tamil model inserted U+200C ZERO WIDTH NON-JOINER after pulli letters, up to 27 times on one 12-line page, without any visible change. It does not alter the shape of the text, but it can break search and comparisons. Remove U+200C with find and replace if you need clean strings.
How well does Tamil OCR read a clean image?
On our 12-line Tamil test page (367 characters, Noto fonts) the error rate was 0.5% on clean renders (most of it the ௌ spelling), and 36.5% in the worst photo, where four lines were omitted. This is a small synthetic test, not a benchmark of your documents.
Tamil · measured on this model
What the Tamil model got wrong in our test.
Tamil has no headline and no conjunct clusters; instead it relies on the pulli (the dot that silences a consonant) and on vowel signs that sit before, after or around a letter. On our test pages the Tamil model read clean and moderately small text with very few character errors, then failed badly on a blurred, tilted photo. It also does two things that are invisible but matter if you search or compare the text.
How we tested: we wrote 12 lines of Tamil (367 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 Tamil 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
0.5% character errors
Engine confidence 95 · 27 invisible U+200C added
Clean render, serif, 36 px
0.5% character errors
Engine confidence 95 · 27 invisible U+200C added
Small text, sans, 18 px
0.5% character errors
Engine confidence 94 · 27 invisible U+200C added
Photo-like: sans 28 px, 1.5° tilt, blur, noise, JPEG q45
0.5% character errors
Engine confidence 95 · 27 invisible U+200C added
Tiny text, sans, 13 px
2.2% character errors
Engine confidence 91 · 27 invisible U+200C added
Poor phone photo: sans 22 px, 3° tilt, blur σ1.4, heavy noise, JPEG q30
36.5% character errors
Engine confidence 87 · 4 of 12 lines omitted · 17 invisible U+200C added
Faded print: serif 20 px, grey ink on tinted paper, blur σ1.1
1.4% character errors
Engine confidence 93 · 27 invisible U+200C added
Proofreading checklist
Tamil: 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.
ZWNJ
Observed · 7 of 7 conditions
01Invisible joiner characters after pulli letters
Our Tamil model puts an invisible U+200C ZERO WIDTH NON-JOINER after many words that end in a pulli letter (for example after க் and ம்). You cannot see it, but it sits between the pulli and the space and can break a search, a spreadsheet match or a spell-check. If you need clean text, find and replace U+200C with nothing; it does not change how the word looks.
கௌ கெள
Observed · 7 of 7 conditions
02The two-part vowel sign ௌ
கௌதமன் came back as கெளதமன் in all seven conditions. The model wrote the vowel as ெ plus the letter ள, which looks the same in many fonts but is a different spelling in Unicode (ௌ is U+0BCC, which decomposes to U+0BC6 + U+0BD7, not to ள). Search the output for ெள.
- கௌதமன் was read as கெளதமன்
.
Observed · 2 of 7 conditions
03Added full stops
At 13 pixels and in faded print the model added a full stop after some words (தொழில்நுட்பம்., 6789.). Delete full stops that are not in the source.
6789
Observed · 1 of 7 conditions
04Latin digits in a phone number
In the worst photo, the number 6789 was read as 670. Numbers such as phone numbers, dates and amounts must be compared digit by digit.
- 6789 was read as 670
(4 of 12 lines)
Observed · 1 of 7 conditions
05Heavy blur and tilt
In our worst condition (22 pixels, 3 degrees tilt, heavy blur and compression) four of twelve lines were omitted, the character error rate was 36.5% and the engine’s confidence still showed 87. The small dots of the script disappear first. If a photo looks soft, retake it before recognising.
- மாணவர்களுக்கான was read as ண்வர்களுக்கான
ன ண ந ல ள ழ ர ற
Look-alikes · not measured
06Look-alike letter families
Tamil has several families of similar rounded letters. We did not measure them separately, so treat them as a proofreading habit: re-read names and places that contain ன/ண/ந, ல/ள/ழ or ர/ற, and check that a pulli (்) was not read as a full stop or lost.
Photographing Tamil
Tips for photographing Tamil documents.
Light the dots
The pulli and the small marks that separate similar letters are a few pixels across. Hold the camera square to the page, use even light, and avoid a glossy page reflecting a lamp.
Avoid tilt and blur together
In our test the model coped with 1.5 degrees of tilt and light blur with no more errors than a clean render, but combining 3 degrees of tilt with heavy blur and compression lost a third of the characters. Steady the phone and rotate the image before recognising.
Vowel signs on both sides
ெ, ே and ை are written before the consonant and ொ, ோ and ௌ surround it. Leave a margin on the left and right of each line so those signs are not cropped, and check the order in the result.
Minimum size
The model read text 18 pixels tall about as well as 36 pixel text in our test, and made roughly four times more character errors at 13 pixels. Crop closer rather than reducing the page.
Large model, patient first run
The Tamil model is the largest of the four on this page, so the first recognition downloads more data than Hindi or Bengali.
General advice on resolution, binarisation, skew and borders is in the Tesseract documentation.
Legacy-font PDFs
Tamil PDFs that need the PDF tool, not OCR.
Tamil publishing in legacy fonts is unusually diverse: Bamini, TSCII, TAB and TAM, and many newspaper fonts each have their own encoding. A PDF set in one of them has a Latin or symbol text layer that the PDF tool can decode when the font is recognised, which avoids the dropped dots, vowel-sign mistakes and invisible characters of OCR.
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.
20 Tamil legacy fonts the engine converts
Model download
The Tamil recognition file: about 3.2 MB, downloaded on first use.
Recognition runs in your browser. The first time you press Recognise, the Tamil 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.