How to Calculate Shipping Charges Between Indian Pincodes (2026 Guide)
Shipping charges in India are driven by five inputs: origin pincode, destination pincode, chargeable weight, service level and payment mode. Here is exactly how couriers compute a quote — and how to automate it.

Every courier quote in India — regardless of carrier — comes down to the same five inputs. Once you understand them, shipping costs stop being a black box, and you can price checkout accurately instead of guessing with flat rates.
The five inputs behind every quote
- Origin pincode — where the parcel ships from.
- Destination pincode — where it is going.
- Chargeable weight — the higher of actual weight and volumetric weight.
- Service level — surface, air, express or same-day.
- Payment mode — prepaid or Cash on Delivery (COD).
Step 1: Resolve the zone
Indian couriers do not price city-to-city; they price zone-to-zone. The origin and destination pincodes are mapped to a lane:
- Within city — same city, cheapest lane
- Within state — different city, same state
- Metro to metro — between major metros (Delhi, Mumbai, Bengaluru, Chennai, Kolkata, Hyderabad…)
- Rest of India — everything else
- Special zones — the North-East and Jammu & Kashmir, priced higher with longer SLAs
A quote from Mumbai (400001) to Pune (411001) rides the within-state lane; Mumbai to Guwahati rides the special-zone lane. Same box, very different price.
Step 2: Compute chargeable weight
Couriers charge for whichever is greater: what the parcel weighs, or how much space it takes.
volumetric weight (kg) = (length × width × height in cm) ÷ 5000
chargeable weight = max(actual weight, volumetric weight)
A 1 kg cushion in a 40×40×40 cm box has a volumetric weight of 12.8 kg — and you pay for 12.8 kg. See our volumetric weight guide for the full math.
Step 3: Apply the freight slab
Each zone has a base rate for the first 500 g and a per-kg step after that. Freight = base + (extra weight × per-kg rate for the zone).
Step 4: Add surcharges
- Fuel surcharge — typically ~12% of freight
- COD fee — a flat component (around ₹35) plus ~1.5% of the order value
- Remote-area fee — a flat addition for hard-to-reach pincodes
- Minimum charge — quotes never fall below a floor value
Step 5: Add GST
18% GST applies on the subtotal. What the customer sees at checkout should be the GST-inclusive figure.
Worked example
A 1.2 kg prepaid parcel, Delhi (110001) → Jaipur (302021), surface:
- Zone: Rest of India (different states, non-metro pair in this lane)
- Chargeable weight: 1.2 kg (volumetric is lower)
- Freight: base ₹79 + 0.7 kg extra ≈ ₹117
- Fuel 12%: ₹14 → subtotal ₹131
- GST 18%: ₹24 → total ≈ ₹155
Automating this
Doing the above by hand for every checkout is impossible — zones change, surcharges change, and the India Post pincode master itself changes daily. A shipping rate API does the whole chain in one call:
POST /v1/rates/calculate
{
"origin": "110001",
"destination": "302021",
"weight_grams": 1200,
"service": "surface",
"payment_mode": "prepaid"
}
The response returns the zone, chargeable weight, each surcharge line and the GST-inclusive total in under 50 ms — accurate to the pincode, not the city. You can try it free with 1,000 calls a month on Postpin.
Frequently asked questions
How are courier charges calculated per kg in India?
Couriers price the first 500 g at a zone base rate and each additional 500 g or 1 kg at a per-kg step rate for that zone. The billed weight is the higher of actual and volumetric weight, so "per kg" pricing really means per kg of chargeable weight on the lane your parcel travels.
Do quoted shipping charges include GST?
Carrier rate cards are usually quoted pre-GST. 18% GST is added on the subtotal (freight plus all surcharges), so always confirm whether a quote is inclusive. Postpin returns both the subtotal and the GST-inclusive total so checkout never guesses.
What is the cheapest way to ship between two pincodes?
Surface mode on the correct zone slab, with packaging sized to keep volumetric weight below actual weight. Most overpayment comes from oversized boxes and flat rates that ignore the lane, not from carrier choice.
