Skip to content
GivenTool
اقرأ هذا الدليل بالعربية

How to add Arabic diacritics (tashkeel) to text automatically

Updated 2026-09-22

Last checked: 2026-09-22. Verify with the official source before submitting.

Arabic is normally written without short vowels, and readers supply them from context. Learners, children's material, poetry, subtitles, text-to-speech scripts and names that could be misread need them written out: fatha, damma, kasra, sukun, shadda and the three tanween marks.

The Arabic diacritizer adds them for you with libtashkeel, an MIT-licensed model trained mainly on Modern Standard Arabic, running in your browser. This guide shows the workflow, explains the two options that matter (keeping your own marks and case endings) and is honest about where automatic tashkeel still needs a human.

Requirements at a glance

RequirementValueSource
Marks addedFatha, damma, kasra, sukun, shadda and the three tanween (Unicode U+064B to U+0652)Unicode Arabic code chart
Modellibtashkeel (MIT licence), trained mainly on Modern Standard Arabic data from Hareeflibtashkeel on GitHub
Where it runsIn your browser with ONNX Runtime Web; the text is not uploadedONNX Runtime Web documentation

Open the tool with these settings

Open the Arabic diacritizer

Paste up to 5,000 characters; the first run downloads the model once.

Then: Remove diacritics instead

For plain text without marks, for example before a search.

All tools linked here run in your browser; the photo is never uploaded to GivenTool.

Step by step

Open the diacritizer and paste your text (up to 5,000 characters). Choose whether to keep marks already in the text: if you have vowelled a few ambiguous words yourself, keeping them tells the model what you meant, and it fills in the rest. Then decide on case endings. Click "Add diacritics"; the first run downloads the model and runtime (about 19 MB) once.

Read the result. To change a letter, put the cursor right after it (or select it) and click the mark you want on the toolbar; "Remove marks from this letter" clears it. Copy the text or download it as a .txt file.

Case endings: on or off?

Case endings (i'rab) are the vowels on the last letter of a word that change with its grammatical role. They are where automatic tashkeel makes most of its mistakes, because they depend on the grammar of the whole sentence. With the option off, the last letter of each word is left without a vowel (a shadda is kept), a common style for learners' material. Turn it on when you need full vowelling and are ready to proofread the endings.

What to check before you publish

Proper names, foreign and rare words, and dialect are the usual trouble spots. Never use an automatic tool for Quranic text: copy it from a verified mushaf edition instead. If you need the opposite (plain text without marks, for search or for a database), use the tool that removes diacritics.

Frequently asked questions

How accurate is automatic tashkeel?

It is reliable for everyday Modern Standard Arabic words, but it is a statistical model, not a grammarian. Expect occasional mistakes on names, rare words, dialect and case endings, and always read the result.

Can I use it for the Quran?

No. Quranic text has a fixed, verified vowelling; copy it from a verified mushaf edition.

Does it work on a phone?

Yes, in a current mobile browser. The first run downloads about 19 MB, so use Wi-Fi if data is limited.

Is my text sent anywhere?

No. The GivenTool diacritizer runs the model in your browser; the text never leaves your device.

This guide summarises published requirements for convenience. It is not legal advice and GivenTool is not affiliated with any government. The issuing authority's page is the only authoritative source.

Last checked: 2026-09-22. Verify with the official source before submitting.

Tools used in this guide