Arabic Text Normalizer

Fold the spelling variants of Arabic text into one form for matching, searching and comparing.

How to use

What it checks and how it works

Arabic has spelling variants that readers treat as one letter but software treats as different characters: alef with hamza, madda or wasla (أ إ آ ٱ) against plain alef (ا), alef maqsura (ى) against yaa (ي), taa marbuta (ة) against haa (ه), tashkeel marks and the decorative tatweel (ـ). The tool applies the folds you choose, character by character, using the letters in the Unicode Arabic block, and can apply Unicode NFKC (UAX #15) to fold presentation forms back to base letters. Folding is for matching, not for publishing: it can merge different words, and taa marbuta to haa changes the spelling of the text. Keep the original text for display.

Should I normalize the text I publish?

No. Normalization is for matching and comparison. It can merge different words into one, so publish the original spelling.

Why is taa marbuta off by default?

Turning ة into ه merges words that differ only by that letter and changes how the word is written. Turn it on when you match user queries that mix the two spellings.

What does NFKC do to Arabic?

It maps presentation forms, such as the joined shapes copied from some PDFs, back to the base letters, following Unicode Normalization Form KC in UAX #15.

Sources

Related tools

Privacy

Runs in your browser; nothing is uploaded. The interactive tool needs JavaScript.