Stand with Palestine. Where to donate, what to boycott, and how to keep informed.

Prayer times that don’t know who you are.

Adhan reminders, a qibla compass, a home-screen widget and the full Madinah mushaf — with no account, no ads and no analytics. Once your location is set the times are worked out on the phone itself, so the day works with the network switched off.

Version 2.24.0 (276) iOS, Android, macOS AGPL-3.0-or-later Source on GitHub

Install

Get Mihrab

Same app on every channel, built from the same main branch. The F-Droid build ships without Play Billing or Google Play Services.

  • iPhone & iPad App Store — “Mihrab: The Muslim Companion”, with the Lock Screen Live Activity and home-screen widgets.
  • Mac brew install --cask hassan-ps/tap/mihrab — a Mac Catalyst build, cask in the Hassan-PS/homebrew-tap repo. Ad-hoc signed for now, so the first launch may need right-click → Open.
  • Android Google Play — package com.prayer_times.
  • Android APK GitHub Releases — every tag ships app-fdroid-release.apk, the same recipe F-Droid builds.
  • Obtainium Add to Obtainium to auto-update straight from GitHub Releases.
  • F-Droid f-droid.org/packages/com.prayer_times — built and signed by F-Droid from the recipe in this repo, with no Play Services and nothing proprietary in the tree.

Prefer to build it yourself? npm install && npm run android:assembleFdroidRelease — the full release path is written up in DISTRIBUTION.md.

What it does

The day’s worship, in one app

Everything below works on iOS, Android and Mac, in 13 languages — Arabic and Urdu fully right-to-left, on every screen and every notification.

Prayer

  • Times for today, the week, and a full month — up to a year ahead, cached on device so the app opens instantly without a connection.
  • Adhan and reminders — seventeen built-in adhan recordings or one of your own, a pre-prayer reminder window, snooze, and exact-alarm scheduling so the call lands on time even under aggressive battery managers.
  • Your choice of source, including national ones — AlAdhan, PrayTimes.dev, calculation entirely on the device, or a published national table: Sweden (Islamiska Förbundet) and Morocco (the Ministry of Habous and Islamic Affairs), matched to your nearest listed city.
  • Tuned to your mosque — per-prayer minute offsets, Hanafi or standard Asr, and the extra marks when you want them: sunrise, Islamic midnight, the last third of the night, the first third after Isha.
  • A qibla compass — a live dial with signal strength, a hold-still prompt when the sensors need one, and a cross-check against the sun.
  • Saved places — keep the cities you check on and switch between them without giving up automatic location.
  • A month you can hand over — the whole month as a sheet, Hijri and Gregorian side by side, exported as an image or a PDF in any of the app’s languages.
  • A pinned countdown — Live Activity on the iOS Lock Screen and Dynamic Island; on Android 16+ a status-bar chip and always-on notification in three designs, down to a proportional bar for the next three events.
  • Home-screen widgets — prayer times in three sizes, plus today’s log, the Hijri date, streak, tasbih and reading — on iPhone, Android and the Mac. Per-prayer accents, dynamic colour, adjustable background.

Quran

  • The Madinah mushaf, drawn as text — all 604 pages render from the official KFGQPC page fonts, one glyph per word, page-for-page and line-for-line with the print. Sharp at any zoom, and a page costs a fraction of what an image would. Reading starts the moment the download does: pages arrive as their fonts do, about 300 KB each.
  • Paper, sepia or night — with a page rail, a go-to-page jump, and fullscreen from the margins.
  • Four riwāyāt — Ḥafṣ from the page fonts, and Warsh, Qālūn and Shuʿbah downloaded on request. Switching keeps your place: the ayah is the coordinate, not the page number.
  • A facing-page spread on iPad and Mac — the pair of pages is the thing that turns, with the keyboard and a surah sidebar.
  • A tap on a word opens its ayah — 13 translations plus Ibn Kathir, Maarif-ul-Quran, al-Muyassar and others cached for offline reading, coloured bookmarks, a share card, and the recitation controls.
  • 42 reciters — streamed per ayah or downloaded per surah. For nine of them the recited word lights up on the page itself, and in landscape the column follows the reciter down it.
  • Tilāwah — listening, as its own page — pick a reciter and it runs surah into surah with the screen off, from the lock screen, without the app open. Scrub by ayah or by whole surah, shuffle, set a speed or a sleep timer, and follow along on a live muṣḥaf page with the recited word lit. It downloads into the reader's own folder, so a reciter fetched for a flight makes play-from-here work offline too. A mini-player under the title bar carries it to every other screen.
  • Memorisation tools — repeat an ayah or a range, pause between repeats, hide and reveal the Arabic or the translation.
  • Khatmah plans — 30, 60 or 90 days, or your own length from the page you are on, with automatic page tracking and an optional daily reminder carrying the day’s portion.

Daily worship

  • Dua library — 100+ duas across 19 categories with Arabic, transliteration, translation, and Hisn al-Muslim sources.
  • Tasbih counter — the post-prayer dhikr plus open-ended istighfar and salah on the Prophet ﷺ, with tabular numerals so the digits don’t shimmer on tick.
  • Fasting log — Ramadan and the Sunnah fasts (Mondays, Thursdays, Ayyam al-Bidh, Arafah, Ashura, Six of Shawwal), with day-before reminders.
  • Prayer journal — on time, late, missed or qadha, with private notes, a practice graph, streaks and what is owed. Loggable straight from the notification, with an end-of-day nudge and tools to fill in whole months at once.
  • Hijri calendar — with Ramadan, Eid and Jumu'ah treatments, and a Ramadan countdown on Home.

The app itself

  • Sync between your own devices — pair by scanning a code, and the journal, streaks, fasts, notes and settings stay in step. No account and no server of ours: the devices write sealed files into a folder you already keep in sync, and each holds a key that never leaves it.
  • Backup and restore — export everything as a file you keep, and import it back on any platform. Settings, journal, bookmarks and khatmah also ride Android Auto Backup and device-to-device transfer, and a Manage-downloads screen shows what is on disk.
  • 13 languages — English, Arabic, Swedish, Bengali, Urdu, Hindi, French, Spanish, German, Turkish, Indonesian, Russian and Chinese — the widgets and notifications too.
  • Real Arabic typography — Amiri Quran for ayah text with correctly stacked diacritics, Amiri Naskh for duas, on both platforms.
  • Yours to look at — light, dark or system, pure black for OLED, six accents or your own colour, and the platform’s own palette when you want it: Material You on Android, Liquid Glass on iOS.
  • It tells you what it is doing — a data panel names the source in use, when each dataset was last rebuilt, how far ahead it reaches and when the next check is due.
  • Open source — AGPL-3.0-or-later. The F-Droid flavour ships without Play Billing or Google Play Services.

Bönetider i Sverige

Islamiska Förbundets tidtabell, i en app som inte spårar dig

De flesta bönetidsappar räknar ut tiderna själva och hamnar någon minut från den tidtabell din moské faktiskt följer. Mihrab kan i stället använda Islamiska Förbundets publicerade tider för orten närmast dig — samma tabell som moskén, utan att du behöver slå upp den varje dag.

Så fungerar det

  • Välj Sverige (Islamiska Förbundet) som källa i inställningarna.
  • Tiderna matchas mot närmaste ort. 108 svenska orter finns med — Stockholm, Göteborg, Malmö, Uppsala, Västerås, Örebro, Linköping, Helsingborg, Jönköping, Norrköping, Lund, Umeå, Borås, Södertälje, Eskilstuna, Sundsvall och resten.
  • Vill du hellre räkna själv finns AlAdhan, PrayTimes.dev och beräkning helt på telefonen, med de vanliga metoderna och justering per bön om din moské ligger några minuter från tabellen.
  • Widget på hemskärmen, adhan-påminnelser, qibla-kompass, månadsöversikt, fastelogg och hela Medina-mushafen — på svenska, eller på något av de tolv andra språken.

Läs mer på svenska — hur du ställer in Islamiska Förbundets tider, vilka 108 orter som stöds, och svaren på de vanligaste frågorna.

Screenshots

What it looks like

Light and dark, phone and tablet. The mushaf is the printed Madinah page, not a picture of one.

Mihrab on a tablet: two facing mushaf pages side by side with the surah sidebar, as in the printed copy.
On a tablet, an iPad or a Mac the mushaf opens as a facing-page spread — the pair of pages is what turns, exactly as it does in print.

Private by design

Nothing leaves your phone that you didn’t ask to send

Where you are, five times a day, is the most sensitive thing a prayer app ever touches. So there is no account to make, this codebase carries no analytics panel, no ad network and no crash-reporting service, and once a location is set, prayer times can be calculated entirely on your device — the app works with the network switched off.

Stays on the device

  • Language, appearance, chosen provider, calculation options and notification settings.
  • Saved coordinates and place names, encrypted at rest through the iOS Keychain and Android EncryptedSharedPreferences.
  • Your prayer journal and fasting log — there is no central database to hold them.
  • Notifications are scheduled locally; what you log is never sent anywhere as an event stream.
  • Sync writes sealed files into a folder you already keep in sync, and the key that opens them never leaves the devices you paired. There is no account, and no server of ours is involved at any point.

Goes over the network, when you choose it

  • Prayer times from the provider you pick — AlAdhan or PrayTimes.dev — which receives the coordinates and dates it needs to answer. The national tables (Sweden, Morocco) are prepared files fetched from this project’s own repository: they are asked for a city, not for you.
  • Place search through OpenStreetMap Nominatim: your search text goes to them under their terms.
  • Downloads of mushaf pages, translations, tafsir and recitation audio.
  • Those services can see ordinary technical data — IP address, time, requested URL — under their own policies. Skip the features and the requests never happen.

Not present at all

  • No ads, no trackers, no analytics SDK, no crash reporter.
  • No account, no sign-in, no profile.
  • On Android, allowBackup is off in the manifest, and the F-Droid build ships without Google Play Services or Play Billing.
  • This page is hand-written HTML and one stylesheet, served from this domain: no JavaScript, no webfonts, no third-party requests. Its two <script> tags are inert JSON describing the app and these questions to search engines — nothing in them runs.

None of it asks to be believed

  • The source is public under the AGPL-3.0, so the network calls listed here are the ones anyone can go and read.
  • F-Droid builds and signs the Android app themselves, from that source — the APK they serve is not one I hand them.
  • The licence means a fork that changes any of this has to publish what it changed.
  • Every release is a tag with its notes and its artefacts attached, so a version on your phone traces back to a commit you can read.

The full text, including the GDPR basis and children’s-data section, is in PRIVACY_POLICY.md (English and Swedish). Questions belong in the issue tracker, in the open.

Questions people ask first

Free, open source, and no ads — the short answers

Is Mihrab a free and open-source prayer times app?

Yes. Mihrab is free software under AGPL-3.0-or-later, and the whole app — Android, iPhone, iPad and Mac — builds from one public repository. Free as in price too: there is nothing to buy, anywhere.

Are there ads, trackers or a subscription?

None of the three. No ad network, no analytics SDK, no crash reporter, no account, no subscription and no in-app purchase — the billing library is not in the project at all. The app is not the product and neither are you.

How do I install the prayer times app on a Mac with Homebrew?

One command:

brew install --cask hassan-ps/tap/mihrab

It installs the Mac Catalyst build — the same app as on iPad, with the Notification Centre widgets. The cask lives in Hassan-PS/homebrew-tap and every release updates it, so brew upgrade keeps you current.

Can Obtainium keep Mihrab updated on Android?

Yes, and it is the recommended way to run the APK. Point Obtainium at github.com/Hassan-PS/Mihrab, or use the one-tap Obtainium link. Every tag ships the same APK F-Droid builds from the same recipe.

Does Mihrab work without Google Play Services?

Yes. The F-Droid and APK builds carry no Play Services, no Play Billing and nothing proprietary — that is what lets F-Droid build and sign it from source. Nothing in the app depends on Google being on the device.

Does Mihrab track my location or sell my data?

No, and there is nothing in the app that could. No analytics SDK, no ad network, no crash reporter and no account — so there is no profile for a location to be attached to. Coordinates are stored encrypted on the device; the only time they leave it is the request to the prayer-time provider you chose, which needs a place and a date to answer. Pick on-device calculation and even that request stops.

Does Mihrab work offline?

Once a location is set, prayer times are calculated on the device and notifications are scheduled locally, so the day works with the network switched off. Downloads you ask for — mushaf pages, recitation, tafsir — are the only things that need it.

Supporting Mihrab

The app does not take money

Several people have kindly offered to send something, and the answer is the same to everyone: thank you, and no. There is no donation link, no sponsorship, no in-app purchase and no tip jar — the billing library was removed from the project outright. It is not that kind of project, and it is not going to become one.

Dua

Worth more than anything that could be sent. A dua for me and my parents — and for everyone whose work this app is built on — is the whole payment.

Constructive feedback

A prayer time that disagrees with your masjid, a translation that reads wrong, a screen that fights you. Say what you saw and what you expected in an issue — that is how the bugs get found.

Code

Pull requests, translations and reproducible bug reports. The source is on GitHub under the AGPL, and it builds from a clean checkout.

If you were going to send something, send it to your local masjid or to relief work you trust instead. Nothing needs to come here.