Vickers hardness number calculator
Turn the test load and the mean impression diagonal into a Vickers hardness number: 10 kgf with a 0.2 mm diagonal gives about four hundred sixty-three HV, the classic HV10 check. Built for heat-treat shops, quality labs and materials students. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Force
- 10
- Diagonal
- 0.2
- Force unit
- Kgf
- Diagonal unit
- Mm
- Force kgf
- 10
- Diagonal mm
- 0.2
The Vickers hardness number (HV) is the ratio of the applied indentation force to the surface area of the residual square pyramid left by a diamond indenter whose opposite faces meet at 136 degrees. Metallurgists, heat-treat shops, quality labs, and materials students compute that number from two measurements that already appear on a test report: the applied test force and the average of the two impression diagonals.
What the Vickers hardness number is and which two quantities you send
The Vickers hardness test presses a square-based diamond pyramid into a specimen under a chosen force and then measures the two diagonals of the residual impression. Opposite faces of that pyramid meet at one hundred thirty-six degrees, so the contact surface of the indentation is a known function of the mean diagonal d: the surface area equals d squared divided by two times the sine of sixty-eight degrees.
The Vickers hardness number HV is defined as the applied test force F divided by that surface area, which rearranges into the closed-form identity HV equals two F sine of sixty-eight degrees over d squared. When F is expressed in kilogram-force and d in millimetres, HV is conventionally reported as a dimensionless number equal to kilogram-force per square millimetre.
ISO 6507 writes the same identity with force in newtons as HV equals 0.1891 F over d squared, because 0.1891 is two sine of sixty-eight degrees divided by standard gravity 9.80665 metres per second squared. Search queries such as vickers hardness number calculator, HV from force and diagonal, and Vickers indentation hardness all want that number from the two measurements on the test report — not a reminder that a pyramid exists, and not a conversion from Rockwell or Brinell into HV.
A ten kilogram-force load with a mean diagonal of two tenths of a millimetre is a convenient HV10 check and yields about four hundred sixty-three, matching the classic 1.8544 F over d squared shop table to ordinary rounding.
Who uses it and what it leaves out
Heat-treat shops and incoming-inspection labs use a Vickers hardness number calculator so a technician can turn the load printed on the machine and the two filar-microscope diagonals into HV without mixing the 1.8544 constant with a newton load. Materials courses and ISO 6507 homework need a deterministic oracle that rejects a zero or negative diagonal instead of emitting Infinity that a buggy grader might treat as success. Failed validation does not consume balance.
Keep requests small, pin the rounded hv field in tests, and you get reproducible hardness numbers for lab notes, lesson platforms, and edge workers without standing up a materials-testing stack of your own.
What you can do with it
Heat-treat and incoming-inspection checks
Turn the machine load and the mean filar-microscope diagonal into a Vickers hardness number for quench, temper, or certificate checks without mixing kilogram-force tables with a newton load.
Hardness-report CSV reduction
Collapse batches of Vickers test rows to hv in notebooks and shop scripts without importing a full metallurgy library for one closed-form division by d squared.
FAQ
Which units should I use for force and the mean diagonal?
Default units are kilogram-force (kgf) and millimetres (mm), matching classic HV tables.
Does this convert Vickers HV to Rockwell or Brinell?
No. This calculator computes HV from the indentation test itself. Converting among Rockwell, Brinell, Vickers, and Knoop is a different search intent and a different hardness-scale conversion tool.
How is the Vickers hardness number calculated?
HV is the test force divided by the area of the square pyramid impression. With the force in kgf and the mean diagonal in mm, that works out to 1.8544 times the force over the diagonal squared.
What happens if the diagonal is zero or negative?
You get no result. A zero or negative diagonal would make the impression area vanish or turn negative, so the hardness number is undefined. The same rule applies to a zero or negative force.
Why is the constant 0.1891 when the force is in newtons?
Because ISO 6507 divides the kilogram-force constant by standard gravity, 9.80665 m/s². Choose newtons as the unit and the calculator converts the load first, so the two constants never get mixed up.
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/phys/vickers-hardness-number \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"force":10,"diagonal":0.2}'const res = await fetch("https://api.kit.forhosting.com/phys/vickers-hardness-number", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"force": 10,
"diagonal": 0.2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/phys/vickers-hardness-number",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"force": 10,
"diagonal": 0.2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/phys/vickers-hardness-number", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"force":10,"diagonal":0.2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"force":10,"diagonal":0.2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/phys/vickers-hardness-number", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"force": 10,
"diagonal": 0.2
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "phys.vickers_hardness_number",
"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
This Vickers hardness number calculator accepts those two quantities, converts them into kilogram-force and millimetres when needed, evaluates the closed-form identity HV equals two F times the sine of 68 degrees over d squared, and returns structured JSON with the hardness value plus the normalized force and diagonal used in the ratio. A diagonal of zero or a negative diagonal is rejected as invalid_input because the surface area of the impression would vanish or reverse and the hardness number is undefined.
What the Vickers hardness number is and which two quantities you send
Delivering force, force_unit, diagonal, diagonal_unit, force_kgf, diagonal_mm, hv, formula, and method as JSON makes the result easy to paste into lab notes, pin in automated tests, or reuse across languages without reimplementing the trigonometric area of the diamond.
Input contract, formula, units, and error behaviour
The diagonal must be strictly positive: a value of zero or a negative diagonal is rejected because the surface area of the impression would vanish or reverse and HV is undefined. The force must likewise be strictly positive; a zero or negative load is not a Vickers test. Results are rounded to twelve decimal places so goldens compare byte-for-byte across JavaScript engines; minus-zero is normalised to zero. There is no lookup table from HV to HRC, no Brinell ball correction, and no unit auto-detection beyond the declared enums. POST a JSON body with two required finite numbers: force, the applied test force of the Vickers indent, and diagonal, the arithmetic mean of the two impression diagonals. Optional force_unit selects kilogram-force (kgf, the default), newtons (N), or gram-force (gf); optional diagonal_unit selects millimetres (mm, the default) or micrometres (um). Each numeric field may arrive as a JSON number or as a numeric string so forms and CSV-style pipelines can pass values without an extra cast. Missing fields, empty strings, non-numeric text, NaN, and Infinity fail immediately with invalid_input that names the offending field, and failed validation is not billed. After validation the engine converts force to kilogram-force (dividing newtons by 9.80665, or gram-force by one thousand) and diagonal to millimetres (dividing micrometres by one thousand), then evaluates HV as two times force_kgf times sine of sixty-eight degrees divided by diagonal_mm squared. The success body echoes the inputs, returns the normalised force_kgf and diagonal_mm, the hardness number hv, and a formula string restating the pyramid identity. The same pure function powers the free in-browser tool and the API path, so a classroom demo and a production script never disagree on a floating-point edge case.
Where a Vickers HV API earns its keep, limits, and pricing
Notebook pipelines that ingest hardness-test CSV files call a tiny parse API instead of pulling a full metallurgy library for one division by d squared.
Integration use cases
ISO 6507 classroom and homework oracles
Let students submit force and mean diagonal and verify HV against the pyramid identity, with zero or negative diagonals rejected as invalid_input instead of silent Infinity.
Technical questions
How is the Vickers hardness number computed from force and diagonal?
HV is force divided by the surface area of the 136° diamond impression: HV = 2 F sin(68°) / d². Send force and the mean diagonal; optional force_unit (kgf, N, gf) and diagonal_unit (mm, um) convert before the ratio.
What happens if the diagonal length is zero or negative?
The task fails with invalid_input. A zero or negative diagonal would make the impression area vanish or reverse, so the hardness number is undefined and the call is not billed. Non-positive force is rejected the same way.
What does the Vickers hardness number calculator cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful call; invalid input is not billed.