This tool turns a plain calendar date into fully written-out Arabic, giving you both the Gregorian (الميلادي) and Hijri (الهجري) forms with the weekday and month names spelled out and the day and year in Eastern-Arabic numerals.
How it works
The Gregorian rendering looks up the Arabic name for the weekday and month and
formats them as الأحد، ٤ يونيو ٢٠٢٦. The Hijri rendering relies on the Unicode
internationalization calendar islamic-umalqura, which your browser ships with.
Given a Gregorian date, it returns the corresponding Hijri day, month, and year:
weekday = ["الأحد", "الإثنين", … "السبت"][date.getUTCDay()]
hijri = Intl.DateTimeFormat("en-u-ca-islamic-umalqura", …)
output = `${weekday}، ${day} ${hijriMonth} ${year} هـ`
The date is built in UTC so that your local time zone never shifts the day across midnight.
Example and notes
The Gregorian date 2026-06-04 renders as الخميس، ٤ يونيو ٢٠٢٦ and, in the
Hijri calendar, as roughly الخميس، ١٨ ذو الحجة ١٤٤٧ هـ. The trailing هـ
abbreviation marks a Hijri year, equivalent to writing “AH” in English. Because
Hijri month boundaries depend on crescent visibility, the Umm al-Qura result can
differ by a day from a sighting-based local calendar — that is expected, and
Umm al-Qura is the standard civil reference for documents and scheduling.