Gold melt value calculator
Ten grams of 18-karat gold at 80 per gram contain 7.5 grams of fine gold and melt for 600. Enter the weight, the karat stamp and your own spot quote to see the metal value of a ring, chain or coin before you sell. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Weight g
- 10
- Karat
- 18
- Spot price
- 80
- Purity fraction
- 0.75
- Fine gold g
- 7.5
- Melt value
- 600
Gold melt value is the theoretical cash a refiner, pawn counter, or bullion desk would pay if a piece were reduced to its fine-gold content and marked at a stated spot. Three numbers fix that mark: the item's weight in grams, its purity in karats on the twenty-four-karat scale, and a gold spot price per gram that you supply. This gold melt calculator multiplies weight by karat over twenty-four to recover the fine-gold mass, then multiplies that mass by the spot to produce the melt value in the same currency as the quote. You supply the spot; there is no live feed, no assay, and no network.
What gold melt value is and how fine-gold mass is recovered from karats
Melt value is not a retail jewelry tag and it is not an insurance replacement figure. It is the metal mark: what the piece would be worth if it were melted, refined to fine gold, and sold at a stated spot. On the jewelry scale, twenty-four karat is pure gold.
An eighteen-karat piece is eighteen parts gold in twenty-four, so its purity fraction is eighteen divided by twenty-four, which is three quarters. Fine-gold mass is the item weight in grams times that fraction. Melt value is that fine-gold mass times the spot price per gram you supply.
Ten grams of eighteen-karat gold at eighty currency units per gram therefore contain seven and a half grams of fine gold and melt for six hundred. Fourteen-karat, twenty-two-karat, and nine-karat hallmarks use the same scale: the karat number is the numerator, twenty-four is the denominator, and nothing else (no making charge, no gem deduction, no dealer spread) enters the formula.
You still have to weigh the metal honestly and you still have to know the karat stamp or assay; this calculator does not weigh a ring or read a hallmarks database. Karat may be fractional (some workshops pour eighteen-and-a-half) but it may not exceed twenty-four, because a purity above pure gold is physically meaningless. A karat of zero is a piece with no gold and a melt of zero.
Weight must be strictly positive so an empty item cannot be valued as a success. Spot price may be zero (a total wipe-out of the metal mark) but it may not be negative.
Where a gold melt calculator earns its keep
Pawn counters, estate inventories, and jewelry workshops need a live gold melt value calculator that turns a weigh-in and a karat stamp into a metal mark without forcing visitors to paste a spreadsheet. Educators teaching hallmarks can seed classroom examples that show how an eighteen-karat band and a twenty-two-karat coin of the same gram weight diverge only by the karat fraction, without standing up a bullion-data vendor. Failed validation does not consume balance.
Keep weight positive, keep karat at or below twenty-four, pin the rounded money field in tests, and you get reproducible melt marks for widgets, LMS modules, and edge workers without a live gold feed of your own.
What you can do with it
Pawn and scrap gold quotes
Weigh a chain or ring in grams, enter the karat stamp, and apply today’s spot per gram to see the theoretical melt before any dealer spread or stone deduction.
Estate and inventory metal marks
Mark each hallmarked lot at a supplied spot so an estate worksheet or shop inventory shows fine-gold grams and melt value without a live bullion feed.
Workshop costing of karat stock
Convert leftover 14k, 18k, or 22k stock into a melt figure at the same per-gram quote you use for new metal, so leftover value is comparable across karats.
FAQ
How is gold melt value calculated?
Fine gold is weight times karat divided by 24; melt value is that fine-gold mass times the spot.
Does this fetch a live gold spot price?
There is no ticker lookup and no network, so results stay deterministic for tests and offline widgets.
Why must weight be in grams?
Convert troy ounces or pennyweights to grams first; mixing units would silently mis-state the melt.
Is melt value what a jeweler or pawn shop will pay me?
Not necessarily. Melt value is the worth of the pure gold alone at the spot you enter. It is not a retail price or an insurance figure, and it leaves out making charges, gemstones and the buyer's margin, so offers usually differ.
What happens if I enter more than 24 karats?
The calculation is refused. On the jewelry scale 24 karat is pure gold, so a higher number is not a purity at all. Fractional karats below that limit are fine, and zero karat simply gives a melt value of zero.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/fin/gold-melt \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"weight_g":10,"karat":18,"spot_price":80}'const res = await fetch("https://api.kit.forhosting.com/fin/gold-melt", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"weight_g": 10,
"karat": 18,
"spot_price": 80
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/gold-melt",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"weight_g": 10,
"karat": 18,
"spot_price": 80
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/gold-melt", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"weight_g":10,"karat":18,"spot_price":80}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"weight_g":10,"karat":18,"spot_price":80}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/gold-melt", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"weight_g": 10,
"karat": 18,
"spot_price": 80
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.gold_melt",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Karat purity may not exceed twenty-four: twenty-four karat is chemically pure gold, so a higher figure is not a purity at all and the task fails with invalid_input instead of inventing a melt.
What gold melt value is and how fine-gold mass is recovered from karats
The same identity is written melt_value equals weight_g times karat over twenty-four times spot_price.
Input contract, response shape, and error behaviour
If karat exceeds twenty-four the task fails with a message that karat exceeds 24 — those failures are not billed, because a purity above pure gold is not a melt problem, it is bad input. Weights above one billion grams or spots above one billion currency units per gram are rejected as overflow guards. Example: ten grams at eighteen karat and a spot of eighty yield purity fraction zero point seven five, fine gold seven point five grams, and melt value six hundred. A twenty-four-karat bar of one gram at one hundred per gram yields purity one, fine gold one gram, and melt one hundred. POST a JSON body with three required finite numbers: weight_g (strictly greater than zero, always in grams; aliases weight, grams, mass), karat (from zero through twenty-four inclusive; aliases karats, kt, purity), and spot_price (greater than or equal to zero, per gram in your currency; aliases price, price_per_gram, spot, gold_price). Each field may arrive as a JSON number or as a numeric string. Missing fields, empty strings, and non-finite values fail with invalid_input naming the field. If weight_g is zero or negative the request fails because there is no item to mark. If spot_price is negative the request fails because a metal quote cannot be negative in this model. On success the body echoes the three inputs and returns purity_fraction (karat divided by twenty-four), fine_gold_g (weight times that fraction), melt_value (fine gold times spot), and a formula string restating the identity. Pair the metal mark with your own stone-weight deduction or dealer-spread table if you need a pawn offer; this endpoint values the gold only and does not emit assays, stone weights, or charts.
Where a gold melt calculator earns its keep
Scrap desks can call the same pure module from the browser for a free preview and from the API when storing lots, so the melt a customer saw on a landing page matches the melt stored after they save a ticket. The contract is deliberately small: three numbers in, melt value out, so clients can wrap it in their own scale readers and hallmark pickers without fighting hidden state or a spot-price API.
Technical questions
What happens if karat is above 24?
The task fails with invalid_input because karat exceeds 24. Twenty-four karat is pure gold, so a higher purity is not a melt problem and the request is not billed.
What does the gold melt calculator cost?
The browser tool is free. API requests use prepaid balance at $0.002 per successful call; invalid input is not billed.