quran-meta فهرس القرآن

Quran metadata for JavaScript and TypeScript: surahs, ayahs, juz, hizb, pages, rukus, manzils and sajdas for eight riwayas, with conversion between their ayah numberings. Zero dependencies, fully typed, tree-shakeable.

npm version npm downloads bundle size license

The same text in every riwaya

Riwaya Ayah Ayahs in surah Page Juz

The code behind this

Eight riwayas

Hafs, Shuba, Warsh, Qalun, Douri, Sousi, Bazzi and Qunbul, each with its own tree-shakeable entry point.

Riwaya conversion

Map an ayah between the numbering of any two riwayas, derived by aligning the KFQC and quranpedia texts.

Every division

Juz, hizb, rub' al-hizb, thumun al-hizb, mushaf pages, rukus, manzils and sajdas, with iterators over each.

Typed to the range

Surah is 1 to 114 and Juz is 1 to 30 at the type level, with type guards and assertion functions.

Your own layout

Swap in a different page list (Indo-Pak, Madinah 1405) with customizeRiwaya.

Surah names in 22 languages

Arabic, English, Urdu, Indonesian, French, Russian, Turkish and more, loadable one language at a time.