MM to carat conversion
A 6.5 mm round brilliant with a specific gravity of 3.52 weighs a little over one carat. Enter the diameter, the cut and the mineral's specific gravity to estimate a mounted stone's weight, with its depth, grams and points. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Diameter
- 6.5
- Shape
- Round
- Specific gravity
- 3.52
- Shape label
- round brilliant
- Length mm
- 6.5
- Width mm
- 6.5
- Depth mm
- 3.965
A millimetre-to-carat conversion estimates how many metric carats a faceted gemstone weighs from its girdle diameter, its cut shape, and the specific gravity of the mineral. Jewelers, appraisers, and collectors reach for this when a stone is already mounted and cannot sit on a scale, or when a parcel list quotes millimetre sizes without masses. Enter a strictly positive diameter in millimetres, choose a documented cut, and supply the species specific gravity. The calculator returns an approximate carat weight plus the derived length, width and depth, grams, and points.
How millimetre diameter becomes an approximate carat weight
Gemstone weight is reported in metric carats, where one carat equals exactly two hundred milligrams, but a millimetre gauge only sees outline. The standard jeweler's estimate reconstructs a bounding box from that outline and then scales the box by specific gravity and a cut-dependent factor published by gemological references such as GIA and the International Gem Society. Length, width and depth are taken in millimetres.
For a round brilliant, length and width both equal the girdle diameter; total depth, when you have not measured it, is taken as about sixty-one percent of that diameter, a typical well-cut round. For elongated cuts such as oval, pear, marquise or baguette, diameter is read as the long girdle axis and width is inferred from a typical length-to-width ratio unless you supply a measured width. Carat weight is then length times width times depth times specific gravity times the shape factor.
That factor is not arbitrary decoration: a solid rectangular prism of millimetre sides would convert to carats with a factor of one two-hundredth, because one thousand cubic millimetres is one cubic centimetre and one carat is zero point two grams. A faceted stone occupies only a fraction of its box, so published factors sit near zero point zero zero one six to zero point zero zero two six.
A round brilliant uses zero point zero zero one eight; an oval uses zero point zero zero two one; an emerald cut uses zero point zero zero two five. Plug in a six point five millimetre round diamond at specific gravity three point five two and the estimate lands just above one carat, which is why the trade still recites that size as the classic one-carat look.
The result is an estimate, not a substitute for a hydrostatic or calibrated scale weighing, and it will drift if the actual depth or bulge differs from the typical ratios.
Where millimetre-to-carat estimates show up in real work
Bench jewelers sizing a mounted ring or a bezel-set pendant cannot pop the stone onto a scale without risking prongs, so a millimetre gauge plus this conversion is the practical way to quote an approximate carat weight to a customer. Parcel buyers reading dealer lists that quote millimetre ranges rather than masses convert those sizes into a carat budget before they bid, using the correct specific gravity for the species instead of assuming everything is diamond.
CAD and wax-model makers targeting a one-carat look check that a six and a half millimetre round at diamond density lands near one carat, or they scale an oval ruby at specific gravity four until the estimate matches the brief. Gemmology classrooms assign the same drill so students connect gauge readings, cut names, and density tables without memorising every row of a printed millimetre-to-carat chart.
This landing is deliberately not a unit converter for a mass you already know: converting carats to points, grams, grains, or milligrams is a different search intent served by a gemstone carat and point converter. Prefer the present calculator when the unknown is mass and the knowns are millimetres, cut, and density. Treat the output as an approximation bounded by how closely the real stone matches typical depth and bulge; recut stones, deep culets, and high cabochons will disagree with the table.
If you later need hydrostatic specific-gravity measurement, recut yield, or melee sieve matching, those are separate search intents and should keep their own landings rather than overloading this millimetre-to-carat page.
What you can do with it
Estimate a mounted stone from a millimetre gauge
Measure girdle diameter on a set ring or pendant, choose the cut, enter the species specific gravity, and quote an approximate carat weight without unsetting the stone.
Turn a millimetre parcel list into a carat budget
Dealers often list calibrated sizes in millimetres. Convert each row with the correct cut and density so you know the approximate carat total before you bid.
Check a CAD or wax model against a target carat look
Scale a round, oval, or emerald-cut model until the millimetre-to-carat estimate matches the brief, using diamond 3.52 or the coloured-stone gravity you actually plan to set.
FAQ
How does millimetre-to-carat conversion work?
It reconstructs length, width and depth in millimetres from the girdle diameter and cut, then computes carats = L × W × D × specific gravity × a published shape factor. Optional measured depth or width replace the typical ratios.
Why do I have to enter specific gravity?
Two stones of the same millimetre size weigh differently if their minerals differ. Diamond is about 3.52, ruby and sapphire about 4.00, emerald about 2.72, quartz about 2.65. Using the wrong density mis-sizes the carat estimate.
What happens if the diameter is zero or negative?
A gemstone diameter in millimetres must be a finite number strictly greater than zero; a bad gauge reading is never reported as a successful weighing.
How accurate is the carat estimate?
It is a standard jeweler's approximation, not a scale. Well-cut rounds near typical depth land close to trade charts (about 6.5 mm for a one-carat diamond). Deep, shallow, or recut stones will differ; supply measured depth to tighten the estimate.
What does the millimetre-to-carat conversion cost?
The browser tool is free and runs locally.
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/hobby/mm-to-carat-conversion \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"diameter":6.5,"shape":"round","specific_gravity":3.52}'const res = await fetch("https://api.kit.forhosting.com/hobby/mm-to-carat-conversion", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"diameter": 6.5,
"shape": "round",
"specific_gravity": 3.52
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/mm-to-carat-conversion",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"diameter": 6.5,
"shape": "round",
"specific_gravity": 3.52
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/mm-to-carat-conversion", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"diameter":6.5,"shape":"round","specific_gravity":3.52}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"diameter":6.5,"shape":"round","specific_gravity":3.52}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/mm-to-carat-conversion", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"diameter": 6.5,
"shape": "round",
"specific_gravity": 3.52
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.mm_to_carat_conversion",
"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
Zero, negative, or non-finite diameters fail with invalid_input so a bad gauge reading never looks like a successful weighing.
What you send, what comes back, and how errors are raised
Useful species values include diamond at three point five two, corundum (ruby and sapphire) at four point zero zero, beryl (emerald and aquamarine) at two point seven two, and quartz (amethyst and citrine) at two point six five. Send a JSON body with three required fields. diameter is the girdle measurement in millimetres and must be a finite number strictly greater than zero; aliases include diameter_mm, mm, d, and girdle. shape is a closed cut name from the published enum: round, oval, emerald, pear, marquise, princess, heart, cushion, cabochon, square, trillion, radiant, asscher, or baguette; aliases include cut and gem_shape. specific_gravity is the relative density of the mineral versus water and must be strictly positive; aliases include sg, gravity, and density. Optional depth, with aliases depth_mm, height, and height_mm, replaces the typical depth ratio when you have measured total height with a lever gauge. Optional width, alias width_mm, replaces the inferred girdle width for elongated cuts. On success the response echoes cleaned diameter, canonical shape, shape_label, and specific_gravity, then reports length_mm, width_mm, depth_mm, a depth_estimated flag, shape_factor, depth_ratio, lw_ratio, carats, grams (carats times zero point two), points (carats times one hundred), the formula string, method gia_box_factor, and a one-line summary. Missing fields, non-numeric strings, NaN, Infinity, zero or negative diameter, zero or negative specific gravity, unknown cuts, and non-positive optional depth or width all fail with invalid_input and are not charged. Pricing for a successful API call is the published base of $0.002 per item.
Where millimetre-to-carat estimates show up in real work
Failed validation does not consume prepaid balance, so exploratory scripts that deliberately send a zero diameter are cheap. Successful API calls use the published item price of $0.002.