Block your calendar for solat.

Prayer times for all 60 JAKIM zones, as a calendar feed that keeps itself current. Subscribe once.

Free to use, with no account, cookies or ads.

WLY01 Kuala Lumpur, Putrajaya

MYT

Next

Asar

16:17 in 1 h 25 min

  1. Subuh
  2. Syuruk
  3. Zohor
  4. Asar
  5. Maghrib
  6. Isyak
Sat, 10 Oct · 28 Rabiulakhir 1448 Month timetable Change zone

إِنَّ ٱلصَّلَوٰةَ كَانَتْ عَلَى ٱلْمُؤْمِنِينَ كِتَـٰبًا مَّوْقُوتًا

Indeed, performing prayers is a duty on the believers at the appointed times.

Quran 4:103 Translation by Dr Mustafa Khattab, The Clear Quran

سَأَلْتُ النَّبِيَّ صلى الله عليه وسلم أَىُّ الْعَمَلِ أَحَبُّ إِلَى اللَّهِ قَالَ ‏"‏ الصَّلاَةُ عَلَى وَقْتِهَا ‏"‏‏.‏

I asked the Prophet (ﷺ) "Which deed is the dearest to Allah?" He replied,

"To offer the prayers at their early stated fixed times."

Sahih al-Bukhari 527, narrated by Abdullah ibn Mas'ud Translation by Dr Muhammad Muhsin Khan

Build your calendar feed

Pick your zone and prayers, then choose when each event starts and how long it lasts. The calendar beside the options redraws as you change them.

Search by name, or let your device find the nearest zone. Your location never leaves this device.

Prayers

Times shown are today's for your zone.

Event start

15 min blocks snap the event down to the quarter hour it falls in, so it lines up with the rest of your grid. The true solat time is always written into the event.

Length, availability and reminder
Ramadan and hijri dates

During Ramadan, adds an Imsak event that ends at Subuh and marks Maghrib as iftar.

They appear as all-day events that never block your time. Major dates include Awal Ramadan, Nuzul Al-Quran and both Hari Raya.

Today in your calendar

Loading times

Other ways to add it

Copy the feed URL

Paste it into any calendar app that can subscribe to a URL.

Download a file

Period

A file is a snapshot and does not update itself. Pick how far ahead it covers.

The first sync

The first sync can take a little while. Google Calendar may need a few minutes and a refresh, and Apple Calendar a few minutes and sometimes a restart of the app. Outlook usually shows events straight away.

How it behaves in your calendar

Three rules decide what a subscription does over a year. Each one is visible in the feed itself.

  1. Re-importing is safe

    Every event carries a stable identifier built from the zone, date and prayer. Import the same feed twice and your calendar updates those events rather than adding a second copy of them.

    In the feed
  2. It refreshes itself

    The feed asks calendar apps to re-read it twice a day. Times for the rest of the year are always in there, and the window rolls forward as the year goes on.

    In the feed
    REFRESH-INTERVAL;VALUE=DURATION:PT12H
    X-PUBLISHED-TTL:PT12H
  3. The real time travels with the event

    Even when you snap events to 15 minute blocks, each event's notes hold the exact JAKIM time, your zone, the hijri date and a link back to e-Solat. The block only moves the event in your calendar; the exact time stays in its notes.

    In the event notes

Bring your AI assistant

Your assistant can look up zones, read prayer times and build your feed URL for you. Point it at this endpoint.

Tools

  • find_zone Find the zone for any town, district or state in Malaysia.
  • list_zones List all 60 zones by state, with the districts in each.
  • get_prayer_times Read one day of prayer times for a zone or a town, with the hijri date.
  • get_calendar_feed Turn a set of options into a subscribable feed URL.

Also for developers: the API docs, the OpenAPI spec, and llms.txt in plain text for any LLM.

Add it to Claude Code

claude mcp add --transport http solatcal /mcp

Any MCP client works. The server is stateless, needs no key and keeps no session.

Common questions

Is SolatCal free?

Yes. SolatCal is free, has no accounts and shows no ads. It reformats the official JAKIM e-Solat prayer times for Malaysia into a calendar feed, and that is all it does.

How is SolatCal different from a prayer times app?

It uses JAKIM's published times as they are, rather than calculating them on your phone with a method you have to choose. It puts them in the calendar you already plan your day in, where colleagues can see the time is taken. Every live feed is checked against JAKIM's published times, and the About page gives the latest result.

Which JAKIM zones are covered?

All 60 official e-Solat zones, across every state. WLY01 covers Kuala Lumpur and Putrajaya, SGR01 covers Gombak and Petaling, JHR02 covers Johor Bahru, PNG01 covers Pulau Pinang and SWK08 covers Kuching. Pick yours from the zone list, which is grouped by state.

How do the prayer times stay up to date?

Subscribe once and your calendar app re-reads the feed about twice a day. Times for the rest of the year are always in the feed, so a subscribed calendar rolls into the next year on its own. Downloading an .ics file gives you a snapshot instead, which you will need to replace later.

Can I show prayer times as free instead of busy?

Yes. Show as Free keeps the events visible without blocking your availability, so colleagues can still book over them. Show as Busy is the default and protects the slot.

Where do the prayer times come from?

Every time comes straight from JAKIM e-Solat, the official Malaysian source. SolatCal calculates nothing of its own, and each event carries the exact JAKIM time, the hijri date and a link back to e-Solat.

Can my AI assistant use SolatCal?

Yes. SolatCal runs an MCP server at /mcp, which lets an assistant look up JAKIM zones, read the prayer times for a day and build a calendar feed URL. There is also an llms.txt describing the whole API in plain text, so a model can work from it without MCP at all.

وَأَقِمِ ٱلصَّلَوٰةَ لِذِكْرِىٓ

…and establish prayer for My remembrance.

Quran 20:14 Translation by Dr Mustafa Khattab, The Clear Quran
Build your feed