The whole Madinah mushaf
604 pages in the King Fahd Complex script, one page per view, with the same line breaks as the printed copy.
The page is shown exactly as it is printed — same fifteen lines, same words on each line. The translation, the transliteration and a short tafsir run beside it in a panel that is always open.
Six things, each built rather than described.
604 pages in the King Fahd Complex script, one page per view, with the same line breaks as the printed copy.
Two English editions: Rowwad — literal, with footnotes — and Itani, plainer prose. Switch mid-verse without restarting the recitation.
From "as recited", which shows idgham and madd the way a reciter says them, to letter-by-letter with or without scholarly marks.
An abridged explanation at every ayah, bundled per page so the panel answers immediately rather than fetching a whole surah.
Gapless: the surah streams as one file and the highlight moves by timestamp, so you never hear a join between two ayat.
The page, its font, its translation and its tafsir are all cached on your device. Nothing is uploaded, and there is no account.
Each line is measured before it is drawn, so no word is pushed onto a line it does not belong to. Three of the four display modes keep the printed layout exactly.
60% to 170% changes the column width, not the letter size — so the line breaks stay correct at every setting.
The whole interface runs left-to-right, so the next page is to the right and a swipe travels left. The arrows and the keys always agree.
Cream, sepia, white, green and night. Every text colour is checked for WCAG AA against every surface in its own theme.
No text field below 16px, 44px touch targets on any coarse pointer, and the bars are sized so a control added to them is never a control taken off the page.
On a wide screen the panel is a column beside the page. On a phone it is a one-line strip you expand — carrying whichever single reading you prefer, because two at once came straight off the mushaf.
Rowwad is literal and carries 2,566 footnotes across 2,215 ayat; Itani reads more smoothly and has none. Both are credited permanently, as their licences require.
It is a word-recognition aid, not a recitation guide — the app says so permanently and never shows it without the audio control in reach. The ear corrects the eye.
Enough to answer "why does it say that" without leaving the page. Where the source has no entry for an ayah, the app reports the gap rather than hiding it.
The Latin text scales separately from the Arabic, because Arabic at 130% and Latin at 130% do not look like the same size.
The surah file streams and the highlight moves by timestamp. Turning the page does not stop playback, and the recitation can carry on past the bottom of the page.
Complete recordings rather than per-ayah clips, which is the only way to get a seamless join.
Seven speeds, for following along slowly or covering ground. The setting survives loading the next surah.
One to twenty times, or without end. Mark a passage with two taps and the repeats apply to it.
Let the page turn itself to keep up, and let the recitation continue past the page — two separate switches, because they are two separate wishes.
Two indexes, each folded the same way the build script folded it — so a search can never silently return nothing because the two disagreed.
The count tells you how many ayat matched AND how many times the word occurs. They genuinely differ, so both are reported.
If the exact spelling finds nothing, a skeleton pass tries again — Uthmani and modern orthography disagree on long vowels, and a reader types the modern spelling.
Arrow through the hits and open one with Enter without ever leaving the search field, so the query stays editable.
A note on any ayah, saved on your device as you type. Bookmark, copy or share a verse with its reference attached.
Tap a rule in a verse and everything that does not carry it dims, while a card explains what the mouth actually does and for how many counts.
The King Fahd Complex colour script, colouring every letter precisely — alongside an approximate per-word mode, which is presented as the approximation it is.
A legend of what actually occurs here, each rule in its own colour, rather than a reference chart you have to map onto the page yourself.
Every rule carries an exemplar word and plays its verse in your chosen reciter. The exemplars are pointers into the corpus, verified by a test — never typed from memory.
All seventeen rules in teaching order, in full, in the same wording the panel uses — one shared component, so they cannot drift apart.
Three of them keep the printed layout exactly, because they draw the same word glyphs. The fourth reflows the lines — and the app says so in the option’s own description, rather than leaving you to discover it.
The original mushaf script
The King Fahd colour font — precise, letter by letter
Approximate: one colour per word
Reflowed text — does not match the printed page
Every text colour in every theme is checked for WCAG AA against every surface in that theme, and the check runs as part of the build rather than as a review someone remembers to do.
They are not interchangeable. “As recited” is the only recitation-aware one — it shows idgham across a word boundary and the pausal form. The letter-by-letter schemes follow the written script faithfully and cannot do those things, which the app says rather than implies.
Arabic and translation only
Bismillaahir Rahmaanir Raheem — shows idgham and madd as a reciter says them
bismi llahi r-rahmani r-rahimi — follows the written script exactly
bismi llāhi r-raḥmāni r-raḥīmi — precise, but assumes you read the marks
Each rule has a card: what the mouth actually does and for how many counts, when it occurs, the common mistake, and an example from the mushaf recited in the reciter you chose.
These are the app’s own colours, used by the text and per-word modes. The official colour font’s palette is baked into the font and is not restyled.
No account, no sign-up, nothing storing your reading on someone else’s machine. Your notes, bookmarks and the pages you have read live in your browser; moving them to another device is a file you export yourself.
No sign-up, no sync, no tracking. There is nothing to send because there is nothing to receive it.
The shell is precached; pages, fonts, translations and tafsir are kept as you visit them, so you can come back with no network.
Export everything as JSON whenever you like. An import is fully validated and replaces your data in one transaction — never half-applied.
Recitation streams and is not stored by the app, so it cannot quietly fill your device.
The same 604 pages and the same recitation in both. They differ in the language of the interface, and in what runs beside the page.
An English interface with the translation, the transliteration and a short tafsir beside every verse. For readers who do not know the script.
Open the mushafAn Arabic interface with seven tafsirs, iʿrāb and the full hifz trainer — scheduled review, memorisation programmes, the daily ward and the self-test drills. None of that is in the English app.
Open the Arabic versionNo — there is no sign-up at all. You open the link and read, and everything you create is saved in your browser on that device.
The page, its font, the translation, the transliteration and the tafsir are all cached on first visit, so they come back with no network. Recitation audio streams and is deliberately never cached, so that part needs a connection.
That is what this fork is for. Every verse carries a translation and, if you want it, a transliteration — with a standing reminder that the transliteration helps you recognise words rather than recite them correctly. For reciting, use the audio.
Two. Rowwad is literal and carries footnotes; Itani is plainer prose without them. Both are displayed with the credit their licence requires, permanently and not behind a disclosure.
No. Hifz mode, review scheduling, memorisation programmes and the self-test drills are not in this app — they live in the Arabic one. Marking a passage and repeating an ayah or a passage are here, because those are audio features.
Not automatically — that would need a server, and there is not one. Export a JSON file on one device and import it on the other. The import replaces all current data, and is checked before it is applied.
No sign-up, no install, no permission prompt. One link and you are reading.
Open the mushaf