Scrap gold calculator
Ten grams of 18-karat gold hold 7.5 grams of pure gold, worth 600 at a quote of 80 per gram. Enter the weight, the karat stamp and the price you were quoted to check a buy-counter offer. 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
- Price per gram
- 80
- Purity fraction
- 0.75
- Fine gold g
- 7.5
- Scrap value
- 600
Scrap gold cash value is the money a buyer, pawn counter, or jewelry desk will mark for a piece once its gold content is priced at a given quote for pure metal. Three numbers fix that offer: the item's weight in grams, its purity in karats on the twenty-four-karat scale, and a price per gram of pure gold that you supply. This scrap gold calculator multiplies weight by karat over twenty-four to recover the fine-gold mass, then multiplies that mass by the pure-gold price to produce the cash value in the same currency as the quote. You supply the gold price; there is no live feed, no assay, and no network.
What scrap gold cash value is and how karats recover fine-gold mass
Scrap gold cash value is not a boutique sticker and it is not an insurance replacement number. It is the metal offer a buy-counter, pawn desk, or refiner-adjacent buyer will quote when a broken chain, a worn ring, a dental crown, or a mixed lot is treated as a source of gold rather than as wearable jewelry. On the jewelry scale, twenty-four karat is chemically 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. Scrap cash value is that fine-gold mass times the price per gram of pure gold 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 scrap for six hundred. Fourteen-karat, twenty-two-karat, ten-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, no stone-weight guess) 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, pry a stone, 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 and the task fails rather than invent a cash mark. A karat of zero is a piece with no gold and a scrap value of zero.
Weight must be strictly positive so an empty lot cannot be valued as a success. The pure-gold price may be zero (a total wipe-out of the metal offer) but it may not be negative.
What you can do with it
Pawn and buy-counter scrap quotes
Weigh a chain or ring in grams, enter the karat stamp, and apply today’s price per gram of pure gold to see the theoretical scrap cash before any dealer spread or stone deduction.
Estate and mixed-lot cash marks
Mark each hallmarked lot at a supplied pure-gold price so an estate worksheet or shop inventory shows fine-gold grams and scrap value without a live bullion feed.
Workshop leftover and dental gold
Convert leftover 14k, 18k, or 22k stock, or a dental crown, into a scrap figure at the same per-gram quote you use for new metal, so leftover value is comparable across karats.
FAQ
How is scrap gold cash value calculated?
Fine gold is weight times karat divided by 24; scrap value is that fine-gold mass times the pure-gold price.
Does this fetch a live gold 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 scrap cash.
Does the scrap value include stones, workmanship or the dealer's margin?
No. Only the weight, the karat and your pure-gold price enter the calculation. Gem deductions, making charges and the buyer's spread are left out, so weigh the metal itself, not the stones.
What happens if I enter more than 24 karats?
The calculator refuses it. Twenty-four karat is pure gold, so a higher figure is not a purity at all, and no cash value is invented from it.
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/scrap-gold \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"weight_g":10,"karat":18,"price_per_gram":80}'const res = await fetch("https://api.kit.forhosting.com/fin/scrap-gold", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"weight_g": 10,
"karat": 18,
"price_per_gram": 80
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/fin/scrap-gold",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"weight_g": 10,
"karat": 18,
"price_per_gram": 80
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/fin/scrap-gold", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"weight_g":10,"karat":18,"price_per_gram":80}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"weight_g":10,"karat":18,"price_per_gram":80}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/fin/scrap-gold", 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,
"price_per_gram": 80
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "fin.scrap_gold",
"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 cash mark.
What scrap gold cash value is and how karats recover fine-gold mass
The same identity is written scrap_value equals weight_g times karat over twenty-four times price_per_gram.
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 scrap-value problem, it is bad input. Weights above one billion grams or prices above one billion currency units per gram are rejected as overflow guards. Example: ten grams at eighteen karat and a price of eighty per gram yield purity fraction zero point seven five, fine gold seven point five grams, and scrap value six hundred. A twenty-four-karat bar of one gram at one hundred per gram yields purity one, fine gold one gram, and scrap value one hundred. Keep the three fields in the same units as the formula: grams of metal against a per-gram pure-gold price, never mixing troy ounces into the weight without converting first. 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 price_per_gram (greater than or equal to zero, the price of pure gold per gram in your currency; aliases price, gold_price, pure_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 price_per_gram 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), scrap_value (fine gold times the pure-gold price), and a formula string restating the identity. Pair the cash 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 scrap gold calculator earns its keep
Pawn counters, estate sales, and jewelry buy-desks need a live scrap gold calculator that turns a weigh-in and a karat stamp into a cash 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 scrap marks for widgets, LMS modules, and edge workers without a live gold feed of your own. Scrap desks can call the same pure module from the browser for a free preview and from the API when storing lots, so the cash value a customer saw on a landing page matches the cash value stored after they save a ticket. The contract is deliberately small: three numbers in, cash value out, so clients can wrap it in their own scale readers and hallmark pickers without fighting hidden state or a gold-price API. Dental lots, mixed karat bags, and leftover workshop stock all use the same identity, which is why a single deterministic endpoint covers the desk, the classroom, and the landing page.
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 scrap-value problem and the request is not billed.
What does the scrap gold calculator cost?
The browser tool is free. API requests use prepaid balance at $0.002 per successful call; invalid input is not billed.