Building blocks/Data

Qiraat Ayah Map

Stable

Mappings across the six canonical ayah-counting systems, including numbering differences, splits, and merges.

Package
@quran.ws/qiraat-ayah-map
Version
0.1.0
Counting systems
6 madhhabs
Qiraat covered
The ten

What it provides

  • Ayah numbering for the six counting madhhabs used by the ten qiraat
  • Every split and merge listed explicitly, not inferred
  • A browsable mushaf, ayah-count tables, and a search explorer

Use it when you need

Use it when building for a riwayah other than Hafs and you need to connect its ayahs to Tafsir, translations, recitations, or other resources indexed by Hafs numbering, or whenever you need to convert between ayah-counting systems.

  • Your app supports more than one riwayah
  • You join Quran data from two sources that count differently
  • You need to show why two mushafs disagree on a number

Not for

See it work

The whole subject in one view: al-Fātiḥa is seven ayat in every system, and the two groups get there by putting the markers in different places. Same words, different punctuation.

العلامة الذهبية رأسٌ معدود، والدائرة المتقطّعة موضعٌ لا يعدّه هذا المذهب. ولا يكفي مجموع آيات السورة للدلالة على المذهب؛ فالمرجع رؤوس الآي نفسها.

The text shown is the riwayah of Ḥafṣ from ʿĀṣim throughout; choosing another counting system changes the numbering and never a letter of the wording. For what is claimed, who transmitted it and how well attested each position is, see method and evidence.

Provenance

Every dataset identifies its source, edition, riwayah, version, and verification status. The digest lets you confirm the file you ship is the file that was verified.

View full provenance →
Qiraat Ayah MapStable
Repositoryquran-ws/qiraat-ayah-map
Package@quran.ws/qiraat-ayah-map
Version0.1.0
LicenceCC BY 4.0 (the data) · MIT (the tooling)
Publicyes

Quick start

The shortest path to something running. The repository’s README covers the rest.

$ # not published — read data/*.json from the repository
import { map } from "@quran.ws/qiraat-ayah-map";
 
map({ from: "kufi", to: "basri", ref: "7:206" }) → 7:205
Read the full documentation →

Works with

Blocks meet through shared references, not through a framework. Each of these understands something this block produces.