Skip to content

Bikram Sambat dates

Bikram Sambat (BS) is Nepal’s official calendar. It is solar: each month starts when the Sun enters a sidereal sign, so month lengths vary from 29 to 32 days and change from year to year. There is no formula that gets every year right, which is why Navapatra uses a month-length table checked against the calendars published by the Nepal Panchanga Nirnayak Samiti.

BS is about 56 years and 8 months ahead of AD. BS 2083 Baishakh 1 is 14 April 2026.

Index English Nepali
1 Baishakh वैशाख
2 Jestha जेठ
3 Asar असार
4 Shrawan साउन
5 Bhadra भदौ
6 Ashwin असोज
7 Kartik कात्तिक
8 Mangsir मंसिर
9 Poush पुस
10 Magh माघ
11 Falgun फागुन
12 Chaitra चैत

Dates are always written YYYY-MM-DD with the month as a number, in both calendars: BS 2050 Bhadra 12 is 2050-05-12.

GET/v1/calendar/convert1 creditReference

Pass date and the calendar it is in. The response always has both sides, the weekday and the BS status.

Terminal window
curl "https://api.navapatra.com/v1/calendar/convert?date=2050-05-12&calendar=BS&include=nepalSambat" \
-H "Authorization: Bearer $NAVAPATRA_API_KEY"
{
"ad": {
"date": "1993-08-28",
"year": 1993,
"month": 8,
"day": 28,
"weekday": { "index": 6, "name": "Saturday" }
},
"bs": {
"date": "2050-05-12",
"year": 2050,
"month": { "index": 5, "name": "Bhadra" },
"day": 12,
"status": "published",
"text": "12 Bhadra 2050"
},
"nepalSambat": {
"year": 1113,
"month": { "index": 13, "name": "Anala" },
"paksha": { "index": 1, "name": "Thwa" },
"day": 12,
"adhik": true,
"text": "1113 Anala Thwa 12"
},
"meta": { "bsTableVersion": "2026.10.1", "apiVersion": "2026-11-01" }
}

bs.text is ready to display. With lang=ne it reads १२ भदौ २०५०; with lang=ne&numerals=latin it keeps Latin digits.

Every BS date carries a status, and month grids carry bsStatus:

  • published: the year’s month lengths come from the source-cited table of published calendars, which covers BS 1970 through BS 2083 (bsPublishedThrough in GET /v1/meta).
  • projected: every other supported year, before BS 1970 or after BS 2083, comes from an astronomical projection of the Sun’s sign ingresses. A projected month can end up a day longer or shorter than the calendar eventually printed for that year.

Whenever a response contains a projected BS date, its meta also carries bsProjectionVersion, the version of the projection model that produced it. Responses with only published dates leave the field out.

If you store BS dates for projected years, store the AD date and bsProjectionVersion as well, or re-convert when the year is published. Table updates are announced in the changelog and show up as a new bsTableVersion.

Every endpoint uses one window: AD 1900-01-01 to 2100-12-31, which is BS 1956-09-19 to 2157-09-15 (supportedRange in GET /v1/meta). Conversions work for every day in it, in both directions. A BS month grid is served when the whole month lies inside it. Anything outside fails with 422 out_of_range:

{
"type": "https://navapatra.com/docs/errors#out_of_range",
"title": "Out of supported range",
"status": 422,
"detail": "2101-01-01 AD is outside the supported range, AD 1900-01-01 to 2100-12-31 (BS 1956-09-19 to 2157-09-15).",
"code": "out_of_range",
"requestId": "d29da36a-af66-4efd-b954-15aed8501d42"
}

A day that does not exist in a month, such as Bhadra 33, fails with 400 invalid_input and a message giving the month’s real length (BS 2050-5 has 31 days, got day 33).

Any birth input can be given in BS. Set calendar: "BS":

{ "birth": { "calendar": "BS", "date": "2050-05-12", "time": "14:35", "place": { "query": "Pokhara" } } }

The response’s subject.birth has both dates, { "ad": "1993-08-28", "bs": "2050-05-12" }. Every supported birth gets a BS date; for births before BS 1970 (about April 1913) it is projected rather than published, so a 1905 Kathmandu birth returns "bs": "1962-02-02".

Nepal Sambat is the lunar calendar of the Newar community. Add include=nepalSambat to a conversion to get it. It is computed from the lunar month and tithi at sunrise, so it depends on place: Kathmandu by default, or the lat and lng you pass.

  • Months run 1 = Kachhala to 12 = Kaula, with 13 = Anala for the intercalary month (adhik: true).
  • paksha is 1 = Thwa (bright half) or 2 = Ga (dark half), and day is the tithi within it.

Daily panchang includes nepalSambat for every day automatically.

For a calendar view, GET /v1/calendar/month returns every day of a BS month with its AD date, weekday and tithi at sunrise. See Panchang and calendar.