:::note
**TL;DR**
- Vikram Samvat predates the Gregorian year by about 57 years (subtract 57 for Chaitra to Phalguna in amanta reckoning, sometimes 56 in purnimanta near year boundaries).
- The chart endpoint requires Gregorian `date`, `time`, `latitude`, `longitude`, `timezone`. Convert before calling, never after.
- Adhika masa (intercalary lunar month) and kshaya masa (omitted lunar month) shift the mapping by a full month and must be checked against an authoritative panchang for the input year.
- Validate the converted Gregorian date against `POST /vedic-astrology/panchang/basic` and verify the returned tithi and paksha match the user input before generating the kundli.
:::

A large share of users from India and Nepal know their birth date as something like "Magha Shukla Panchami, Vikram Samvat 2050," not "1994-01-16." Family records and birth certificates often carry only the Hindu lunar form. When that user opens a kundli app the form expects a Gregorian date, time, and location. This guide walks through the algorithmic mapping, the two intercalation edge cases that shift the result by a full month, and the regional new-year variants that change which Vikram Samvat year a date belongs to.

## Why some Vedic users only know their Vikram Samvat date

Vikram Samvat is the official civil calendar of Nepal and the dominant ritual calendar across north and central India, used for temple records, wedding invitations, and family birth registers. A user born in a village in Bihar or a town in Madhya Pradesh in the 1960s or 1970s often has only the lunar-month-and-tithi memory of their birth, because the Gregorian date was never recorded. In Nepal government documents, school records, and citizenship certificates run on Bikram Sambat (the Nepali rendering of Vikram Samvat). Converting to Gregorian for an English-language astrology app is the user-side problem.

Ready to build this? [Vedic Astrology API](/products/vedic-astrology-api "production-ready Vedic Astrology API with kundli, panchang, dasha, and KP charts") gives you panchang validation and birth-chart generation behind one key. [See pricing](/pricing "RoxyAPI pricing tiers").

## How Vikram Samvat months map to Gregorian

Vikram Samvat runs roughly 56 to 57 years ahead of the Gregorian year. The exact offset depends on which Vikram Samvat lunar month the date falls in and which regional reckoning the user follows. The 12 lunar months are Chaitra, Vaishakha, Jyeshtha, Ashadha, Shravana, Bhadrapada, Ashwin, Kartik, Margashirsha, Pausha, Magha, and Phalguna, in that order from the Chaitra-start (amanta) calendar used in Maharashtra, Karnataka, and Andhra Pradesh. Each lunar month is split into two pakshas (fortnights): Shukla Paksha (waxing, tithi 1 to 15) and Krishna Paksha (waning, tithi 16 to 30, often renumbered 1 to 15 in everyday speech).

The base offset rule is: subtract 57 from the Vikram Samvat year for amanta reckoning. Purnimanta (north Indian) reckoning starts the lunar month at the full moon, not the new moon, so Krishna Paksha precedes Shukla Paksha within the same named month. The same calendar dates for late Pausha or Magha can fall under a different month name than they would in amanta. For purnimanta dates near the year boundary (Chaitra Krishna in north India), subtract 56 because the Krishna fortnight before Chaitra Shukla 1 still belongs to the previous Vikram Samvat year.

:::accordion Per-month conversion ranges (amanta reckoning, current era)
### Chaitra
Late March to mid April. Chaitra Shukla 1 is the lunisolar new year. VS 2082 Chaitra Shukla 1 falls on 2025-03-30.

### Vaishakha
Mid April to mid May. Vaisakhi (Punjab solar new year) typically falls on Vaishakha Krishna 1 or 2.

### Jyeshtha
Mid May to mid June. Jyeshtha Purnima is the full moon closest to the summer solstice in Indian latitudes.

### Ashadha
Mid June to mid July. Ashadha Shukla Ekadashi is Devshayani Ekadashi, Ashadha Purnima is Guru Purnima.

### Shravana
Mid July to mid August. Includes Raksha Bandhan (Shravana Purnima) and Shravana Mondays for Shiva worship.

### Bhadrapada
Mid August to mid September. Ganesh Chaturthi falls on Bhadrapada Shukla 4.

### Ashwin
Mid September to mid October. Sharad Navratri runs Ashwin Shukla 1 to 9, Vijayadashami on Ashwin Shukla 10.

### Kartik
Mid October to mid November. Diwali falls on Kartik Amavasya. Gujarati Vikram Samvat increments at Kartik Shukla 1 (Bestu Varas).

### Margashirsha (Agahan)
Mid November to mid December. Vivaha Panchami falls on Margashirsha Shukla 5.

### Pausha
Mid December to mid January. Cold-season month in north India. Pausha Krishna Amavasya often coincides with Makara Sankranti.

### Magha
Mid January to mid February. Vasant Panchami falls on Magha Shukla 5. Maha Shivaratri falls on Magha Krishna 14 (purnimanta).

### Phalguna
Mid February to mid March. Holi falls on Phalguna Purnima and Phalguna Krishna 1. Phalguna Amavasya closes the lunar year in amanta.
:::

Worked example. A user reports their birth as Magha Shukla Panchami, Vikram Samvat 2050. Magha runs roughly mid January to mid February. Cross-reference an authoritative panchang for VS 2050 Magha. Magha Shukla Panchami in VS 2050 corresponds to 1994-01-16. The conversion is deterministic only when paired with a panchang lookup, because lunar months drift relative to Gregorian by 11 days per year before the next intercalation correction.

## What adhika masa does to the conversion

Adhika masa is a leap month inserted into the lunar calendar roughly every 32 to 33 months to keep the lunar year aligned with the solar year. The rule that triggers it is mechanical: when two amavasyas (new moons) fall within the same solar month (between two consecutive sankrantis), the second lunar month is named the adhika masa and carries the same name as the natural month that follows it. The result is two consecutive lunar months with the same name, distinguished as Adhika and Nija (or Shuddha). Practitioners treat Adhika as a spiritually significant month for vrata and japa, but for chart-input purposes it shifts every subsequent date in the lunar year by one full month against the Gregorian calendar.

:::warning Adhika masa shifts the conversion by a full month
If a user born in VS 2061 reports Bhadrapada Shukla Ashtami and the year had Adhika Bhadrapada, ask which Bhadrapada (Adhika or Nija). Adhika Bhadrapada VS 2061 ran roughly 2004-08-17 to 2004-09-15, while Nija Bhadrapada ran 2004-09-16 to 2004-10-13. Picking the wrong one gives a kundli with the wrong nakshatra, wrong dasha, and wrong navamsa. Always validate against `POST /vedic-astrology/panchang/basic` after conversion.
:::

Kshaya masa is the rarer mirror case: a lunar month is omitted because no sankranti falls inside it. Kshaya masa happens once every 19 to 141 years and is always paired with two adhika masas in the same year to keep the calendar balanced. Historical charts (a grandparent born in 1963 or 1982) can land on a kshaya year. Treat any conversion that disagrees with the panchang validation as a candidate kshaya or adhika edge case and surface a confirmation prompt.

## How to ingest Vikram Samvat input safely

The safe ingestion pattern is a three-step pipeline: collect the Hindu calendar input, convert to a candidate Gregorian date, then validate against the panchang endpoint before generating the kundli. The chart endpoint accepts only Gregorian inputs (`date` as YYYY-MM-DD, `time` as HH:MM:SS, plus `latitude`, `longitude`, `timezone`), so the conversion has to happen client-side or in your own service layer. The validation step is non-negotiable for adhika and kshaya years, and is good hygiene even for clean years because it surfaces user data-entry errors before they corrupt a kundli reading.

:::tabs
### Hindu-calendar-aware input form
```html
<form>
  <label>Vikram Samvat year <input type="number" name="vsYear" min="2000" max="2100"></label>
  <label>Lunar month
    <select name="masa">
      <option>Chaitra</option><option>Vaishakha</option><option>Jyeshtha</option>
      <option>Ashadha</option><option>Shravana</option><option>Bhadrapada</option>
      <option>Ashwin</option><option>Kartik</option><option>Margashirsha</option>
      <option>Pausha</option><option>Magha</option><option>Phalguna</option>
    </select>
  </label>
  <label>Adhika masa? <input type="checkbox" name="adhika"></label>
  <label>Paksha
    <select name="paksha"><option>Shukla</option><option>Krishna</option></select>
  </label>
  <label>Tithi <input type="number" name="tithi" min="1" max="15"></label>
  <label>Birth time (HH:MM, local) <input type="time" name="time"></label>
  <label>Birth city <input type="text" name="city"></label>
</form>
```

### Raw Gregorian fallback
```html
<form>
  <label>Birth date <input type="date" name="date"></label>
  <label>Birth time <input type="time" name="time"></label>
  <label>Birth city <input type="text" name="city"></label>
</form>
```
:::

The developer flow is four calls. First, geocode the birth city via `GET /location/search?q={city}` to obtain `latitude`, `longitude`, and `timezone`. Second, run your local Vikram-Samvat-to-Gregorian conversion. Third, validate the converted date by calling [`POST /vedic-astrology/panchang/basic`](/api-reference#tag/vedic-astrology/POST/vedic-astrology/panchang/basic "panchang validation endpoint") with the candidate Gregorian date and the user-reported time, and confirm `tithi.number`, `tithi.paksha`, and `nakshatra.name` match. Fourth, call `POST /vedic-astrology/birth-chart` with the validated inputs.

```bash
curl -s -X POST https://roxyapi.com/api/v2/vedic-astrology/panchang/basic \
  -H "X-API-Key: $ROXY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"1994-01-16","time":"06:30:00","latitude":28.6139,"longitude":77.209,"timezone":5.5}'
```

The response includes `tithi.number` (1 to 30), `tithi.paksha` (Shukla or Krishna), `nakshatra.name`, `yoga.name`, and `karana.name`. If the user reported Magha Shukla Panchami and the response returns `tithi.number: 5, tithi.paksha: "Shukla"`, the conversion is verified. A tithi 6 or paksha Krishna response indicates a one-day or one-paksha drift, often caused by a sunrise-versus-midnight tithi boundary or an undeclared adhika masa.

## Which regional calendar starts to handle

Regional new-year conventions matter because they decide which Vikram Samvat year a borderline date belongs to. A user reporting Kartik Shukla 1 might mean the start of Vikram Samvat 2082 (Gujarati reckoning) or simply the Kartik fortnight inside Vikram Samvat 2081 (everywhere else). Without asking the region you risk subtracting 57 from the wrong year. The five major regional starts and their rules are listed below. Pin one to the user during onboarding (a single dropdown for "which calendar do you use") and store the answer with the birth record so re-conversions stay consistent.

| Region | New-year date | Reckoning system | Notes |
|--------|--------------|------------------|-------|
| Maharashtra, Karnataka, Andhra Pradesh, Telangana | Chaitra Shukla 1 | Amanta lunisolar | Gudi Padwa (Maharashtra), Ugadi (Karnataka, Andhra Pradesh, Telangana). Vikram Samvat year increments here. |
| Gujarat | Kartik Shukla 1 | Amanta lunisolar | Bestu Varas (Diwali Padwa). Gujarati Vikram Samvat year increments at Kartik Shukla 1, not Chaitra Shukla 1. |
| North India (UP, Bihar, MP, Rajasthan) | Chaitra Shukla 1 | Purnimanta lunisolar | Same year-increment as Maharashtra but with purnimanta month boundaries (full moon to full moon). |
| Tamil Nadu, Kerala | Mesha Sankranti (mid April) | Solar (Tamil and Malayalam) | Puthandu (Tamil), Vishu (Kerala). Solar calendar uses Tamil months and Kollam Era, not Vikram Samvat. |
| Punjab | Mesha Sankranti (mid April) | Solar (Bikrami solar) | Vaisakhi. Punjab uses solar Bikrami alongside lunar Vikram Samvat for religious dates. |
| Bengal, Odisha | Mesha Sankranti (mid April) | Solar (Bengali and Odia) | Pohela Boishakh (Bengal), Pana Sankranti (Odisha). Bengali San and Odia Panji are separate from Vikram Samvat. |
| Nepal | Chaitra Shukla 1 (Bikram Sambat) | Amanta lunisolar | Nepali New Year is on Baisakh 1 in the Bikram Sambat solar year, mid April. The lunar Vikram Samvat year increments at Chaitra Shukla 1. |

For ritual queries the region matters; for chart queries, once you have the validated Gregorian date and time the kundli is region-independent. The region question matters only at conversion time, not at chart-generation time. For a deeper walk through tithi, nakshatra, yoga, and karana semantics see the [panchang explainer](/blogs/panchang-hindu-calendar-tithi-nakshatra-yoga-karana-guide "Panchang Hindu calendar tithi nakshatra yoga karana guide"). Methodology and verification details for the underlying calculations live on the [methodology page](/methodology "RoxyAPI calculation methodology and accuracy verification").

## FAQ

**What is Vikram Samvat?**

Vikram Samvat is the Hindu lunisolar calendar attributed to King Vikramaditya, used as the civil and religious calendar across India and Nepal. It runs roughly 57 years ahead of the Gregorian calendar. A date like Vikram Samvat 2082 Chaitra Shukla 1 corresponds to a specific Gregorian date determined by the lunar month, tithi, paksha, and regional reckoning.

**How do I convert a Vikram Samvat date to Gregorian?**

Identify the lunar month, paksha (Shukla or Krishna), and tithi (1 to 15 within paksha). Subtract 57 from the Vikram Samvat year for amanta reckoning, 56 for purnimanta dates near the year boundary. Look up the Gregorian date in a panchang reference for that year, then validate by calling the panchang endpoint and confirming the returned tithi and paksha match the user input.

**When is adhika masa and how does it affect the conversion?**

Adhika masa is the intercalary lunar month inserted roughly every 32 to 33 months when two new moons fall within a single solar month between sankrantis. The intercalary month carries the same name as the following natural month, distinguished as Adhika versus Nija. Picking the wrong one shifts the kundli by a full lunar month and produces an incorrect nakshatra, dasha, and chart.

**What is kshaya masa?**

Kshaya masa is the omitted lunar month, the rarer counterpart to adhika masa. It happens when no sankranti falls within a lunar month, causing one named month to be skipped that year. Kshaya years occur once every 19 to 141 years and are always paired with two adhika masas to balance the calendar.

**Why does my converted Gregorian date not match the panchang endpoint?**

Three common causes. One, purnimanta versus amanta month-name confusion shifts the date by a full fortnight near the new moon. Two, the year had an adhika or kshaya masa your conversion table did not account for. Three, the tithi boundary falls across local sunrise, so a tithi considered "today" in panchang practice may astronomically belong to the previous or next Gregorian date.

**Which regional new-year does my user follow?**

Ask explicitly at onboarding. Maharashtra, Karnataka, Andhra Pradesh, Telangana, and Nepal increment Vikram Samvat at Chaitra Shukla 1 (late March or early April). Gujarat increments at Kartik Shukla 1 (Diwali Padwa). Tamil Nadu, Kerala, Punjab, Bengal, and Odisha use separate solar calendars that increment at Mesha Sankranti in mid April. Store the region with the birth record so re-conversions stay consistent.

## Conclusion

Vikram Samvat input is a solved problem when treated as a three-step pipeline: convert with the lunar-month and tithi rules, validate against the panchang endpoint, then call the chart. The two non-trivial cases are adhika masa (one-month shift) and regional new-year reckoning. Pin both at onboarding and store with the birth record. Build the pipeline against the [Vedic Astrology API](/products/vedic-astrology-api "production-ready Vedic Astrology API with kundli, panchang, and dasha endpoints") and the panchang validation step gives a verified Gregorian date before any kundli is rendered.