Arabic text normalizer for search

People write the same word in different ways, such as أحمد and احمد, so this applies the common search-engine normalization rules before indexing or comparing.

Loading the tool…

Processing and privacy: The result is calculated inside your browser and your data is not sent to any server.

How to use it

  1. Enter text, unify alef forms (أ إ آ), alef maksura ى to ي, teh marbuta ة to ه, remove vowel marks and tatweel and persian ی and ک to ي and ك.
  2. The result appears straight away and updates as you edit.
  3. Copy the result, or copy a link that keeps the same values to share it.

How it is calculated

أ إ آ ٱ → ا, ى → ي, ة → ه, remove marks (U+064B to U+0652), dagger alef and tatweel, ی → ي and ک → ك. Optionally ؤ → و and ئ → ي.

Example

Inputs: Unify alef forms (أ إ آ) = yes, Alef maksura ى to ي = yes, Teh marbuta ة to ه = yes, Remove vowel marks and tatweel = yes, Persian ی and ک to ي and ك = yes. Result: Normalized text: احمد ابراهيم في المدرسه الكبري; Characters changed or removed: 6.

أحمد إبراهيم في المدرسةِ الكُبرى
احمد ابراهيم في المدرسه الكبري

Limits and caveats

  • The output is for search and matching, not publishing, because normalization changes correct spelling.
  • It does no stemming and does not strip the article.

Questions about this tool

Why turn ة into ه?

Many people type «مدرسه» for «مدرسة», and unifying them lets search find both.

Is this what search engines do?

Yes, these are the rules used by common Arabic filters such as Lucene's: alef, yeh, teh marbuta and mark removal.

Should I normalize the query too?

Yes, apply the same rules to the indexed text and to the search term so they match.