Quran JSON
The Quran as static JSON files: Arabic text in 15 scripts, 130 translations, and links to recitations. No key, no server; fetch a file.
- 15
- scripts
- 130
- translations
- 81
- languages
- 3
- transliterations
Quick start
Fetch a chapter of Arabic text and a translation, then join them on verse id.
curl
curl -s https://quran-json.risanb.com/text/uthmani/chapters/1.json
curl -s https://quran-json.risanb.com/translations/en-yusuf-ali/chapters/1.jsonJavaScript
const get = (path) => fetch("https://quran-json.risanb.com" + path).then((r) => r.json());
const arabic = await get("/text/uthmani/chapters/1.json");
const english = await get("/translations/en-yusuf-ali/chapters/1.json");
// Both files number verses from 1: join on `id`.
const verses = arabic.verses.map((verse, i) => ({
...verse,
translation: english.verses[i].translation,
}));Python
import requests
def get(path):
return requests.get("https://quran-json.risanb.com" + path, timeout=30).json()
arabic = get("/text/uthmani/chapters/1.json")
english = get("/translations/en-yusuf-ali/chapters/1.json")
# Both files number verses from 1: join on `id`.
for verse, tr in zip(arabic["verses"], english["verses"]):
print(verse["id"], verse["text"], tr["translation"])Endpoints
All files are JSON, served from https://quran-json.risanb.com, with CORS open to any origin.
| Path | Returns |
|---|---|
/manifest.json | Scripts, counts, project licence and attribution. |
/chapters.json | The 114 chapters: Arabic name, transliterated name, meaning, type, verse count. |
/text/{script}/quran.json | Every chapter of one script, as an array. |
/text/{script}/chapters/{1-114}.json | One chapter: { id, verses: [{ id, text }] }. |
/translations/index.json | Every translation edition: language, translator, version, licence. |
/translations/{code}-{slug}/quran.json | One edition, all chapters. Verses carry translation and, where the publisher gives one, footnotes. |
/translations/{code}-{slug}/chapters/{1-114}.json | One edition, one chapter. |
/transliteration/index.json | Transliteration editions (see below). |
/transliteration/{key}/quran.json | One transliteration, all chapters. |
/transliteration/{key}/chapters/{1-114}.json | One transliteration, one chapter. |
/audio/reciters.json | Reciters, hosts and URL templates. Audio is linked, not hosted. |
/meta/sources.json | Source, licence and snapshot hash of every dataset. |
/meta/qa.json | Corrections applied to upstream text, with evidence. |
Scripts
Which script should I use?
- Most apps
uthmani. Madinah mushaf style, Hafs reading. - KFGQPC fonts
qpc-hafs. KFGQPC encoding, for KFGQPC fonts. - Search and matching
simple-clean. No vowel marks. - South Asia
hafs-nastaliqorindopak. Nastaliq (KFGQPC) or Indo-Pak naskh (DigitalKhatt). - Indonesia
kemenag. Mushaf Standar Indonesia. - North and West Africa
warshorqalun. Readings of Nafi. - Sudan
duri. al-Duri, reading of Abu Amr.
Page layouts such as the 13-, 15- and 16-line mushafs are not texts. Every script here is text; line breaks are yours to choose.
| Id | Name | Reading | Verses | Verse ids | File |
|---|---|---|---|---|---|
| Hafs | |||||
uthmani | Uthmani | Hafs | 6,236 | Hafs numbering | quran.json |
qpc-hafs | QPC Hafs (KFGQPC) | Hafs | 6,236 | Hafs numbering | quran.json |
simple | Imlaei | Hafs | 6,236 | Hafs numbering | quran.json |
simple-clean | Imlaei unvocalised | Hafs | 6,236 | Hafs numbering | quran.json |
kemenag | Mushaf Standar Indonesia | Hafs | 6,236 | Hafs numbering | quran.json |
hafs-nastaliq | Indo-Pak (KFGQPC Nastaleeq) | Hafs | 6,236 | Hafs numbering | quran.json |
indopak | Indo-Pak (DigitalKhatt) | Hafs | 6,236 | own numbering | quran.json |
uthmani-min | Uthmani minimal | Hafs | 6,236 | Hafs numbering | quran.json |
simple-min | Imlaei minimal | Hafs | 6,236 | Hafs numbering | quran.json |
simple-plain | Imlaei plain | Hafs | 6,236 | Hafs numbering | quran.json |
| Other readings | |||||
warsh | Warsh | Warsh | 6,214 | own numbering, number_in_hafs maps to Hafs | quran.json |
qalun | Qalun | Qalun | 6,214 | own numbering, number_in_hafs maps to Hafs | quran.json |
duri | al-Duri | al-Duri | 6,218 | own numbering, number_in_hafs maps to Hafs | quran.json |
| Specialist readings | |||||
shubah | Shuʿbah | Shuʿbah | 6,236 | Hafs numbering | quran.json |
susi | al-Susi | al-Susi | 6,217 | own numbering, number_in_hafs maps to Hafs | quran.json |
Translations are numbered like Hafs. Warsh, Qalun and al-Duri number verses their own way, so each of their verses carries number_in_hafs, the Hafs verse number or numbers it covers.
Translations
| Language | Translator | Version | Path |
|---|---|---|---|
| afar aa | Afar Translation - Mahmoud Abdulqader Hamza | 1.0.1 | /translations/aa-hamza/ |
| albanian sq | Albanian Translation - Hassan Nahi | 1.1.0 | /translations/sq-nahi/ |
| albanian sq | Albanian Translation - Rowwad Translation Center | 1.0.5 | /translations/sq-rwwad/ |
| amharic am | Amharic Translation - Africa Academy | 1.0.1 | /translations/am-zain/ |
| amharic am | Amharic Translation - Muhammad Sadiq | 1.1.2 | /translations/am-sadiq/ |
| ankobambara nqo | N'ko Translation - Baba Mamadi | 1.0.5 | /translations/nqo-dayyan/ |
| ankobambara nqo | N'ko Translation - Sulaiman Kante | 1.0.0 | /translations/nqo-foudi/ |
| asante ak | Akan Translation (Asante) - Harun Ismail | 1.0.3 | /translations/ak-harun/ |
| assamese as | Assamese Translation - Rafiqul Islam Habibur-Rahman | 1.0.5 | /translations/as-rafeeq/ |
| azeri az | Azerbaijani Translation - Ali Khan Musayev | 1.0.4 | /translations/az-musayev/ |
| belarusian be | Belarusian Translation - Krivtsov | 1.0.0 | /translations/be-krivtsov/ |
| bengali bn | Bengali Translation - Abu Bakr Zakaria | 1.1.1 | /translations/bn-zakaria/ |
| bengali bn | Bengali Translation - Rowwad Translation Center | 1.1.2 | /translations/bn-rwwad/ |
| bisayan ceb | Filipino Translation (Bisayan) - Rowwad Translation Center | 1.1.3 | /translations/ceb-rwwad/ |
| bosnian bs | Bosnian Translation - Besim Korkut | 1.0.0 | /translations/bs-korkut/ |
| bosnian bs | Bosnian Translation - Muhammad Mahanovic | 1.1.0 | /translations/bs-mihanovich/ |
| bosnian bs | Bosnian Translation - Rowwad Translation Centre | 2.0.4 | /translations/bs-rwwad/ |
| bulgarian bg | Bulgarian Translation | 1.0.0 | /translations/bg-translation/ |
| chichewa ny | Chichewa Translation - Khalid Ibrahim Batyala | 1.0.0 | /translations/ny-betala/ |
| chinese zh | Chinese Translation - Basair | 1.0.0 | /translations/zh-mayolong/ |
| chinese zh | Chinese Translation - Muhammad Makeen | 1.0.2 | /translations/zh-makin/ |
| chinese zh | Chinese Translation - Muhammad Suleiman | 1.0.8 | /translations/zh-suliman/ |
| chinese zh | Chinese Translation - Muhammad Suliman - modern Chinese | 1.0.0 | /translations/zh-suliman-modern/ |
| croatian hr | Croatian Translation - Rowwad Translation Center | 1.0.1 | /translations/hr-rwwad/ |
| dagbani dag | Dagbani Translation - Muhammad Baba Ghutubo | 1.0.0 | /translations/dag-ghatubo/ |
| dari prs | Dari Translation - Muhammad Anwar Badakhshani | 1.0.0 | /translations/prs-badkhashani/ |
| dutch nl | Dutch Translation - Rowwad Translation Center | 2.0.10 | /translations/nl-center/ |
| dutch nl | Salomo Keyzer (1860) | n/a | /translations/nl-keyzer/ |
| english en | Abdullah Yusuf Ali (1934) | n/a | /translations/en-yusuf-ali/ |
| english en | E. H. Palmer (1880) | n/a | /translations/en-palmer/ |
| english en | English Translation - Hilali and Khan | 1.1.2 | /translations/en-hilali-khan/ |
| english en | English Translation - Noor International Center | 1.1.2 | /translations/en-saheeh/ |
| english en | English Translation - Rowwad Translation Center | 1.0.19 | /translations/en-rwwad/ |
| english en | George Sale (1734) | n/a | /translations/en-sale/ |
| english en | J. M. Rodwell (1861) | n/a | /translations/en-rodwell/ |
| english en | Marmaduke Pickthall (1930) | n/a | /translations/en-pickthall/ |
| english en | Talal Itani | n/a | /translations/en-itani-allah/ |
| english en | Talal Itani | n/a | /translations/en-itani/ |
| french fr | French Translation - Muhammad Hamidullah | 1.0.2 | /translations/fr-hameedullah/ |
| french fr | French translation - Noor International Center | 1.0.0 | /translations/fr-montada/ |
| french fr | French Translation - Rachid Maach | 1.0.3 | /translations/fr-rashid/ |
| fulani ff | Fulani Translation - Rowwad Translation Center | 1.0.2 | /translations/ff-rwwad/ |
| georgian ka | Georgian Translation | 1.0.7 | /translations/ka-rwwad/ |
| german de | German Translation - Abu Rida | 1.0.0 | /translations/de-aburida/ |
| german de | German Translation - Frank Bubenheim | 1.1.4 | /translations/de-bubenheim/ |
| german de | German Translation - Rowwad Translation Center | 1.0.15 | /translations/de-rwwad/ |
| greek el | Greek Translation - Rowwad Translation Center | 1.0.2 | /translations/el-rwwad/ |
| gujarati gu | Gujarati Translation - Rabella Al-Omari | 1.1.3 | /translations/gu-omari/ |
| hausa ha | Hausa Translation - Abu Bakr Jumi | 1.2.2 | /translations/ha-gummi/ |
| hebrew he | Hebrew Translation - Darussalam Association | 1.0.3 | /translations/he-darussalam/ |
| hindi hi | Hindi Translation - Azizul Haq Al-Omari | 1.1.5 | /translations/hi-omari/ |
| ikirundi rn | Kirundi Translation - Yusuf Gahiti | 1.0.4 | /translations/rn-gehiti/ |
| indonesian id | Indonesian Translation - Ministry of Religious Affairs | 1.0.1 | /translations/id-affairs/ |
| indonesian id | Indonesian Translation - Sabiq Company | 1.1.3 | /translations/id-sabiq/ |
| indonesian id | Indonesian Translation - The Complex | 1.0.1 | /translations/id-complex/ |
| iranun ilp | Filipino Translation (Iranun) | 1.0.1 | /translations/ilp-sarro/ |
| italian it | Italian Translation - Rowwad Translation Center | 1.0.2 | /translations/it-rwwad/ |
| japanese ja | Japanese Translation - Saeed Sato | 1.0.13 | /translations/ja-saeedsato/ |
| kannada kn | Kannada language - Shaykh Bashir Misuri | 1.0.1 | /translations/kn-bashir/ |
| kannada kn | Kannada Translation - Hamza Butur | 1.0.3 | /translations/kn-hamza/ |
| kazakh kk | Kazakh Translation - Khalifa Altai | 1.0.0 | /translations/kk-altai/ |
| khmer km | Khmer Translation - Islamic Community Development Association | 1.0.2 | /translations/km-cambodia/ |
| khmer km | Khmer Translation - Rowwad Translation Center | 1.0.4 | /translations/km-rwwad/ |
| kinyarwanda rw | Kinyarwanda Translation - Rwanda Muslim Association | 1.0.5 | /translations/rw-assoc/ |
| korean ko | Korean Translation - Hamid Choi | 1.0.4 | /translations/ko-hamid/ |
| kurdish ku | Kurdish Translation - Muhammad Salih Bamoki | 1.1.1 | /translations/ku-bamoki/ |
| kurdish ku | Kurdish Translation - Salahuddin | 1.0.0 | /translations/ku-salahuddin/ |
| kurmanji kmr | Kurdish (Kurmanji) Translation - Ismail Sageri | 1.0.0 | /translations/kmr-ismail/ |
| kyrgyz ky | Kyrgyz Translation - Shamsuddin Hakimov | 1.0.2 | /translations/ky-hakimov/ |
| lingala ln | Lingala Translation - Mohammed Balangogo | 1.0.2 | /translations/ln-zakaria/ |
| lithuanian lt | Lithuanian Translation - Rowwad Translation Center | 1.0.8 | /translations/lt-rwwad/ |
| luganda lg | Luganda Translation - African Development Foundation | 1.0.1 | /translations/lg-foundation/ |
| luhya luy | Luhya Translation - International Association for Science and Culture | 1.0.3 | /translations/luy-center/ |
| macedonian mk | Macedonian Translation - a group of Macedonian scholars | 1.0.1 | /translations/mk-group/ |
| maguindanao mdh | Filipino Translation (Maguindanaon) - Rowwad Translation Center | 1.0.4 | /translations/mdh-rwwad/ |
| malagasy mg | Malagasy Translation - Rowwad Translation Center | 1.0.1 | /translations/mg-rwwad/ |
| malayalam ml | Malayalam Translation - Abdul Hamid Haidar and Kunhi Muhammad | 1.0.3 | /translations/ml-kunhi/ |
| malay ms | Malay Translation - Abdullah Basumayyah | 1.0.0 | /translations/ms-basumayyah/ |
| marathi mr | Marathi Translation - Muhammad Shafee‘ Ansari | 1.0.0 | /translations/mr-ansari/ |
| moore mos | Moore Translation - Rowwad Translation Center | 1.0.2 | /translations/mos-rwwad/ |
| nepali ne | Nepali Translation - Ahlul-Hadith Association | 1.0.3 | /translations/ne-central/ |
| oromo om | Oromo Translation - Gali Ababor | 1.0.3 | /translations/om-ababor/ |
| oromo om | Oromo Translation - Rowwad Translation Center | 1.0.0 | /translations/om-rwwad/ |
| pashto ps | Pashto Translation - Abu Zakaria | 1.0.1 | /translations/ps-zakaria/ |
| pashto ps | Pashto Translation - Maulawi Janbaz Sarfaraz | 1.0.0 | /translations/ps-sarfaraz/ |
| pashto ps | Pashto Translation - Rowwad Translation Center | 1.0.1 | /translations/ps-rwwad/ |
| persian fa | Persian Translation - Rowwad Translation Center | 1.1.3 | /translations/fa-ih/ |
| portuguese pt | Portuguese Translation - Helmi Nasr | 1.4.1 | /translations/pt-nasr/ |
| punjabi pa | Punjabi Translation - Arif Haleem | 1.0.1 | /translations/pa-arif/ |
| romanian ro | Romanian Translation - Islam4ro.com | 1.0.4 | /translations/ro-project/ |
| russian ru | Gordy Semyonovich Sablukov (1878) | n/a | /translations/ru-sablukov/ |
| russian ru | Ignaty Yulianovich Krachkovsky (1963) | n/a | /translations/ru-krachkovsky/ |
| russian ru | Russian Translation - Abu Adel | 1.0.0 | /translations/ru-aboadel/ |
| russian ru | Russian Translation - Rowwad Translation Center | 1.0.1 | /translations/ru-rwwad/ |
| serbian sr | Serbian Translation - Rowwad Translation Center | 1.0.4 | /translations/sr-rwwad/ |
| shona sn | Shona Translation - Dar al-Ilm Institute | 1.0.0 | /translations/sn-institute/ |
| sinhalese si | Sinhalese Translation - Rowwad Translation Center | 1.0.6 | /translations/si-mahir/ |
| somali so | Somali Translation - Abdullah Hasan Yaqoub | 1.0.26 | /translations/so-yacob/ |
| spanish es | Spanish Translation - Isa Garcia | 1.0.2 | /translations/es-garcia/ |
| spanish es | Spanish Translation - Noor International Center | 1.0.1 | /translations/es-montada-eu/ |
| spanish es | Spanish Translation (Latin American) - issued by Noor International | 1.0.1 | /translations/es-montada-latin/ |
| swahili sw | Swahili Translation - Abdullah Muhammad and Nasser Khamis | 1.0.1 | /translations/sw-abubakr/ |
| swahili sw | Swahili Translation - Ali Mohsin Al-Barwani | 1.0.1 | /translations/sw-barawani/ |
| swahili sw | Swahili Translation - Rowad Translation Center | 1.0.5 | /translations/sw-rwwad/ |
| swedish sv | Swedish Translation - Rowad Translation | 1.0.2 | /translations/sv-rwwad/ |
| tagalog tl | Filipino Translation (Tagalog) - Rowwad Translation Center | 1.1.4 | /translations/tl-rwwad/ |
| tajik tg | Tajiki Translation - Khoja Mirov Khoja Mir | 1.0.2 | /translations/tg-khawaja/ |
| tajik tg | Tajiki Translation - Rowwad Translation Center | 1.0.2 | /translations/tg-arifi/ |
| tamil ta | Tamil Translation - Abdulhamid Baqawi | 1.0.1 | /translations/ta-baqavi/ |
| tamil ta | Tamil Translation - Omar Sharif - Abridged Version | 1.0.2 | /translations/ta-omar-brief/ |
| tamil ta | Tamil Translation - Omar Sharif | 1.0.3 | /translations/ta-omar/ |
| telugu te | Telugu Translation - Abdurrahim ibn Muhammad | 1.0.7 | /translations/te-muhammad/ |
| thai th | Thai Translation - A group of seekers of knowledge | 1.0.1 | /translations/th-complex/ |
| thai th | Thai Translation - Rowwad Translation Center | 1.0.1 | /translations/th-rwwad/ |
| turkish tr | Turkish Translation - Dr. Ali Ozek and others | 1.0.0 | /translations/tr-shahin/ |
| turkish tr | Turkish Translation - Rowwad Translation Center | 1.0.4 | /translations/tr-rwwad/ |
| turkish tr | Turkish Translation - Shaaban British | 1.1.0 | /translations/tr-shaban/ |
| ukrainian uk | Ukrainian Translation - Mikhailo Yakubovych | 1.0.2 | /translations/uk-yakubovych/ |
| urdu ur | Ahmed Raza Khan, Kanzul Iman (1911) | n/a | /translations/ur-kanzuliman/ |
| urdu ur | Mahmud ul Hasan (1909) | n/a | /translations/ur-mahmudulhasan/ |
| urdu ur | Urdu Translation - Muhammad Junagarhi | 1.1.3 | /translations/ur-junagarhi/ |
| uyghur ug | Uyghur Translation - Muhammad Saleh | 1.0.2 | /translations/ug-saleh/ |
| uzbek uz | Uzbek Translation - Alaauddin Mansour | 1.0.0 | /translations/uz-mansour/ |
| uzbek uz | Uzbek Translation - Muhammad Sadiq | 1.0.1 | /translations/uz-sadiq/ |
| uzbek uz | Uzbek Translation - Rowwad Translation Center | 1.0.4 | /translations/uz-rwwad/ |
| vietnamese vi | Vietnamese Translation - Hasan Abdulkarim | 1.0.1 | /translations/vi-hassan/ |
| vietnamese vi | Vietnamese Translation - Rowwad Translation Center | 1.0.9 | /translations/vi-rwwad/ |
| yaw yao | Yaw Translation - Muhammad ibn Abdulhamid Silika | 1.0.3 | /translations/yao-silika/ |
| yoruba yo | Yoruba Translation - Abu Rahimah Mikael | 1.0.9 | /translations/yo-mikail/ |
| zulu zu | Zulu Translation - Adel Jaafar Moltsho | 1.0.0 | /translations/zu-adel/ |
| No translation matches. | |||
Transliteration
3 Latin-script renderings of the Hafs text. They follow the Hafs reading and numbering, so they are not offered for Warsh, Qalun or al-Duri.
| Key | Name | Sample, 1:1 | Path |
|---|---|---|---|
id-skb | Indonesian transliteration (SKB 1987) | Bismillāhir-raḥmānir-raḥīm. | /transliteration/id-skb/ |
en | English transliteration (with diacritics) | Bismillāhir-raḥmānir-raḥīm | /transliteration/en/ |
en-simple | English transliteration (plain ASCII) | Bismillaahir-rahmaanir-raheem | /transliteration/en-simple/ |
machine-generated; not yet reviewed by a qualified reader
Audio
Audio is linked, not hosted. /audio/reciters.json lists 597 recordings with URL templates. Per-ayah files follow Hafs verse numbering, so they only fit Hafs scripts. Per-surah files play one whole chapter and need a recording of the same reading as the script.
Sources and licences
Dataset licence: CC BY-SA 4.0. Each source keeps its own terms. Detail per file is in /meta/sources.json.
| Data | Terms | Licence |
|---|---|---|
| Arabic: Tanziluthmani, uthmani-min, simple, simple-plain, simple-min, simple-clean | CC BY 3.0, verbatim. Tanzil texts may not be changed and carry Tanzil's notice in every chapter file. | terms |
| Arabic: Qur'anpedia.net (KFGQPC and qira'at texts)warsh, qalun, hafs-nastaliq, duri, qpc-hafs, shubah, susi | Credit Qur'anpedia.net and state the dump version, which /meta/sources.json records per snapshot. | terms |
| Arabic: Kemenag (LPMQ)kemenag | The mushaf text is not copyrightable under PMA 44/2016 Pasal 8(1). Plain text only: no fonts or layout. | terms |
| Arabic: DigitalKhattindopak | MIT licence. | terms |
| Public-domain translations (10) | Salomo Keyzer (d. 1868); Abdullah Yusuf Ali (d. 1953); E. H. Palmer (d. 1882); George Sale (d. 1736); J. M. Rodwell (d. 1900); Marmaduke Pickthall (d. 1936); Gordy Semyonovich Sablukov (d. 1880); Ignaty Yulianovich Krachkovsky (d. 1951); Ahmed Raza Khan, Kanzul Iman (d. 1921); Mahmud ul Hasan (d. 1920). | public domain |
| QuranEnc (118 editions) | Republishing is allowed unmodified, with the publisher and QuranEnc.com credited and the version stated. | terms |
| ClearQuran (2) | Talal Itani. Keep the files unmodified and credit "Translation by Talal Itani, ClearQuran.com". | CC BY-ND 4.0 |
| Transliterations (3) | Generated by this project from the Hafs text. | CC BY-SA 4.0 |
| Audio: EveryAyah | Linked, not copied. Status: unknown. | terms |
| Audio: MP3Quran | Linked, not copied. Status: unknown. | terms |
| Audio: Islamic Network CDN | Linked, not copied. Status: granted. | terms |
| Fonts (3) | Amiri, Scheherazade New, Noto Naskh Arabic. | SIL Open Font License 1.1 |
Sources we checked and do not use (10)
- Tanzil translations and transliteration: non-commercial use only, no redistribution. Exception: public-domain works hosted there, such as Kanzul Iman, are used.
- Quran.com API: personal, non-commercial terms.
- Saheeh International via Tanzil: all rights reserved. The Saheeh edition QuranEnc grants is published.
- QuranWBW and Quran.com Indo-Pak text: the notice forbids distribution.
- KFGQPC direct downloads: all rights reserved. We use Quranpedia's grant for the KFGQPC-based texts instead.
- Diyanet Turkish text: the Presidency refuses redistribution.
- Kemenag 2019 translation and Latin romanisation: no grant. Our transliterations are generated instead.
- fawazahmed0 quran-api: no licence per edition. Exception: public-domain works mirrored there (Rodwell, Mahmud ul Hasan, Keyzer) are used.
- QUL and Tarteel resources: no licence stated.
- Quranpedia al-Bazzi and Qunbul: granted, but the verse map is broken in Al-Jinn, so they are not published yet.
QuranEnc editions we do not publish because they are incomplete (3)
- Korean Translation - Rowwad Translation Center: Official v1.0.11 archive has 1,955 empty translation rows in surahs 14-35; retained for review, not published as a complete translation.
- Circassian Translation - Rowwad Translation Center: Official v1.0.1 archive has 1,000 empty translation rows; retained for review, not published as a complete translation.
- English Translation - Dr. Waleed Bleyhesh Al-Amri (in progress): Official v1.0.2 archive has 3,753 empty translation rows; retained for review, not published as a complete translation.
Changes
- A published path is never renamed or removed.
- Content can be corrected when an upstream source corrects it. Text corrections are logged with evidence in /meta/qa.json; source versions are in/meta/sources.json. Do not assume the bytes at a URL never change.
- Removed in this release:
/app/fonts.json,/assets/*(fonts moved to/fonts/*) and/app/*.js|css. They only served the old pages. - The old
dist/files stay available from npmquran-json@3.1.2and thev3.1.2git tag.