Skip to main content

How to make changes to a Yahrzeit + Anniversary calendar

This article describes how to make changes to a Yahrzeit + Anniversary calendar that you downloaded, exported or subscribed to in a calendar app like Outlook, Google Calendar / Android, or Apple (iOS, iPhone, iPad or Mac). These instructions apply to personal events such as yahrzeits, Hebrew Birthdays, and Hebrew Anniversaries.

1. I have a Hebcal calendar feed subscription

If you used Hebcal to create your personal calendar after August 2020 and you subscribed using the recommended feed option, you can click on the hebcal.com URL at the bottom of a calendar event.

Visiting that link will take you back to the Yahrzeit and Anniversary calendar where you can make edits to each person’s name or dates. You can also use that link to add additional names and dates to the same calendar.

Please note: since you have previously subscribed to the Hebcal calendar via a 3rd party calendar app such as Apple, Google, or Microsoft Outlook, you do not need to resubscribe to the calendar feed. Any changes you make on the Hebcal.com website will automatically be updated in the calendar feed and show up in your 3rd party calendar app, typically about 24 hours after the change is made on the Hebcal.com site.

If you have a calendar feed, but you don’t see a www.hebcal.com URL at the bottom of the event description, then you either have a pre-August 2020 calendar feed (see topic 4 below) or you downloaded a copy of the calendar events (see topic 3 below).

2. I have a Hebcal annual email reminder subscription

If you subscribed to annual email reminders, you will find an “Edit Yahrzeit” link at the bottom of the annual reminder email message.

example email message including edit link

For a birthday, the link will be titled “Edit Hebrew Birthday.” For an anniversary, the link will be titled “Edit Hebrew Anniversary.”

3. I don’t have a separate calendar feed; I merged Hebcal anniversary events into my regular personal calendar

You may have downloaded yahrzeit/anniversary events and merged them into your regular personal calendar (often called “Home”, “Calendar”, “Events”, or sometimes your name).

To remove those events, search for the event(s) in your regular calendar and remove/delete them one at a time. These events will always have one of the following titles: “Yahrzeit”, “Hebrew Birthday” or “Hebrew Anniversary”.

Once you have removed the yahrzeit/anniversary calendar events, return to Hebcal.com and re-enter in all of the event details, then download again.

4. I subscribed to a calendar feed before August 2020

If you subscribed to a Hebcal Yahrzeit + Anniversary calendar feed with 3rd party calendar app such as Apple, Google, or Microsoft Outlook before August 2020, you will need to delete or unsubscribe the calendar containing your yahrzeit and anniversary reminders.

Hebcal personal event calendars created before August 2020 do not support editing event dates or names. For these older calendar feeds, the only way to make changes is to delete the calendar feed and start over from scratch.

Directions for how to delete/remove a subscribed calendar vary by calendar application.

How do I know if I subscribed to a calendar feed before August 2020?

On iOS, open Calendar. Tap Calendars > the Info button ⓘ Subscription Details

In the “Subscribed To” section, you will see a URL that contains download.hebcal.com (see screenshot below)

If the URL begins with download.hebcal.com/export/… or it begins with download.hebcal.com/v2/y/… then it is from before August 2020 and the calendar feed cannot be edited.

If the URL starts with download.hebcal.com/v3/… then it is from after August 2020 and should be editable.

Yahrzeit + Anniversary REST API

We are pleased to offer support for REST API for personal Yahrzeits, Hebrew Birthdays and Hebrew Anniversaries.

Note that this is a web API with the same functionality as the getYahrzeit and getBirthdayOrAnniversary APIs provided by the JavaScript @hebcal/core package. If you’re building a JavaScript application, consider using the native JS library instead of web APIs for a faster user experience.

Clients should POST x-www-form-urlencoded data to https://www.hebcal.com/yahrzeit

Regarding application/x-www-form-urlencoded: the keys and values are encoded in key-value tuples separated by '&', with a '=' between the key and the value. Non-alphanumeric characters in both keys and values are percent encoded.

The following parameters must be specified

  • cfg=json
  • v=yahrzeit

The following parameters may be specified once

  • years=3 – default 20. Use years=1 for only a single Hebrew year
  • hebdate=on – append Hebrew date to the event titles (default off)
  • yizkor=on – Include Yizkor dates (default off)
    • i=off – Diaspora Yizkor schedule (Pesach 8th day, Shavuot 2nd day, Yom Kippur and Shmini Atzeret)
    • i=on – Israel Yizkor schedule (Pesach 7th day, Shavuot, Yom Kippur and Shmini Atzeret)
  • start=5749 – beginning Hebrew year to calculate anniversary dates (defaults the current Hebrew year)
  • end=5761 – ending Hebrew year (inclusive) to calculate anniversary dates (defaults to start year + years years)
  • hdp=1 – include heDateParts field on untimed (all-day) items in the response

Then, specify at least one input date based on the Gregorian date of death (or birth). The following parameters are required, substituting the X with increasing integers beginning with 1.

  • yX=1983 – Gregorian year, 4-digit date
  • mX=4 – Gregorian month (1=January, 12=December; leading zeros optional)
  • dX=15 – Gregorian day of month (1-31; leading zeros optional)
  • sX=on – Event occurred on Gregorian date after sunset (default off implies that event occurred before sunset)
  • tX=Yahrzeit – type (either Yahrzeit, Birthday or Anniversary – case-sensitive)
  • nX=Plonit+ben+Ploni – name (optional)

Please take care to specify the correct tX type parameter (either Yahrzeit, Birthday or Anniversary). The algorithm (according to Ashkenazic practice) differs between these options, especially in the months of Adar, Cheshvan, or Kislev. For more information, see “How does Hebcal determine anniversaries (birthdays, yahrzeits)?

Unlike other Hebcal.com REST APIs, this API requires HTTPS (either HTTP/1.1 or HTTP/2) due to the personal/sensitive nature of the information being passed across the Internet.

  • We support both gzip and br (brotli) compression; set the appropriate Accept-Encoding header in your request to enable
  • We support HTTP Keep-Alive for multiple requests

Example

Here is an example of two events, a Hebrew Birthday for Person1 and a Yahrzeit for Person2:

curl \
  -X POST \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  --compressed \
  --data-raw 'cfg=json&v=yahrzeit&n1=Person1&t1=Birthday&d1=15&m1=4&y1=1983&s1=on&n2=Person2&t2=Yahrzeit&d2=13&m2=11&y2=2008&s2=off&hebdate=on&years=3' \
  https://www.hebcal.com/yahrzeit

The response will be application/json that looks like this:

{
  "title": "Hebrew Anniversaries: Person1, Person2",
  "date": "2022-05-30T19:04:58.561Z",
  "range": {
    "start": "2021-10-21",
    "end": "2024-05-11"
  },
  "items": [
    {
      "title": "Person2's 13th Yahrzeit (15th of Cheshvan)",
      "date": "2021-10-21",
      "hdate": "15 Cheshvan 5782",
      "memo": "Hebcal joins you in remembering Person2, whose 13th Yahrzeit occurs on Thursday, October 21, corresponding to the 15th of Cheshvan, 5782.\n\nPerson2's Yahrzeit begins at sundown on Wednesday, October 20 and continues until sundown on the day of observance. It is customary to light a memorial candle at sundown as the Yahrzeit begins.\n\nMay your loved one's soul be bound up in the bond of eternal life and may their memory serve as a continued source of inspiration and comfort to you.",
      "name": "Person2",
      "category": "yahrzeit",
      "anniversary": 13
    },
    {
      "title": "Person1's 39th Hebrew Birthday (3rd of Iyyar)",
      "date": "2022-05-04",
      "hdate": "3 Iyyar 5782",
      "memo": "Hebcal joins you in honoring Person1, whose 39th Hebrew Birthday occurs on Wednesday, May 4, corresponding to the 3rd of Iyyar, 5782.\n\nPerson1's Hebrew Birthday begins at sundown on Tuesday, May 3 and continues until sundown on the day of observance.",
      "name": "Person1",
      "category": "birthday",
      "anniversary": 39
    },
    {
      "title": "Person2's 14th Yahrzeit (15th of Cheshvan)",
      "date": "2022-11-09",
      "hdate": "15 Cheshvan 5783",
      "memo": "Hebcal joins you in remembering Person2, whose 14th Yahrzeit occurs on Wednesday, November 9, corresponding to the 15th of Cheshvan, 5783.\n\nPerson2's Yahrzeit begins at sundown on Tuesday, November 8 and continues until sundown on the day of observance. It is customary to light a memorial candle at sundown as the Yahrzeit begins.\n\nMay your loved one's soul be bound up in the bond of eternal life and may their memory serve as a continued source of inspiration and comfort to you.",
      "name": "Person2",
      "category": "yahrzeit",
      "anniversary": 14
    },
    {
      "title": "Person1's 40th Hebrew Birthday (3rd of Iyyar)",
      "date": "2023-04-24",
      "hdate": "3 Iyyar 5783",
      "memo": "Hebcal joins you in honoring Person1, whose 40th Hebrew Birthday occurs on Monday, April 24, corresponding to the 3rd of Iyyar, 5783.\n\nPerson1's Hebrew Birthday begins at sundown on Sunday, April 23 and continues until sundown on the day of observance.",
      "name": "Person1",
      "category": "birthday",
      "anniversary": 40
    },
    {
      "title": "Person2's 15th Yahrzeit (15th of Cheshvan)",
      "date": "2023-10-30",
      "hdate": "15 Cheshvan 5784",
      "memo": "Hebcal joins you in remembering Person2, whose 15th Yahrzeit occurs on Monday, October 30, corresponding to the 15th of Cheshvan, 5784.\n\nPerson2's Yahrzeit begins at sundown on Sunday, October 29 and continues until sundown on the day of observance. It is customary to light a memorial candle at sundown as the Yahrzeit begins.\n\nMay your loved one's soul be bound up in the bond of eternal life and may their memory serve as a continued source of inspiration and comfort to you.",
      "name": "Person2",
      "category": "yahrzeit",
      "anniversary": 15
    },
    {
      "title": "Person1's 41st Hebrew Birthday (3rd of Iyyar)",
      "date": "2024-05-11",
      "hdate": "3 Iyyar 5784",
      "memo": "Hebcal joins you in honoring Person1, whose 41st Hebrew Birthday occurs on Saturday, May 11, corresponding to the 3rd of Iyyar, 5784.\n\nPerson1's Hebrew Birthday begins at sundown on Friday, May 10 and continues until sundown on the day of observance.",
      "name": "Person1",
      "category": "birthday",
      "anniversary": 41
    }
  ]
}

Zmanim (halachic times) API

Hebcal.com now offers a REST API for calculating zmanim (halachic times) for a given location.

Note that this is a web API with the same functionality as Zmanim API provided by the JavaScript @hebcal/core package. If you’re building a JavaScript application, consider using the native JS library instead of web APIs for a faster user experience.

The basic URL format is as follows:

https://www.hebcal.com/zmanim?cfg=json&geonameid=3448439&date=2021-03-23

URL format for batch query (range of dates):

https://www.hebcal.com/zmanim?cfg=json&geonameid=3448439&start=2021-01-15&end=2021-01-22

As with all Hebcal.com REST APIs:

  • Both HTTP and HTTPS (HTTP/2) are supported. Although most of the Web has moved to HTTPS, if you wish to reduce CPU overhead on your client you may continue to use plain (port 80) HTTP for API requests
  • We encourage HTTP caching proxies. Proper Cache-Control and Expires are generated in the response
  • We support both gzip and br (brotli) compression; set the appropriate Accept-Encoding header in your request to enable
  • We support HTTP Keep-Alive for multiple requests

Parameters and their meanings

  • cfg=json – output JSON. Required

Location

Location must be specified by one of the following mutually exclusive parameters:

  • GeoNames.org numeric ID
    • requires additional parameter geonameid=3448439
    • Hebcal.com supports over 100,000 different GeoNames IDs. These are world cities with a population of 1,000 or more. See cities1000.zip from https://download.geonames.org/export/dump/.
  • United States ZIP code
    • requires additional parameter zip=90210
  • Geographic position: location specified by latitude, longitude, and timezone. Requires additional 3 parameters:
    • latitude=[-90.0 to 90.0] – latitude in decimal format (e.g. 31.76904 or -23.5475)
    • longitude=[-180.0 to 180.0] – longitude decimal format (e.g. 35.21633 or -46.63611)
    • tzid=TimezoneIdentifier. See List of tz database time zones. Be sure to use the “TZ database name” such as America/New_York or Europe/Paris, not a UTC offset
  • One of ~400 legacy Hebcal city identifiers
    • requires additional parameter city=GB-London
    • deprecated: geo=geoname is preferred

Elevation for sunset calculation

  • ue=on – use elevation for location (default off). If on, use elevation to affect the calculation of all sunrise/sunset based zmanim. Note: there are some zmanim such as degree-based zmanim that are driven by the amount of light in the sky and are not impacted by elevation. These zmanim intentionally do not support elevation adjustment

Date

Note the following optional date parameters and their meanings:

  • date=2021-03-23 – calculate zmanim for a single date using YYYY-MM-DD format
  • start=2021-01-15&end=2021-01-22 – calculate zmanim for a date range using YYYY-MM-DD format. Results will be truncated to 180 days if the end date is more than 180 days after the start date

If neither date format is specified, the API will return zmanim for today. Note that specifying the &date= parameter is preferred, because it’s more consistent, predictable, and improves cachability.

If your application needs to generate zmanim for multiple dates, it’s much more efficient to use the batch format (&start=YYYY-MM-DD&end=YYYY-MM-DD) than to make multiple API calls.

Precision

Update September 2022: an optional &sec=1 parameter may be specified to get seconds-level precision of times. The default if unspecified is to round times to the nearest minute.

Response format

The following Zmanim are included in the response:

chatzotNight – Midnight – Chatzot
Sunset plus 6 halachic hours
alotHaShachar – Dawn – Alot haShachar
Sun is 16.1° below the horizon in the morning
misheyakir – Earliest talis & tefillin – Misheyakir
Sun is 11.5° below the horizon in the morning
misheyakirMachmir – Earliest talis & tefillin – Misheyakir Machmir
Sun is 10.2° below the horizon in the morning
dawn – Civil dawn
Sun is 6° below the horizon in the morning
sunrise – Sunrise
Upper edge of the Sun appears over the eastern horizon in the morning (0.833° above horizon)
sofZmanShma – Latest Shema (Gra)
Sunrise plus 3 halachic hours, according to the Gra
sofZmanShmaMGA – Latest Shema (MGA)
Sunrise plus 3 halachic hours, according to Magen Avraham
sofZmanTfilla – Latest Shacharit (Gra)
Sunrise plus 4 halachic hours, according to the Gra
sofZmanTfillaMGA – Latest Shacharit (MGA)
Sunrise plus 4 halachic hours, according to Magen Avraham
chatzot – Midday – Chatzot
Sunrise plus 6 halachic hours
minchaGedola – Earliest Mincha – Mincha Gedola
Sunrise plus 6.5 halachic hours
minchaKetana – Preferable earliest time to recite Minchah – Mincha Ketana
Sunrise plus 9.5 halachic hours
plagHaMincha – Plag haMincha
Sunrise plus 10.75 halachic hours
sunset – Sunset
When the upper edge of the Sun disappears below the horizon (0.833° below horizon)
dusk – Civil dusk
Sun is 6° below the horizon in the evening
beinHaShmashos – Bein Hashemashot / Twilight
13.5 minutes prior to tzeit (nightfall) when the sun is 7.083° below horizon
tzeit7083deg – Nightfall (3 medium stars) – Tzeit 7.083°
When 3 medium stars are observable in the night sky with the naked eye (sun 7.083° below the horizon)
tzeit85deg – Nightfall (3 small stars) – Tzeit 8.5°
When 3 small stars are observable in the night sky with the naked eye (sun 8.5° below the horizon)
tzeit42min – Nightfall (3 medium stars) – Tzeit 42 minutes
When 3 medium stars are observable in the night sky with the naked eye (fixed 42 minutes after sunset)
tzeit50min – Nightfall (3 small stars) – Tzeit 50 minutes
When 3 small stars are observable in the night sky with the naked eye (fixed 50 minutes after sunset)
tzeit72min – Nightfall (Rabbeinu Tam) – Tzeit 72 minutes
When 3 small stars are observable in the night sky with the naked eye (fixed 72 minutes after sunset)

Example output (single date)

{
  "date": "2021-03-23",
  "location": {
    "latitude": -23.5475,
    "longitude": -46.63611,
    "il": false,
    "tzid": "America/Sao_Paulo",
    "name": "São Paulo, Sao Paulo, Brazil",
    "cc": "BR",
    "geoid": 3448439,
    "geo": "geoname",
    "geonameid": 3448439,
    "asciiname": "Sao Paulo",
    "admin1": "Sao Paulo",
    "population": 10021295
  },
  "times": {
    "chatzotNight": "2021-03-23T00:13:00-03:00",
    "alotHaShachar": "2021-03-23T05:05:00-03:00",
    "misheyakir": "2021-03-23T05:25:00-03:00",
    "misheyakirMachmir": "2021-03-23T05:31:00-03:00",
    "dawn": "2021-03-23T05:49:00-03:00",
    "sunrise": "2021-03-23T06:11:00-03:00",
    "sofZmanShma": "2021-03-23T09:12:00-03:00",
    "sofZmanShmaMGA": "2021-03-23T08:36:00-03:00",
    "sofZmanTfilla": "2021-03-23T10:12:00-03:00",
    "sofZmanTfillaMGA": "2021-03-23T09:48:00-03:00",
    "chatzot": "2021-03-23T12:13:00-03:00",
    "minchaGedola": "2021-03-23T12:43:00-03:00",
    "minchaKetana": "2021-03-23T15:44:00-03:00",
    "plagHaMincha": "2021-03-23T16:59:00-03:00",
    "sunset": "2021-03-23T18:14:00-03:00",
    "dusk": "2021-03-23T18:37:00-03:00",
    "tzeit7083deg": "2021-03-23T18:41:00-03:00",
    "tzeit85deg": "2021-03-23T18:48:00-03:00",
    "tzeit42min": "2021-03-23T18:56:00-03:00",
    "tzeit50min": "2021-03-23T19:04:00-03:00",
    "tzeit72min": "2021-03-23T19:26:00-03:00"
  }
}

Sample output (batch)

{
  "date": {
    "start": "2021-01-15",
    "end": "2021-01-18"
  },
  "location": {
    "latitude": -23.5475,
    "longitude": -46.63611,
    "il": false,
    "tzid": "America/Sao_Paulo",
    "name": "São Paulo, Sao Paulo, Brazil",
    "cc": "BR",
    "geoid": 3448439,
    "geo": "geoname",
    "geonameid": 3448439,
    "asciiname": "Sao Paulo",
    "admin1": "Sao Paulo",
    "population": 10021295
  },
  "times": {
    "chatzotNight": {
      "2021-01-15": "2021-01-15T00:16:00-03:00",
      "2021-01-16": "2021-01-16T00:16:00-03:00",
      "2021-01-17": "2021-01-17T00:17:00-03:00",
      "2021-01-18": "2021-01-18T00:17:00-03:00"
    },
    "alotHaShachar": {
      "2021-01-15": "2021-01-15T04:18:00-03:00",
      "2021-01-16": "2021-01-16T04:19:00-03:00",
      "2021-01-17": "2021-01-17T04:20:00-03:00",
      "2021-01-18": "2021-01-18T04:21:00-03:00"
    },
    "misheyakir": {
      "2021-01-15": "2021-01-15T04:41:00-03:00",
      "2021-01-16": "2021-01-16T04:42:00-03:00",
      "2021-01-17": "2021-01-17T04:43:00-03:00",
      "2021-01-18": "2021-01-18T04:44:00-03:00"
    },
    "misheyakirMachmir": {
      "2021-01-15": "2021-01-15T04:48:00-03:00",
      "2021-01-16": "2021-01-16T04:49:00-03:00",
      "2021-01-17": "2021-01-17T04:50:00-03:00",
      "2021-01-18": "2021-01-18T04:50:00-03:00"
    },
    "dawn": {
      "2021-01-15": "2021-01-15T05:09:00-03:00",
      "2021-01-16": "2021-01-16T05:09:00-03:00",
      "2021-01-17": "2021-01-17T05:10:00-03:00",
      "2021-01-18": "2021-01-18T05:11:00-03:00"
    },
    "sunrise": {
      "2021-01-15": "2021-01-15T05:33:00-03:00",
      "2021-01-16": "2021-01-16T05:34:00-03:00",
      "2021-01-17": "2021-01-17T05:35:00-03:00",
      "2021-01-18": "2021-01-18T05:36:00-03:00"
    },
    "sofZmanShma": {
      "2021-01-15": "2021-01-15T08:55:00-03:00",
      "2021-01-16": "2021-01-16T08:55:00-03:00",
      "2021-01-17": "2021-01-17T08:56:00-03:00",
      "2021-01-18": "2021-01-18T08:56:00-03:00"
    },
    "sofZmanShmaMGA": {
      "2021-01-15": "2021-01-15T08:19:00-03:00",
      "2021-01-16": "2021-01-16T08:19:00-03:00",
      "2021-01-17": "2021-01-17T08:19:00-03:00",
      "2021-01-18": "2021-01-18T08:20:00-03:00"
    },
    "sofZmanTfilla": {
      "2021-01-15": "2021-01-15T10:02:00-03:00",
      "2021-01-16": "2021-01-16T10:02:00-03:00",
      "2021-01-17": "2021-01-17T10:03:00-03:00",
      "2021-01-18": "2021-01-18T10:03:00-03:00"
    },
    "sofZmanTfillaMGA": {
      "2021-01-15": "2021-01-15T09:38:00-03:00",
      "2021-01-16": "2021-01-16T09:38:00-03:00",
      "2021-01-17": "2021-01-17T09:38:00-03:00",
      "2021-01-18": "2021-01-18T09:39:00-03:00"
    },
    "chatzot": {
      "2021-01-15": "2021-01-15T12:16:00-03:00",
      "2021-01-16": "2021-01-16T12:16:00-03:00",
      "2021-01-17": "2021-01-17T12:17:00-03:00",
      "2021-01-18": "2021-01-18T12:17:00-03:00"
    },
    "minchaGedola": {
      "2021-01-15": "2021-01-15T12:50:00-03:00",
      "2021-01-16": "2021-01-16T12:50:00-03:00",
      "2021-01-17": "2021-01-17T12:50:00-03:00",
      "2021-01-18": "2021-01-18T12:50:00-03:00"
    },
    "minchaKetana": {
      "2021-01-15": "2021-01-15T16:11:00-03:00",
      "2021-01-16": "2021-01-16T16:11:00-03:00",
      "2021-01-17": "2021-01-17T16:11:00-03:00",
      "2021-01-18": "2021-01-18T16:11:00-03:00"
    },
    "plagHaMincha": {
      "2021-01-15": "2021-01-15T17:35:00-03:00",
      "2021-01-16": "2021-01-16T17:35:00-03:00",
      "2021-01-17": "2021-01-17T17:35:00-03:00",
      "2021-01-18": "2021-01-18T17:35:00-03:00"
    },
    "sunset": {
      "2021-01-15": "2021-01-15T18:59:00-03:00",
      "2021-01-16": "2021-01-16T18:58:00-03:00",
      "2021-01-17": "2021-01-17T18:58:00-03:00",
      "2021-01-18": "2021-01-18T18:58:00-03:00"
    },
    "dusk": {
      "2021-01-15": "2021-01-15T19:23:00-03:00",
      "2021-01-16": "2021-01-16T19:23:00-03:00",
      "2021-01-17": "2021-01-17T19:23:00-03:00",
      "2021-01-18": "2021-01-18T19:23:00-03:00"
    },
    "tzeit7083deg": {
      "2021-01-15": "2021-01-15T19:29:00-03:00",
      "2021-01-16": "2021-01-16T19:29:00-03:00",
      "2021-01-17": "2021-01-17T19:28:00-03:00",
      "2021-01-18": "2021-01-18T19:28:00-03:00"
    },
    "tzeit85deg": {
      "2021-01-15": "2021-01-15T19:36:00-03:00",
      "2021-01-16": "2021-01-16T19:35:00-03:00",
      "2021-01-17": "2021-01-17T19:35:00-03:00",
      "2021-01-18": "2021-01-18T19:35:00-03:00"
    },
    "tzeit42min": {
      "2021-01-15": "2021-01-15T19:41:00-03:00",
      "2021-01-16": "2021-01-16T19:40:00-03:00",
      "2021-01-17": "2021-01-17T19:40:00-03:00",
      "2021-01-18": "2021-01-18T19:40:00-03:00"
    },
    "tzeit50min": {
      "2021-01-15": "2021-01-15T19:49:00-03:00",
      "2021-01-16": "2021-01-16T19:48:00-03:00",
      "2021-01-17": "2021-01-17T19:48:00-03:00",
      "2021-01-18": "2021-01-18T19:48:00-03:00"
    },
    "tzeit72min": {
      "2021-01-15": "2021-01-15T20:11:00-03:00",
      "2021-01-16": "2021-01-16T20:10:00-03:00",
      "2021-01-17": "2021-01-17T20:10:00-03:00",
      "2021-01-18": "2021-01-18T20:10:00-03:00"
    }
  }
}

Hebcal 2020 year-end updates

At the conclusion of Gregorian year 2020, we’d like to express our thanks and gratitude to all of our Hebcal.com users. Our mission is to increase awareness of Jewish holidays and to help Jews to be observant of the mitzvot, and many of you have been visiting our site for calendar updates and Hebrew date conversion for years.

Here is a summary of updates we’ve made to Hebcal.com during the past 6 months.

Yahrzeit, Birthday and Anniversary calendar

We now offer annual email reminders for our Yahrzeit, Birthday and Anniversary calendar. After entering and confirming your email address, you will receive a reminder email 7 days before each anniversary. Our email privacy policy is the same as for our Shabbat weekly email list: We will never sell or give your email address to anyone. We will never use your email address to send you unsolicited offers.

In addition, Yahrzeit and anniversary calendar downloads for Apple, Google & Outlook now support more than 3 names. Just click the “+ Add another name” button to create another row and enter the additional details.

Zmanim (halachic times)

In August 2020 we updated our solar calculation engine, which has enabled several new features:

Havdalah can now be calculated according to tzeit hakochavim, the point when 3 small stars are observable in the night time sky with the naked eye. The new default Havdalah option is calculated when the sun is 8.5° below the horizon. This option is an excellent default for most places on the planet. We still offer the option to use a fixed number of minutes past sundown (e.g. 42 min for three medium-sized stars, 50 min for three small stars, 72 min for Rabbeinu Tam) which works well for Israel, most of the USA and Europe.

Fast start and end times are now provided for major fast (Tish’a B’Av) and minor fasts (Ta’anit Esther, Tzom Gedaliah, Tzom Tammuz, Asara B’Tevet, & Ta’anit Bechorot). Minor fasts begin at alot hashachar (when the sun is 16.1° below the horizon in the morning) and end when 3 medium-sized stars are observable in the night sky (when the sun is 7.083° below the horizon in the evening). Tish’a B’Av fast begins at sundown and ends when 3 medium-sized stars are observable.

Chanukah candle-lighting has been updated to occur at dusk on weekdays (when the sun is 6° below the horizon in the evening). To avoid any conflict with Shabbat, candle-lighting times for Chanukah on Friday night are 18 minutes before sundown (same as regular Shabbat candle-lighting) and at regular Havdalah time on Saturday night.

Language support

Earlier in December, we added Spanish language support for event title translations and transliterations. Hebcal now supports the following languages:

  • Sephardic transliterations
  • Ashkenazis transliterations
  • Hebrew – עברית
  • Spanish – español
  • French – français
  • Russian – ру́сский язы́к
  • Polish – język polski
  • Finnish – Suomalainen
  • Hungarian – Magyar nyelv
  • Sephardic translit. + Hebrew
  • Ashkenazis translit. + Hebrew

These languages are fully supported on the Custom Calendar generator and its associated export formats (Apple, Google, iCalendar, CSV, Print PDF) and the printable Candle-lighting Times Year at a Glance (“refrigerator times”) page.

Torah Readings

Holiday Torah readings are now included in the description/memo section of Apple, Google, & Outlook calendar feeds and our downloadable Torah reading spreadsheets (aliyah-by-aliyah breakdown especially useful for synagogue or minyan leyning coordinators). Previously only regular Shabbat Torah readings were included.

Aliyot for special Shabbatot that include three Sifrei Torah have been improved. We read from three Sifrei Torah when Rosh Chodesh coincides with Shabbat HaCodesh, Shabbat Shekalim or Shabbat Chanukah. Although some minyanim have the custom of reading 8 aliyot, we now take the more common approach of including the typical 7 aliyot for Shabbat. The 1st Sefer Torah is for regular Torah reading (aliyot 1-6), the 2nd Sefer Torah is read for the 7th aliyah for Rosh Chodesh (Numbers 28:9-15) and the 3rd Sefer Torah is read for the maftir aliyah (the special Shabbat).

Triennial Torah reading is now supported for Hebrew years 5745 through 5830 (Gregorian years 1984 – 2070).

Parsha detail pages now take into consideration the differences between the Israel and Diaspora sedra schemes. For example, in the year 5782 Parashat Achrei Mot is read on April 30, 2022 in the Diaspora and on April 23, 2022 in Israel.

Miscellaneous

Hebrew Date Converter now lists holidays and Parsha HaShavuah for any date from the year 0001-9999. Previously it converted dates but only mentioned holidays & parsha for years 1900-2099.

When the 9th of Av falls on Shabbat and the Tish’a B’Av fast is postponed to the 10th, the calendar event now says “Tish’a B’Av (observed)”.

The Hebrew typeface used on the website is now SBL Hebrew Font (copyright Society of Biblical Literature and Tiro Typeworks). This typeface is a more traditional serif style, which improves legibility.

We have discontinued support for Palm DateBook Archive calendar downloads.

How accurate are candle lighting times?

Candle-lighting and Havdalah times are derived from sunset times, which are approximated from a location (latitude, longitude) and day of year. As of August 2020, Hebcal.com calculates zmanim (halachic times) using an algorithm published by the US National Oceanic and Atmospheric Administration. The NOAA solar calculator is based on equations from Astronomical Algorithms by Jean Meeus.

The sunrise and sunset results are theoretically accurate to within a minute for locations between +/- 72° latitude, and within 10 minutes outside of those latitudes. However, due to variations in atmospheric composition, temperature, pressure and conditions, observed values may vary from calculations.

Solar Calculation Details, NOAA

Differences of 1-2 minutes between Hebcal and other sources publishing candle lighting times or sunset times are expected. Remember that candle lighting times can only be approximated based on location.

Here are a few common reasons why you may see differences in candle lighting times:

1. Different minhag on when to light candles

Hebcal defaults to 18 minutes before sundown for most locations (notable exceptions include 40 minutes before sundown for Jerusalem, 30 minutes for Haifa). Other sources may use 20 minutes before sundown. Hebcal gives an option to specify a different number of minutes before sunset if you don’t follow the 18-minute minhag.

2. Different sunrise/sunset calculation engines

The sunset calculator we use on Hebcal.com as of August 2020 uses an algorithm published by the US National Oceanic and Atmospheric Administration. Hebcal’s NOAA algorithm is implemented in JavaScript using double-precision floating point arithmetic. Other sources may use a slightly different algorithm, for example from the United States Naval Observatory (USNO).

Even if the other source also uses the NOAA algorithm, the implementation could differ slightly; there are many constants and opportunities to round and truncate which could result in slight differences in the final calculated sunset time for a given day and location. For example, in December 2023, Hebcal switched to a different NOAA implementation that optionally supports elevation (more on this below). Even when the elevation feature is disabled, this alternate calculation engine resulted in small differences (often less than 10 seconds) versus Hebcal’s previous NOAA engine.

3. Different latitude/longitude definitions for a given city

Since 2013, Hebcal.com has been using lat/long definitions from GeoNames.org, which is available under a Creative Commons license. For the USA, we purchase a commercial ZIP code database from zip-codes.com that provides latitude and longitude for the “center” of each zipcode. For very large cities, the sunset at the east side of the city might be a minute earlier than the west side of the city.

4. Deliberate rounding down (or up)

Hebcal rounds candle lighting (Friday) times down to the nearest minute, and rounds Havdalah times up to the nearest minute. To be more precise, we use the floor minute for candle-lighting, and we use the standard mathematical rounding rule for Havdalah. The idea here is that it’s better to display candle-lighting time as much as 59 seconds earlier than strictly necessary, and for Havdalah it’s better to wait an additional 30 seconds to end Shabbat/yontiff.

For example, if the exact candle lighting time from the sunset engine (including seconds) was at 20:02:31 or even 20:02:59, Hebcal displays candle-lighting as 20:02.

On the other hand, if the Havdalah calculation is 21:17:29, Hebcal will display 21:17. If it were 21:17:30 through 21:17:59, Hebcal displays 21:18.

5. Havdalah minutes past sundown versus sun degrees below horizion

As of August 2020, options for Havdalah times have also changed. Hebcal now offers an option to use tzeit hakochavim, the point when 3 small stars are observable in the night sky with the naked eye (sun 8.5° below the horizon). This option is an excellent default for most places on the planet. We also offer the option to use a fixed number of minutes past sundown. Typically one would enter 42 min for three medium-sized stars, 50 min for three small stars, 72 min for Rabbeinu Tam, or 0 to suppress Havdalah times.

6. Elevation above sea level

As of December 2023, the Hebcal sunrise/sunset algorithm has been enhanced to optionally include the elevation of the location. If selected, Hebcal will include the city’s elevation in the calculation of all sunrise/sunset based zmanim. Elevation will affect the result only for calculations that are a fixed number of minutes before or after sunrise/sunset.

For cities at a high elevation (for example Denver Colorado or Mexico City), including elevation above sea level can change the estimated sunset time by as much as 7 minutes. If you want to learn more, our friends at KosherJava have a short article entitled How Much Earlier is Sunrise on Mount Everest Due to Elevation?

Degree-based zmanim (for example the “nightfall” option for Havdalah, or the start time of minor fasts at Alot haShachar) are driven by the amount of light in the sky and are therefore not impacted by elevation.

To enable the elevation option, select the “Include elevation in sunrise/sunset estimate” radio button as displayed in the screenshot below:

Conclusion

Lastly, remember that the NOAA algorithm can only approximate the candle-lighting times for your location. If you ever have any doubts about Hebcal’s times, consult your local halachic authority.