Please enter valid positive numbers for Rate and Weight.
Base Gold Price:₹0
Making Charges (0%):₹0
GST (3%):₹0
Grand Total:₹0
How to Calculate Gold Rates in India
Understanding the final price of gold jewellery in India can be confusing due to the various components added to the base market rate. Whether you are buying for investment or jewellery usage, the calculation generally follows a standard formula used by jewellers across the country (like Tanishq, Malabar, or local merchants).
The standard formula for calculating the final price of gold jewellery is:
Final Price = (Price of Gold x Weight) + Making Charges + GST
Breakdown of Costs
Gold Rate (Per Gram): In India, rates are typically quoted per 10 grams (e.g., ₹72,000). To get the per-gram price, divide this number by 10. Always check if the quoted rate is for 24K (pure gold) or 22K (standard for jewellery).
Weight: The actual weight of the gold in grams. Note that if you are buying studded jewellery, the weight of stones (diamonds, emeralds) should be calculated separately from the gold weight.
Making Charges (VA): This is the cost of labor involved in manufacturing the jewellery. It is usually expressed as a percentage of the gold value. Simple chains might have 8-10% making charges, while intricate bridal sets can go up to 25% or more.
GST (Goods and Services Tax): As per current Indian tax laws, a flat 3% GST is applied to the total value of the gold and making charges.
24K vs. 22K vs. 18K Gold
It is crucial to input the correct rate into the calculator based on the purity you are purchasing:
24K (99.9% Pure): Soft and malleable. Used for coins and bars, rarely for intricate jewellery.
22K (91.6% Pure): The standard for gold jewellery in India. It is durable enough for daily wear.
18K (75.0% Pure): Contains more alloy metals (copper/silver), making it harder. Typically used for diamond and stone-studded jewellery to hold the stones securely.
Example Calculation
If the gold rate today is ₹70,000 per 10 grams, and you want to buy a ring weighing 5 grams with 10% making charges:
Base Price: (₹70,000 / 10) * 5 grams = ₹35,000
Making Charges: 10% of ₹35,000 = ₹3,500
Subtotal: ₹35,000 + ₹3,500 = ₹38,500
GST (3%): 3% of ₹38,500 = ₹1,155
Total Cost: ₹38,500 + ₹1,155 = ₹39,655
function calculateGoldPrice() {
// 1. Get Input Elements
var rateInput = document.getElementById('goldRate10g');
var weightInput = document.getElementById('goldWeight');
var makingInput = document.getElementById('makingCharges');
var gstInput = document.getElementById('gstRate');
var resultsArea = document.getElementById('resultsArea');
var errorDisplay = document.getElementById('errorDisplay');
// 2. Parse Values
var ratePer10g = parseFloat(rateInput.value);
var weight = parseFloat(weightInput.value);
var makingPercent = parseFloat(makingInput.value);
var gstPercent = parseFloat(gstInput.value);
// 3. Validation
if (isNaN(ratePer10g) || isNaN(weight) || ratePer10g <= 0 || weight <= 0) {
errorDisplay.style.display = 'block';
resultsArea.style.display = 'none';
return;
} else {
errorDisplay.style.display = 'none';
}
if (isNaN(makingPercent)) makingPercent = 0;
if (isNaN(gstPercent)) gstPercent = 3; // Default fallback
// 4. Logic Calculation
// Step A: Calculate Price per 1 gram
var ratePerGram = ratePer10g / 10;
// Step B: Calculate Base Gold Cost
var baseGoldCost = ratePerGram * weight;
// Step C: Calculate Making Charges Amount
var makingChargesAmount = baseGoldCost * (makingPercent / 100);
// Step D: Calculate Subtotal (Gold + Making)
var subTotal = baseGoldCost + makingChargesAmount;
// Step E: Calculate GST Amount
var gstAmount = subTotal * (gstPercent / 100);
// Step F: Grand Total
var grandTotal = subTotal + gstAmount;
// 5. Update UI
document.getElementById('displayBasePrice').innerHTML = "₹" + formatMoney(baseGoldCost);
document.getElementById('displayMcPercent').innerText = makingPercent;
document.getElementById('displayMakingCharges').innerHTML = "₹" + formatMoney(makingChargesAmount);
document.getElementById('displayGst').innerHTML = "₹" + formatMoney(gstAmount);
document.getElementById('displayGrandTotal').innerHTML = "₹" + formatMoney(grandTotal);
resultsArea.style.display = 'block';
}
function formatMoney(amount) {
// Indian Number Formatting (e.g., 1,20,000.00)
return amount.toLocaleString('en-IN', {
maximumFractionDigits: 2,
minimumFractionDigits: 2
});
}