Islamic Compass: sources, methods and how it works
Last updated: 10 November 2026 · app version 1.0.0
Islamic Compass is a free Islamic companion for Android, iPhone and the web: prayer times, the Qibla, the Quran with translations and recitation, the adhkar of Hisn al-Muslim and live Quran radio. This page lists where every piece of content comes from and under which terms, how the app calculates prayer times, the Qibla and the Hijri date, and which software and services it runs on. The same information is in the app under More › About & Sources.
The short version:
- Content is bundled in the app and works offline: the Quran text and four translations, 132 chapters of adhkar and 34,208 cities. Only recitations and radio stream from the internet.
- Calculations run on your device. Prayer times use the open-source Adhan library, the Qibla is the great-circle direction to the Kaaba, and Hijri dates follow the Umm al-Qura calendar.
- Nothing is sold, and there is no tracking. See the privacy policy.
1. Quran
| What | Source | Author / publisher | Licence |
|---|---|---|---|
| Arabic text (Uthmani script, Hafs) | The Noble Qur'an Encyclopedia | Noble Qur'an Encyclopedia | via quran-json, CC BY-SA 4.0 |
| English translation | Tanzil | Saheeh International | via quran-json, CC BY-SA 4.0 |
| French translation | Tanzil | Muhammad Hamidullah | via quran-json, CC BY-SA 4.0 |
| Spanish translation | Tanzil | Muhammad Isa García | via quran-json, CC BY-SA 4.0 |
| Russian translation | Tanzil | Elmir Kuliev | via quran-json, CC BY-SA 4.0 |
| Packaging | quran-json 3.1.2 | Risan Bagja Pradana | CC BY-SA 4.0 (its LICENSE.txt) |
| Juz, hizb quarters, Madani page (604), sajdah | quran-meta v7 (Hafs) | quran-center | MIT |
| Quran font | Amiri Quran via @expo-google-fonts/amiri-quran | Khaled Hosny | SIL Open Font License 1.1 |
How it is used. scripts/build-content.mjs copies the text and translations from quran-json into src/content/quran/ without changing a word. The app splits the Basmala off the first verse of each surah to show it as a header, except in Al-Fatihah (where it is verse 1) and At-Tawbah (which has none). Translations follow the app language by default (none in Arabic) and can be changed in More › Reading.
Recitations. Verse-by-verse MP3 from EveryAyah.com, streamed or downloaded on demand from https://everyayah.com/data/<reciter>/<surah><verse>.mp3. There are 44 reciters, including murattal, mujawwad, the teaching recitation of Al-Husary and two Warsh recitations. Every reciter folder was checked for the first, a middle and the last verse of the Quran on 9 November 2026. EveryAyah publishes the audio for free use but no formal licence; the recordings belong to the reciters and their publishers. Islamic Compass is free, never sells or repackages the audio, keeps downloads only on the user's device, names the reciter wherever audio plays and credits EveryAyah.com with a link. Details and the alternatives that were considered (Quran Foundation CDN, quranicaudio.com) are in src/features/quran/SOURCES.md.
Verse of the day. A fixed list of 60 verses (shared/daily-verse.ts). The verse for a date is the list entry at (days since 1 January 1970) modulo 60, so the app and the server always agree, offline or not. The text always comes from the Quran bundled in the app.
2. Adhkar
| What | Source | Author | Notes |
|---|---|---|---|
| Hisn al-Muslim, 132 chapters in Arabic and English | the official hisnmuslim.com API | Sa'id ibn Wahf al-Qahtani | Spanish and Russian readers see the English text: the source has no other languages |
scripts/build-content.mjs downloads the chapters once, fixes stray control characters in the source files and stores them in src/content/adhkar.json. Each dhikr keeps its repeat count; the card counts taps and moves on when the count is reached. The adhkar "day" resets at Fajr or at midnight (More › Display).
3. Prayer times
Calculated on the device with Adhan 4.4.6 by Batoul Apps (MIT), a widely used astronomical library. Nothing is fetched from a server, so prayer times work offline anywhere.
Inputs. The place (browser or phone location, a city from the offline list, a point on the map in the phone app, or typed coordinates), the date, and three settings:
- Calculation method: the Fajr and Isha twilight angles of an authority. Islamic Compass offers 15 Sunni methods:
| Method | Fajr | Isha | Adjustments built into Adhan |
|---|---|---|---|
| Algeria (Ministry of Religious Affairs) | 18° | 17° | none |
| Morocco (Ministry of Habous) | 19° | 17° | none |
| Tunisia | 18° | 18° | none |
| France (UOIF) | 12° | 12° | none |
| Muslim World League | 18° | 17° | Dhuhr +1 min |
| Umm al-Qura, Makkah | 18.5° | 90 min after Maghrib | none |
| Egyptian General Authority | 19.5° | 17.5° | Dhuhr +1 min |
| University of Islamic Sciences, Karachi | 18° | 18° | Dhuhr +1 min |
| Diyanet, Türkiye | 18° | 17° | Sunrise −7, Dhuhr +5, Asr +4, Maghrib +7 min |
| Dubai | 18.2° | 18.2° | Sunrise −3, Dhuhr +3, Asr +3, Maghrib +3 min |
| Kuwait | 18° | 17.5° | none |
| Qatar | 18° | 90 min after Maghrib | none |
| Singapore, Malaysia, Indonesia | 20° | 18° | Dhuhr +1 min |
| ISNA, North America | 15° | 15° | Dhuhr +1 min |
| Moonsighting Committee | 18° | 18° | Dhuhr +5, Maghrib +3 min, seasonal twilight |
The first four are regional authorities that Adhan does not include; Islamic Compass passes their angles to Adhan's custom method. The default follows the country of the place (Algeria → Algeria, Morocco → Morocco, France and Belgium → France, Saudi Arabia → Umm al-Qura, United Kingdom → Moonsighting Committee, United States and Canada → ISNA, …; Muslim World League elsewhere). A method you pick by hand is never changed. Adhan's Tehran method is not offered: Islamic Compass follows Sunni conventions.
- Asr: Shafi'i, Maliki and Hanbali (shadow equal to the object) or Hanafi (twice the object). Hanafi is the default in Pakistan, India, Bangladesh, Afghanistan and Türkiye.
- High-latitude rule: for places where twilight never ends in summer. The default is Adhan's recommendation for the latitude; middle of the night, one-seventh of the night and twilight angle are available.
Also shown: sunrise, the Islamic midnight and the start of the last third of the night (Adhan's Sunnah times), "Jumu'ah" instead of Dhuhr on Fridays, and optional iqama times as minutes after each adhan.
Accuracy. These are astronomical calculations. Local mosque timetables often add their own precautionary minutes, so differences of one or two minutes are normal; compare with your mosque and adjust the method if needed.
4. Qibla
- Direction: the initial great-circle bearing from your place to the Kaaba (21.4225° N, 39.8262° E), computed by Adhan's
Qiblafunction. That is the shortest path on the globe, which is how the Qibla is defined for prayer. - Distance: the haversine distance on a sphere of radius 6,371 km.
- Compass: on phones, the device heading (true north when the phone provides it); the app tells you to turn left or right and confirms when you face the Qibla within 4°. In a browser, the compass works on phones that report their orientation (Android Chrome directly; iPhone Safari after a tap to allow it). On computers there is no compass: the page shows the bearing to follow.
5. Hijri calendar
Dates follow the Umm al-Qura calendar of Saudi Arabia through hijri-converter (MIT). Local moon sighting can shift a month by a day, so More › Hijri date adjusts by −2 to +2 days. The calendar marks the Islamic New Year, Ashura, Mawlid, Isra' and Mi'raj, mid-Sha'ban, the first of Ramadan, the 27th night of Ramadan, Eid al-Fitr, the Day of Arafah and Eid al-Adha.
6. Other content
| What | Source | Licence |
|---|---|---|
| Live radio: 174 stations (reciters, tafsir, translations in 18 languages, adhkar, hadith, seerah) | mp3quran.net public API v3; streams on backup.qurango.net | Recordings © the reciters and their publishers; streamed, never stored |
| City list: 34,208 cities of 15,000+ people | GeoNames cities15000 | CC BY 4.0 |
| City names in Arabic, Russian, French and Spanish | Wikidata labels, joined on the GeoNames ID | CC0 |
| Country names | Unicode CLDR through Intl.DisplayNames | Unicode licence |
| Adhan "Classic" (first 30 s) | "Beautiful adhan" by Adam-synagda, Wikimedia Commons | CC0 1.0 |
| Adhan "Madinah" (first 19 s) | "Call to prayer from the Prophet's Mosque" by ejaz215, freesound via Wikimedia Commons | CC BY 3.0 |
| Adhan "Hassan II Mosque" (first 23 s) | "Llamada a oración Mezquita Hassan II" by Fraguando, Wikimedia Commons | CC BY-SA 4.0 (excerpt shared alike) |
| Adhan "Aaqib Azeez" (first 28 s) | "The Adhan - Muslim Call to Prayer" by Aaqib Azeez, uploaded by Atcovi, Wikimedia Commons | CC BY-SA 4.0 (excerpt shared alike) |
| Adhan "Mahfoudou" (first 29 s) | "Islamic call to worship" by Mahfoudou, Wikimedia Commons | CC BY-SA 4.0 (excerpt shared alike) |
| Adhan "Aishatu" (first 23 s) | "Adhan" by Aishatu98, Wikimedia Commons | CC0 1.0 |
| Icons | SF Symbols (iPhone, part of iOS); Material Symbols (Android and web) | Apple system icons; Apache 2.0 |
The radio list, cities and content are rebuilt with scripts/build-radios.mjs, scripts/build-cities.mjs and scripts/build-content.mjs. Changes reach installed apps as an over-the-air update.
7. Software
Islamic Compass is one codebase for Android, iPhone and the web:
- Expo SDK 58, React Native 0.88, React 19.3, Expo Router, Reanimated 4 (all MIT).
- Native controls through @expo/ui (SwiftUI on iPhone, Jetpack Compose on Android); widgets and Live Activities through expo-widgets.
- On the web, react-native-web (MIT) renders the same screens. Phone-only parts (alerts, widgets, native menus) have web replacements, and the website itself is plain HTML.
8. Services and hosting
All free tiers. No analytics, ads or tracking SDKs anywhere.
| Part | Runs on | What it does |
|---|---|---|
Islamic Compass API (api.islamic-compass.com) | Cloudflare Workers + D1 database | Announcements, verse-of-the-day and Friday push notifications, Contact us reports, anonymous install records |
| Push notifications | Expo push → Apple / Google | Delivers notifications to phones that turned push on |
| App updates | Expo EAS Update | Delivers fixes to installed apps |
Website and web app (islamic-compass.com) | Cloudflare Workers static assets | Landing pages, the web app under /app, this page |
| Android downloads | GitHub Releases | The APK and its SHA-256 checksum, linked from /download/android |
| City name of a GPS position | the phone's geocoder (Apple or Google); in a browser, the offline city list | Shows "Algiers" instead of coordinates |
| "Search online" for small places | the phone's geocoder; in a browser, OpenStreetMap Nominatim (data © OpenStreetMap contributors, ODbL), only when tapped | Finds places that are not in the offline list |
| Map picker (phone app) | Apple Maps / Google Maps | Choose a point on a map |
9. The web version
The web app at /app is the phone app's code running in the browser. It has prayer times, the Qibla, the Quran with translations and recitation, adhkar, radio, tasbih, the timetable, the calendar, themes, the five languages and Contact us. It cannot schedule prayer alerts, show widgets, run in the background or receive push notifications: browsers do not allow a page to do that reliably, so those stay in the phone app. Settings and progress are saved in the browser (local storage) and never leave it, except what Contact us sends.
10. Reporting a problem
A translation that reads wrong, a mistake in the text, a prayer time that differs from your mosque: use More › Contact us in the app, or the web version. Every report is read.