What is the universal criteria to separate words in Arabic of Quran?

My computer program uses "empty space character" to separate words and count them. Is that "always" correct rule for this?

For example is this "va huva" one word or two words in 9:129?


  • Depends on what you mean by "word." Do you mean in the English sense or Arabic? Of course in English it is two words: And He. In Arabic though, it is usually attached together.
    – The Z
    Nov 27, 2019 at 8:39
  • in Arabic, what is the universal criteria to seperate and then being able to count words?
    – entropy
    Nov 27, 2019 at 17:51
  • I don't think people do that in Arabic, so I doubt there would be a universal criteria.
    – The Z
    Nov 28, 2019 at 21:42
  • usually the rule of classical arabic for preposition "wa" is combining "wa" with a word after it. and in many other cases, more than one word are not separated by space. so the solution would be make the program understand classical arabic grammar rather than simplifying the solution only by separating whitespace.
    – Rafid
    Apr 29, 2020 at 8:38

3 Answers 3


It is two words و and هو .

و and

هو he

You need to learn the shapes of the letters in words . Usually words in Arabic are connected unless it contains one of these letters in the middle ا د ذ ر ز Examples سماء this is not connected but it is one word it contains the letter ا

فراشة this contains the letter ر

We separate words by a space we also use one letter for words like و which means and.


Word splitting requires complex lookup, but it could have been easier if the designers for storing Arabic text in Unicode enforced some sort of separator.

For most cases using "space" would suffice to parse words but not if you are trying to break words into their actual constituents.

As to your question about "وهو" they are by all means two words (English sense).

Unfortunately the way they are stored electronically there is no intentional or an enforcing mechanism to keep a word separation like space in between them (human short insights).

I believe a space should have been in the stored/encoded text especially like the digital Quranic text. (not what a user would see in an editor)

As to the rendering I would argue it's purely a style of the font or person that the letter (Harf) Waw and Hu-Wa are glued together.

The same would be true for other similar letters life "Fa" AKA "Huruf Al-3atf" so for example "فهو" should be stored "ف" space "هو" and only as the last step in the graphical rendering system it would be painted as glued.

I believe this would simplify searching for certain words without requiring a complex morphological lookup.

in html like so:

ف هو
  • "I believe a space should have been in the text" I don't see any reason for this except for our english-centric tendencies. It simply isn't written with a space in Arabic. Furthermore, if you required a space for this, you would have to have a space for pronouns as well like in "iyyaaka" -> "iyya" + "ka". It would be a complete mess.
    – The Z
    Apr 29, 2020 at 3:38
  • What would be the issue storing the trailing pronouns with some sort of separator space or something unique to Arabic. When storing them stuck you make the search unnecessarily complex. Like there is no enforcement for diacritic ordering where Shadda should be stored before the vowel (kasra/damma/fatha). Today the internal ordering is totally random and I have to special handle it.
    – Meryan
    Apr 29, 2020 at 4:20
  • If you meant by the statement specifically storing as data for search use, I guess that is fine. But, that is a programming concern. The text itself should not be written like that, because it simply is not how you write Arabic.
    – The Z
    Apr 29, 2020 at 4:54
  • I have updated my answer to make it a bit clearer of my point of view of how it should be stored digitally (more from a programming perceptive).
    – Meryan
    Apr 29, 2020 at 5:27

Please excuse me if I'm totally wrong. I guess you, @entropy, are used to Latin alphabet where each letter has two forms, one is Uppercase, the other is Lowercase.

It took me a lot of time to get aware that Arabic letters are quite different, no chance Uppercase at the beginning of a word. The shape of the letters are determined by their position: standing alone, connected to the right, connected to the left or connected to both sides.

So I guess it is difficult for a program to tell where a word ends. If the two letters could be connected but are not, this is a strong indication that a new word has started.

In Latin (ASCII) Uppercase and Lowercase letters have different encodings. If your program does not encode the cases of Arabic letters, there is no chance to even guess where a word ends or begins except for the blanks inserted.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .