{"id":100125,"date":"2026-02-15T20:19:08","date_gmt":"2026-02-15T20:19:08","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100125"},"modified":"2026-02-15T20:19:08","modified_gmt":"2026-02-15T20:19:08","slug":"hardness-converter","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/bn\/calculators\/hardness-converter\/","title":{"rendered":"Hardness Converter | HRC \u2194 HB \u2194 HV \u2194 HRB"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Hardness Converter\",\"alternateName\":[\"HRC HB HV Converter\",\"Hardness Scale Calculator\",\"ASTM E140 Converter\"],\"description\":\"Free online hardness converter. Convert between Rockwell HRC, Brinell HB, Vickers HV, and Rockwell HRB scales based on ASTM E140. Includes approximate tensile strength.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/hardness-converter\/\",\"applicationCategory\":\"Engineering Calculator\",\"operatingSystem\":\"Any (Web Browser)\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"},\"datePublished\":\"2024-01-01\",\"dateModified\":\"2025-02-14\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true,\"featureList\":[\"HRC, HB, HV, HRB scales\",\"Linear interpolation between data points\",\"Approximate tensile strength Rm\",\"ASTM E140 reference data\",\"Auto-calculation on input change\",\"Full conversion table\"],\"keywords\":\"hardness conversion, HRC, HB, HV, HRB, Vickers, Brinell, Rockwell, ASTM E140, tensile strength\"}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"What is the difference between hardness scales?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"HRC (Rockwell C) uses a diamond cone indenter with 150 kgf load, suitable for hardened steels (20-70 HRC). HRB (Rockwell B) uses a 1\/16\\\" steel ball with 100 kgf, for softer materials (20-100 HRB). HV (Vickers) uses a diamond pyramid with variable load, suitable for all ranges. HB (Brinell) uses a 10 mm carbide ball with 3000 kgf load, best for castings and softer steels.\"}},\n{\"@type\":\"Question\",\"name\":\"When should I use which hardness scale?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Use HRC for hardened and tempered steels above ~20 HRC. Use HRB for annealed and softer steels below ~100 HRB. Use HV for thin materials, coatings, case-hardened surfaces, and when a wide range is needed. Use HB for castings, forgings, and when a large test area is acceptable.\"}},\n{\"@type\":\"Question\",\"name\":\"Why are hardness conversions approximate?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Different hardness tests use different indenters, loads, and measurement methods. The relationship between scales is not purely mathematical but empirical, based on testing many material samples. ASTM E140 provides accepted conversion tables, but exact conversions depend on the specific material, its condition, and microstructure.\"}},\n{\"@type\":\"Question\",\"name\":\"How do I estimate tensile strength from hardness?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"For carbon and alloy steels, a common approximation is Rm (MPa) \u2248 3.45 \u00d7 HB. This is a rough estimate valid for steels in the range of approximately 100-400 HB. For stainless steels, non-ferrous metals, or very hard steels, this relationship does not apply accurately.\"}},\n{\"@type\":\"Question\",\"name\":\"What test methods do these scales use?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Rockwell (HRC\/HRB): measures depth of indentation under a specific load. Quick and portable. Vickers (HV): measures diagonal of a diamond pyramid indentation under variable load. Very precise, works for all hardness ranges. Brinell (HB): measures diameter of a ball indentation under high load. Good for averaging over larger areas (castings, welds).\"}}\n]}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[\n{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/vibromera.eu\/\"},\n{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculators\",\"item\":\"https:\/\/vibromera.eu\/calculators\/\"},\n{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Hardness Converter\",\"item\":\"https:\/\/vibromera.eu\/calculators\/hardness-converter\/\"}\n]}\n<\/script>\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&#038;family=JetBrains+Mono:wght@400;500;600&#038;family=Fraunces:opsz,wght@9..144,700;9..144,800&#038;display=swap\" rel=\"stylesheet\">\n\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.css\">\n\n<style>\n:root {\n    --vc-bg: #f4f1ec;\n    --vc-surface: #ffffff;\n    --vc-surface-alt: #f8f6f2;\n    --vc-ink: #1a1a1a;\n    --vc-ink-secondary: #5a5650;\n    --vc-ink-muted: #8a857e;\n    --vc-accent: #c85a2a;\n    --vc-accent-hover: #b04d22;\n    --vc-accent-light: #fdf0ea;\n    --vc-blue: #2a5c8c;\n    --vc-blue-light: #eaf1f8;\n    --vc-green: #2a7a4b;\n    --vc-green-light: #eaf8ef;\n    --vc-yellow: #a67c00;\n    --vc-yellow-light: #fef9e8;\n    --vc-red: #b91c1c;\n    --vc-red-light: #fef2f2;\n    --vc-border: #d9d4cc;\n    --vc-border-light: #e8e4dd;\n    --vc-shadow: 0 1px 3px rgba(26,26,26,0.06), 0 4px 12px rgba(26,26,26,0.04);\n    --vc-shadow-lg: 0 4px 12px rgba(26,26,26,0.08), 0 16px 40px rgba(26,26,26,0.06);\n    --vc-radius: 8px;\n    --vc-radius-lg: 12px;\n    --vc-font: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n    --vc-mono: 'JetBrains Mono', 'Consolas', 'Monaco', monospace;\n    --vc-display: 'Fraunces', Georgia, serif;\n}\n\n.vc-calculator {\n    font-family: var(--vc-font);\n    font-size: 15px;\n    line-height: 1.65;\n    color: var(--vc-ink);\n    max-width: 960px;\n    margin: 0 auto;\n    padding: 20px 16px 40px;\n    -webkit-font-smoothing: antialiased;\n}\n.vc-calculator *, .vc-calculator *::before, .vc-calculator *::after { box-sizing: border-box; }\n\n\/* \u2500\u2500 HEADER \u2500\u2500 *\/\n.vc-header { text-align: center; padding: 48px 24px 40px; position: relative; }\n.vc-header::after { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:80px; height:3px; background:var(--vc-accent); border-radius:2px; }\n.vc-header-eyebrow { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--vc-accent); margin:0 0 12px; }\n.vc-header-title { font-family:var(--vc-display); font-size:clamp(24px,4vw,36px); font-weight:800; line-height:1.15; color:var(--vc-ink); margin:0 0 16px; letter-spacing:-0.02em; }\n.vc-header-subtitle { font-size:15px; color:var(--vc-ink-secondary); margin:0 auto 20px; max-width:600px; }\n.vc-badges { display:inline-flex; gap:8px; flex-wrap:wrap; justify-content:center; }\n.vc-badge { font-family:var(--vc-mono); font-size:11px; font-weight:500; padding:4px 10px; border-radius:4px; background:var(--vc-surface); border:1px solid var(--vc-border); color:var(--vc-ink-secondary); }\n\n\/* \u2500\u2500 CARD \u2500\u2500 *\/\n.vc-card { background:var(--vc-surface); border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); box-shadow:var(--vc-shadow); overflow:hidden; margin-top:32px; }\n\n\/* \u2500\u2500 FORM \u2500\u2500 *\/\n.vc-form { padding:24px; }\n.vc-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }\n@media(max-width:600px) { .vc-form-grid { grid-template-columns:1fr; } }\n.vc-field { display:flex; flex-direction:column; }\n.vc-field-full { grid-column: 1 \/ -1; }\n.vc-label { font-size:12px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:var(--vc-ink-secondary); margin-bottom:6px; }\n.vc-label-hint { font-weight:400; text-transform:none; letter-spacing:0; color:var(--vc-ink-muted); font-size:11px; }\n.vc-select, .vc-input { width:100%; padding:10px 12px; border:1.5px solid var(--vc-border); border-radius:6px; font-family:var(--vc-font); font-size:14px; color:var(--vc-ink); background:var(--vc-surface); transition:border-color 0.15s, box-shadow 0.15s; }\n.vc-select { padding-right:36px; appearance:none; -webkit-appearance:none; cursor:pointer; background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='none' stroke='%235a5650' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'\/%3E%3C\/svg%3E\"); background-repeat:no-repeat; background-position:right 10px center; }\n.vc-select:focus, .vc-input:focus { outline:none; border-color:var(--vc-accent); box-shadow:0 0 0 3px rgba(200,90,42,0.12); }\n.vc-select:hover, .vc-input:hover { border-color:var(--vc-ink-muted); }\n\n\/* \u2500\u2500 PRESETS \u2500\u2500 *\/\n.vc-presets { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; padding-top:18px; border-top:1px solid var(--vc-border-light); }\n.vc-presets-label { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); width:100%; margin-bottom:2px; }\n.vc-preset-btn { padding:5px 12px; font-family:var(--vc-font); font-size:12px; font-weight:500; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-surface-alt); color:var(--vc-ink-secondary); cursor:pointer; transition:all 0.15s; }\n.vc-preset-btn:hover { border-color:var(--vc-accent); color:var(--vc-accent); background:var(--vc-accent-light); }\n\n\/* \u2500\u2500 RESULTS \u2500\u2500 *\/\n.vc-results { border-top:1px solid var(--vc-border-light); background:var(--vc-surface-alt); padding:0; max-height:0; overflow:hidden; transition:max-height 0.5s cubic-bezier(0.4,0,0.2,1), padding 0.3s; }\n.vc-results.vc-visible { max-height:2000px; padding:24px; }\n.vc-results-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }\n.vc-results-title { font-family:var(--vc-display); font-size:20px; font-weight:700; color:var(--vc-ink); margin:0; }\n.vc-copy-btn { display:inline-flex; align-items:center; gap:5px; padding:6px 12px; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-surface); font-family:var(--vc-font); font-size:12px; font-weight:500; color:var(--vc-ink-secondary); cursor:pointer; transition:all 0.15s; }\n.vc-copy-btn:hover { border-color:var(--vc-accent); color:var(--vc-accent); }\n.vc-copy-btn.vc-copied { background:var(--vc-green-light); border-color:var(--vc-green); color:var(--vc-green); }\n\n.vc-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }\n@media(max-width:500px) { .vc-result-grid { grid-template-columns:1fr; } }\n.vc-rcard { background:var(--vc-surface); border:1px solid var(--vc-border-light); border-radius:var(--vc-radius); padding:16px; transition:transform 0.2s; }\n.vc-rcard:hover { transform:translateY(-1px); }\n.vc-rcard-primary { border-color:var(--vc-accent); border-width:2px; background:linear-gradient(135deg, #fdf6f2 0%, var(--vc-surface) 100%); grid-column:1 \/ -1; }\n.vc-rcard-label { font-family:var(--vc-mono); font-size:10px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); margin-bottom:4px; }\n.vc-rcard-value { font-family:var(--vc-mono); font-size:22px; font-weight:600; color:var(--vc-ink); line-height:1.2; }\n.vc-rcard-primary .vc-rcard-value { font-size:30px; color:var(--vc-accent); }\n.vc-rcard-unit { font-size:14px; font-weight:400; color:var(--vc-ink-secondary); }\n.vc-rcard-sub { font-size:12px; font-weight:400; color:var(--vc-ink-muted); margin-top:4px; }\n\n\/* \u2500\u2500 COLLAPSIBLE SECTIONS \u2500\u2500 *\/\n.vc-section { margin-top:24px; border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); background:var(--vc-surface); box-shadow:var(--vc-shadow); overflow:hidden; }\n.vc-section-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border:none; background:transparent; cursor:pointer; font-family:var(--vc-font); text-align:left; transition:background 0.15s; }\n.vc-section-toggle:hover { background:var(--vc-surface-alt); }\n.vc-section-toggle-text { display:flex; align-items:center; gap:10px; }\n.vc-section-icon { font-size:20px; line-height:1; }\n.vc-section-title { font-family:var(--vc-display); font-size:18px; font-weight:700; color:var(--vc-ink); margin:0; }\n.vc-section-chevron { width:20px; height:20px; color:var(--vc-ink-muted); transition:transform 0.3s; flex-shrink:0; }\n.vc-section.vc-open .vc-section-chevron { transform:rotate(180deg); }\n.vc-section-body { max-height:0; overflow:hidden; transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1); }\n.vc-section.vc-open .vc-section-body { max-height:20000px; }\n.vc-section-inner { padding:0 24px 24px; border-top:1px solid var(--vc-border-light); }\n\n\/* \u2500\u2500 THEORY \u2500\u2500 *\/\n.vc-theory h3 { font-family:var(--vc-display); font-size:17px; font-weight:700; color:var(--vc-ink); margin:28px 0 10px; }\n.vc-theory h3:first-child { margin-top:20px; }\n.vc-theory p { font-size:14px; color:var(--vc-ink-secondary); margin:0 0 10px; }\n.vc-theory ul, .vc-theory ol { font-size:14px; color:var(--vc-ink-secondary); margin:0 0 12px 18px; padding:0; }\n.vc-theory li { margin-bottom:5px; }\n.vc-formula-box { background:var(--vc-surface-alt); border:2px solid var(--vc-border); border-radius:6px; padding:14px 20px; font-family:var(--vc-mono); font-size:16px; font-weight:500; text-align:center; margin:14px 0; color:var(--vc-ink); overflow-x:auto; }\n.vc-info-box { background:var(--vc-blue-light); border-left:3px solid var(--vc-blue); padding:14px 16px; border-radius:0 6px 6px 0; margin:14px 0; }\n.vc-info-box p { margin:0; font-size:14px; color:var(--vc-ink-secondary); }\n.vc-warning-box { background:var(--vc-yellow-light); border-left:3px solid var(--vc-yellow); padding:14px 16px; border-radius:0 6px 6px 0; margin:14px 0; }\n.vc-example-box { background:var(--vc-surface-alt); border:1px solid var(--vc-border-light); border-radius:6px; padding:16px; margin:14px 0; }\n.vc-example-title { font-family:var(--vc-mono); font-size:13px; font-weight:600; color:var(--vc-accent); margin-bottom:8px; }\n.vc-table { width:100%; border-collapse:collapse; margin:14px 0; font-size:13px; }\n.vc-table th, .vc-table td { padding:10px 12px; border:1px solid var(--vc-border-light); text-align:left; }\n.vc-table th { background:var(--vc-surface-alt); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.05em; color:var(--vc-ink-secondary); }\n.vc-table tr:nth-child(even) { background:var(--vc-surface-alt); }\n.vc-table tr.vc-row-highlight td { background:var(--vc-accent-light); }\n@media(max-width:600px) { .vc-table { font-size:12px; } .vc-table th, .vc-table td { padding:8px; } }\n\n\/* \u2500\u2500 FAQ \u2500\u2500 *\/\n.vc-faq-list { display:flex; flex-direction:column; gap:8px; margin-top:20px; }\n.vc-faq-item { border:1px solid var(--vc-border-light); border-radius:6px; overflow:hidden; }\n.vc-faq-q { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border:none; background:var(--vc-surface-alt); cursor:pointer; font-family:var(--vc-font); font-size:15px; font-weight:600; color:var(--vc-ink); text-align:left; transition:background 0.15s; }\n.vc-faq-q:hover { background:#ede9e3; }\n.vc-faq-chevron { width:16px; height:16px; color:var(--vc-ink-muted); flex-shrink:0; transition:transform 0.25s; }\n.vc-faq-item.vc-open .vc-faq-chevron { transform:rotate(180deg); }\n.vc-faq-a { max-height:0; overflow:hidden; transition:max-height 0.35s; }\n.vc-faq-item.vc-open .vc-faq-a { max-height:1200px; }\n.vc-faq-a-inner { padding:14px 16px; border-top:1px solid var(--vc-border-light); font-size:14px; color:var(--vc-ink-secondary); }\n.vc-faq-a-inner p { margin:0 0 8px; }\n.vc-faq-a-inner p:last-child { margin-bottom:0; }\n.vc-faq-a-inner ul { margin:4px 0 8px 16px; padding:0; }\n.vc-faq-a-inner li { margin-bottom:3px; }\n\n\/* \u2500\u2500 RELATED \u2500\u2500 *\/\n.vc-related { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }\n.vc-related-link { display:inline-block; padding:8px 16px; font-family:var(--vc-font); font-size:13px; font-weight:600; background:var(--vc-surface-alt); color:var(--vc-ink-secondary); border:1px solid var(--vc-border); border-radius:var(--vc-radius); text-decoration:none; transition:all 0.15s; }\n.vc-related-link:hover { border-color:var(--vc-accent); color:var(--vc-accent); background:var(--vc-accent-light); }\n\n\/* \u2500\u2500 PROMO \u2500\u2500 *\/\n.vc-promo { margin-top:24px; padding:20px; background:linear-gradient(135deg, var(--vc-accent-light), var(--vc-surface)); border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); display:flex; align-items:center; gap:16px; }\n.vc-promo-text { flex:1; font-size:14px; color:var(--vc-ink-secondary); }\n.vc-promo-text strong { color:var(--vc-ink); }\n.vc-promo-link { padding:8px 20px; font-size:13px; font-weight:700; color:#fff; background:var(--vc-accent); border-radius:var(--vc-radius); text-decoration:none; white-space:nowrap; transition:background 0.15s; }\n.vc-promo-link:hover { background:var(--vc-accent-hover); }\n\n\/* \u2500\u2500 FOOTER \u2500\u2500 *\/\n.vc-footer { text-align:center; padding:32px 16px; font-size:13px; color:var(--vc-ink-muted); }\n.vc-footer a { color:var(--vc-accent); text-decoration:none; }\n.vc-footer a:hover { text-decoration:underline; }\n.vc-footer-links { margin-top:8px; font-size:12px; }\n.vc-footer-links a { margin:0 8px; }\n\n\/* \u2500\u2500 TABLE SCROLL \u2500\u2500 *\/\n.vc-table-wrap { overflow-x:auto; margin:14px 0; }\n\n\/* \u2500\u2500 PRINT \u2500\u2500 *\/\n@media print {\n    .vc-section-body { max-height:none!important; }\n    .vc-faq-a { max-height:none!important; }\n    .vc-results { max-height:none!important; padding:24px!important; }\n    .vc-copy-btn, .vc-section-chevron, .vc-faq-chevron, .vc-presets, .vc-promo { display:none!important; }\n}\n<\/style>\n\n<div class=\"vc-calculator\" id=\"vc-hardness-converter\">\n\n<!-- Header -->\n<header class=\"vc-header\">\n    <p class=\"vc-header-eyebrow\">Free Engineering Tool<\/p>\n    <h1 class=\"vc-header-title\">Hardness Converter<\/h1>\n    <p class=\"vc-header-subtitle\">Convert between Rockwell HRC, Brinell HB, Vickers HV, and Rockwell HRB hardness scales. Based on ASTM E140 conversion data with linear interpolation.<\/p>\n    <div class=\"vc-badges\">\n        <span class=\"vc-badge\">ASTM E140<\/span>\n        <span class=\"vc-badge\">HRC \u2194 HB \u2194 HV<\/span>\n        <span class=\"vc-badge\">Tensile Strength<\/span>\n    <\/div>\n<\/header>\n\n<!-- Calculator Card -->\n<div class=\"vc-card\">\n    <form class=\"vc-form\" id=\"vc-form\" autocomplete=\"off\">\n        <div class=\"vc-form-grid\">\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-scale\">Input Scale<\/label>\n                <select class=\"vc-select\" id=\"vc-scale\">\n                    <option value=\"hrc\" selected>HRC (Rockwell C)<\/option>\n                    <option value=\"hb\">HB (Brinell)<\/option>\n                    <option value=\"hv\">HV (Vickers)<\/option>\n                    <option value=\"hrb\">HRB (Rockwell B)<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-val\">Value <span class=\"vc-label-hint\" id=\"vc-val-hint\">(HRC)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-val\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"e.g. 45\" value=\"45\">\n            <\/div>\n        <\/div>\n\n        <!-- Presets -->\n        <div class=\"vc-presets\">\n            <div class=\"vc-presets-label\">Quick presets<\/div>\n            <button type=\"button\" class=\"vc-preset-btn\" data-s=\"hrc\" data-v=\"45\">HRC 45<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-s=\"hb\" data-v=\"300\">HB 300<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-s=\"hv\" data-v=\"500\">HV 500<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-s=\"hrb\" data-v=\"85\">HRB 85<\/button>\n        <\/div>\n    <\/form>\n\n    <!-- Results -->\n    <div class=\"vc-results\" id=\"vc-results\">\n        <div class=\"vc-results-head\">\n            <h2 class=\"vc-results-title\">Results<\/h2>\n            <button type=\"button\" class=\"vc-copy-btn\" id=\"vc-copy-btn\">\n                <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg>\n                Copy\n            <\/button>\n        <\/div>\n        <div class=\"vc-result-grid\">\n            <div class=\"vc-rcard vc-rcard-primary\" id=\"vc-primary-card\">\n                <div class=\"vc-rcard-label\" id=\"vc-primary-label\">HRC (Rockwell C)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-primary\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">HRC (Rockwell C)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-hrc\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">HB (Brinell)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-hb\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">HV (Vickers)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-hv\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">HRB (Rockwell B)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-hrb\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\" style=\"grid-column:1\/-1;\">\n                <div class=\"vc-rcard-label\">Approx. Tensile Strength Rm (steel)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-rm\">\u2014<\/div>\n                <div class=\"vc-rcard-sub\">Rm \u2248 3.45 \u00d7 HB (approximate, for carbon &amp; alloy steels)<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Conversion Table -->\n<div class=\"vc-section vc-open\" id=\"vc-sec-table\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"true\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\ud83d\udcca<\/span>\n            <span class=\"vc-section-title\">ASTM E140 Conversion Table<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner vc-theory\">\n            <h3>HRC Range (Hardened Steels)<\/h3>\n            <div class=\"vc-table-wrap\">\n                <table class=\"vc-table\" id=\"vc-hrc-table\">\n                    <thead>\n                        <tr>\n                            <th>HRC<\/th>\n                            <th>HV<\/th>\n                            <th>HB<\/th>\n                            <th>Rm (MPa)<\/th>\n                        <\/tr>\n                    <\/thead>\n                    <tbody>\n                        <tr data-hrc=\"20\"><td>20<\/td><td>238<\/td><td>228<\/td><td>~787<\/td><\/tr>\n                        <tr data-hrc=\"25\"><td>25<\/td><td>255<\/td><td>243<\/td><td>~838<\/td><\/tr>\n                        <tr data-hrc=\"30\"><td>30<\/td><td>279<\/td><td>266<\/td><td>~918<\/td><\/tr>\n                        <tr data-hrc=\"35\"><td>35<\/td><td>331<\/td><td>311<\/td><td>~1073<\/td><\/tr>\n                        <tr data-hrc=\"40\"><td>40<\/td><td>392<\/td><td>360<\/td><td>~1242<\/td><\/tr>\n                        <tr data-hrc=\"45\"><td>45<\/td><td>458<\/td><td>421<\/td><td>~1452<\/td><\/tr>\n                        <tr data-hrc=\"50\"><td>50<\/td><td>542<\/td><td>484<\/td><td>~1670<\/td><\/tr>\n                        <tr data-hrc=\"55\"><td>55<\/td><td>595<\/td><td>544<\/td><td>~1877<\/td><\/tr>\n                        <tr data-hrc=\"60\"><td>60<\/td><td>697<\/td><td>\u2014<\/td><td>\u2014<\/td><\/tr>\n                        <tr data-hrc=\"65\"><td>65<\/td><td>832<\/td><td>\u2014<\/td><td>\u2014<\/td><\/tr>\n                    <\/tbody>\n                <\/table>\n            <\/div>\n\n            <h3>HRB Range (Softer Steels)<\/h3>\n            <div class=\"vc-table-wrap\">\n                <table class=\"vc-table\" id=\"vc-hrb-table\">\n                    <thead>\n                        <tr>\n                            <th>HRB<\/th>\n                            <th>HV<\/th>\n                            <th>HB<\/th>\n                            <th>Rm (MPa)<\/th>\n                        <\/tr>\n                    <\/thead>\n                    <tbody>\n                        <tr data-hrb=\"60\"><td>60<\/td><td>107<\/td><td>105<\/td><td>~362<\/td><\/tr>\n                        <tr data-hrb=\"70\"><td>70<\/td><td>120<\/td><td>118<\/td><td>~407<\/td><\/tr>\n                        <tr data-hrb=\"80\"><td>80<\/td><td>141<\/td><td>138<\/td><td>~476<\/td><\/tr>\n                        <tr data-hrb=\"90\"><td>90<\/td><td>171<\/td><td>166<\/td><td>~573<\/td><\/tr>\n                        <tr data-hrb=\"100\"><td>100<\/td><td>210<\/td><td>202<\/td><td>~697<\/td><\/tr>\n                    <\/tbody>\n                <\/table>\n            <\/div>\n\n            <div class=\"vc-info-box\">\n                <p><strong>\u2139\ufe0f Note:<\/strong> Values between table entries are calculated using linear interpolation. HB values above HRC 55 are typically not measured (material too hard for ball indenter). Tensile strength estimates apply to carbon and alloy steels only.<\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Theory -->\n<div class=\"vc-section\" id=\"vc-sec-theory\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\ud83d\udcd8<\/span>\n            <span class=\"vc-section-title\">Theory &amp; Test Methods<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner vc-theory\">\n            <h3>Rockwell Hardness (HRC \/ HRB)<\/h3>\n            <p>The Rockwell test measures the <strong>depth of penetration<\/strong> under a large load compared to a preload. It is fast, easy, and widely used in production.<\/p>\n            <ul>\n                <li><strong>HRC<\/strong> \u2014 Diamond cone (Brale) indenter, 150 kgf major load. Range: 20\u201370 HRC. For hardened steels.<\/li>\n                <li><strong>HRB<\/strong> \u2014 1\/16&#8243; steel ball, 100 kgf major load. Range: 20\u2013100 HRB. For softer steels, brass, aluminum.<\/li>\n            <\/ul>\n\n            <h3>Vickers Hardness (HV)<\/h3>\n            <p>Uses a diamond pyramid indenter with variable load (1\u2013120 kgf). Measures the <strong>diagonal of the indentation<\/strong>. Works for all hardness ranges from very soft to very hard.<\/p>\n            <div class=\"vc-formula-box\" id=\"vc-katex-1\"><\/div>\n\n            <h3>Brinell Hardness (HB)<\/h3>\n            <p>Uses a 10 mm tungsten carbide ball with 3000 kgf load (for steel). Measures the <strong>diameter of the indentation<\/strong>. Best for coarse-grained materials like castings.<\/p>\n            <div class=\"vc-formula-box\" id=\"vc-katex-2\"><\/div>\n\n            <h3>Tensile Strength Approximation<\/h3>\n            <div class=\"vc-formula-box\" id=\"vc-katex-3\"><\/div>\n            <div class=\"vc-warning-box\">\n                <p style=\"margin:0;font-size:14px;color:var(--vc-ink-secondary);\"><strong>\u26a0\ufe0f Important:<\/strong> The Rm \u2248 3.45 \u00d7 HB relationship is approximate and only valid for carbon and alloy steels in the range ~100\u2013400 HB. Do not use for stainless steels, cast irons, non-ferrous metals, or hardened steels above ~55 HRC.<\/p>\n            <\/div>\n\n            <h3>Practical Example<\/h3>\n            <div class=\"vc-example-box\">\n                <div class=\"vc-example-title\">Example \u2014 Quenched &#038; Tempered Steel<\/div>\n                <p><strong>Given:<\/strong> Measured hardness = 45 HRC<\/p>\n                <p>From ASTM E140 table: HRC 45 \u2248 HV 458 \u2248 HB 421<\/p>\n                <p>Estimated tensile strength: Rm \u2248 3.45 \u00d7 421 = <strong>~1452 MPa<\/strong><\/p>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Related Calculators -->\n<div class=\"vc-section\" id=\"vc-sec-related\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\ud83d\udd17<\/span>\n            <span class=\"vc-section-title\">Related Calculators<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner\">\n            <div class=\"vc-related\">\n                <a class=\"vc-related-link\" href=\"\/calculators\/general-tolerances-iso2768-1\/\">General Tolerances (ISO 2768-1)<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/surface-roughness-converter\/\">Surface Roughness Converter<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/universal-unit-converter\/\">Unit Converter<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/stress-calculator\/\">Beam Stress Calculator<\/a>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- FAQ -->\n<div class=\"vc-section\" id=\"vc-sec-faq\">\n    <button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\">\n        <span class=\"vc-section-toggle-text\">\n            <span class=\"vc-section-icon\">\u2753<\/span>\n            <span class=\"vc-section-title\">Frequently Asked Questions<\/span>\n        <\/span>\n        <svg class=\"vc-section-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg>\n    <\/button>\n    <div class=\"vc-section-body\">\n        <div class=\"vc-section-inner\">\n            <div class=\"vc-faq-list\" id=\"vc-faq-list\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Promo -->\n<div class=\"vc-promo\">\n    <div class=\"vc-promo-text\">\n        <strong>Vibromera \u2014 Portable Balancing &amp; Vibration Analysis<\/strong><br>\n        Professional field balancing instruments and software. Used in 50+ countries.\n    <\/div>\n    <a class=\"vc-promo-link\" href=\"https:\/\/vibromera.eu\/\" target=\"_blank\" rel=\"noopener\">Learn More<\/a>\n<\/div>\n\n<!-- Footer -->\n<footer class=\"vc-footer\">\n    <p>\u00a9 2024\u20132025 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a> \u2014 Engineering Calculators<\/p>\n    <p style=\"font-size:12px;margin-top:4px;\">Based on ASTM E140. Last updated: February 2025<\/p>\n    <div class=\"vc-footer-links\">\n        <a href=\"\/calculators\/engineering-calculators\/\">All Calculators<\/a>\n        <a href=\"https:\/\/vibromera.eu\/contacts\/\">Contact<\/a>\n    <\/div>\n<\/footer>\n\n<\/div>\n\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/katex@0.16.11\/dist\/katex.min.js\"><\/script>\n<script>\n(function() {\n    'use strict';\n\n    var SLUG = 'hardness-converter';\n\n    function $(id) { return document.getElementById(id); }\n    function fmt(n, d) { if(isNaN(n)||n===null||n===undefined) return '\u2014'; var f=n.toFixed(d===undefined?1:d); return f.replace(\/(\\.\\d*?)0+$\/,'$1').replace(\/\\.$\/,''); }\n\n    \/* \u2500\u2500 ASTM E140 CONVERSION DATA \u2500\u2500 *\/\n    \/\/ HRC range data: [hrc, hv, hb] \u2014 hb=null means not measurable\n    var hrcData = [\n        { hrc:20, hv:238, hb:228 },\n        { hrc:25, hv:255, hb:243 },\n        { hrc:30, hv:279, hb:266 },\n        { hrc:35, hv:331, hb:311 },\n        { hrc:40, hv:392, hb:360 },\n        { hrc:45, hv:458, hb:421 },\n        { hrc:50, hv:542, hb:484 },\n        { hrc:55, hv:595, hb:544 },\n        { hrc:60, hv:697, hb:null },\n        { hrc:65, hv:832, hb:null }\n    ];\n\n    \/\/ HRB range data: [hrb, hv, hb]\n    var hrbData = [\n        { hrb:60,  hv:107, hb:105 },\n        { hrb:70,  hv:120, hb:118 },\n        { hrb:80,  hv:141, hb:138 },\n        { hrb:90,  hv:171, hb:166 },\n        { hrb:100, hv:210, hb:202 }\n    ];\n\n    var scaleHints = { hrc:'(HRC)', hb:'(HB)', hv:'(HV)', hrb:'(HRB)' };\n\n    \/* \u2500\u2500 LINEAR INTERPOLATION \u2500\u2500 *\/\n    function lerp(x, x0, x1, y0, y1) {\n        if (x1 === x0) return y0;\n        return y0 + (x - x0) * (y1 - y0) \/ (x1 - x0);\n    }\n\n    function interpolate(arr, keyIn, valIn, keyOut) {\n        \/\/ Find bounding entries\n        if (valIn <= arr[0][keyIn]) return arr[0][keyOut];\n        if (valIn >= arr[arr.length-1][keyIn]) return arr[arr.length-1][keyOut];\n\n        for (var i = 0; i < arr.length - 1; i++) {\n            if (valIn >= arr[i][keyIn] && valIn <= arr[i+1][keyIn]) {\n                var y0 = arr[i][keyOut];\n                var y1 = arr[i+1][keyOut];\n                if (y0 === null || y1 === null) return null;\n                return lerp(valIn, arr[i][keyIn], arr[i+1][keyIn], y0, y1);\n            }\n        }\n        return null;\n    }\n\n    \/* \u2500\u2500 CALCULATION \u2500\u2500 *\/\n    function calculate() {\n        var scale = $('vc-scale').value;\n        var val = parseFloat($('vc-val').value);\n        $('vc-val-hint').textContent = scaleHints[scale] || '';\n\n        if (!val && val !== 0) {\n            $('vc-results').classList.remove('vc-visible');\n            clearHighlights();\n            return;\n        }\n\n        var hrcVal = null, hvVal = null, hbVal = null, hrbVal = null, rmVal = null;\n        var isHRBRange = false;\n\n        if (scale === 'hrc') {\n            hrcVal = val;\n            hvVal = interpolate(hrcData, 'hrc', val, 'hv');\n            hbVal = interpolate(hrcData, 'hrc', val, 'hb');\n            \/\/ Try to find HRB if in overlap zone\n            if (val <= 20) {\n                \/\/ Could be in HRB range \u2014 approximate HRB from HV\n                if (hvVal !== null) {\n                    hrbVal = interpolate(hrbData, 'hv', hvVal, 'hrb');\n                }\n            }\n        } else if (scale === 'hv') {\n            hvVal = val;\n            \/\/ Determine if in HRC or HRB range\n            if (val >= hrcData[0].hv) {\n                hrcVal = interpolate(hrcData, 'hv', val, 'hrc');\n                hbVal = interpolate(hrcData, 'hv', val, 'hb');\n            }\n            if (val <= hrbData[hrbData.length-1].hv) {\n                hrbVal = interpolate(hrbData, 'hv', val, 'hrb');\n                if (hbVal === null) hbVal = interpolate(hrbData, 'hv', val, 'hb');\n                if (hrcVal === null) isHRBRange = true;\n            }\n        } else if (scale === 'hb') {\n            hbVal = val;\n            \/\/ Determine range\n            if (val >= hrcData[0].hb && val <= 544) {\n                hrcVal = interpolate(hrcData, 'hb', val, 'hrc');\n                hvVal = interpolate(hrcData, 'hb', val, 'hv');\n            }\n            if (val <= hrbData[hrbData.length-1].hb) {\n                hrbVal = interpolate(hrbData, 'hb', val, 'hrb');\n                if (hvVal === null) hvVal = interpolate(hrbData, 'hb', val, 'hv');\n                if (hrcVal === null) isHRBRange = true;\n            }\n        } else if (scale === 'hrb') {\n            hrbVal = val;\n            isHRBRange = true;\n            hvVal = interpolate(hrbData, 'hrb', val, 'hv');\n            hbVal = interpolate(hrbData, 'hrb', val, 'hb');\n            \/\/ Check if HRC overlap\n            if (hvVal !== null && hvVal >= hrcData[0].hv) {\n                hrcVal = interpolate(hrcData, 'hv', hvVal, 'hrc');\n            }\n        }\n\n        \/\/ Tensile strength from HB\n        if (hbVal !== null && hbVal > 0) {\n            rmVal = 3.45 * hbVal;\n        }\n\n        \/\/ Determine primary display\n        var primaryLabel, primaryValue;\n        if (scale === 'hrc') {\n            primaryLabel = 'HRC (Rockwell C)';\n            primaryValue = fmt(hrcVal, 1) + ' <span class=\"vc-rcard-unit\">HRC<\/span>';\n        } else if (scale === 'hv') {\n            primaryLabel = 'HV (Vickers)';\n            primaryValue = fmt(hvVal, 0) + ' <span class=\"vc-rcard-unit\">HV<\/span>';\n        } else if (scale === 'hb') {\n            primaryLabel = 'HB (Brinell)';\n            primaryValue = fmt(hbVal, 0) + ' <span class=\"vc-rcard-unit\">HB<\/span>';\n        } else {\n            primaryLabel = 'HRB (Rockwell B)';\n            primaryValue = fmt(hrbVal, 1) + ' <span class=\"vc-rcard-unit\">HRB<\/span>';\n        }\n\n        $('vc-primary-label').textContent = primaryLabel;\n        $('vc-r-primary').innerHTML = primaryValue;\n        $('vc-r-hrc').innerHTML = hrcVal !== null ? fmt(hrcVal, 1) + ' <span class=\"vc-rcard-unit\">HRC<\/span>' : '<span style=\"font-size:14px;color:var(--vc-ink-muted);\">Out of range<\/span>';\n        $('vc-r-hb').innerHTML = hbVal !== null ? fmt(hbVal, 0) + ' <span class=\"vc-rcard-unit\">HB<\/span>' : '<span style=\"font-size:14px;color:var(--vc-ink-muted);\">Out of range<\/span>';\n        $('vc-r-hv').innerHTML = hvVal !== null ? fmt(hvVal, 0) + ' <span class=\"vc-rcard-unit\">HV<\/span>' : '<span style=\"font-size:14px;color:var(--vc-ink-muted);\">Out of range<\/span>';\n        $('vc-r-hrb').innerHTML = hrbVal !== null ? fmt(hrbVal, 1) + ' <span class=\"vc-rcard-unit\">HRB<\/span>' : '<span style=\"font-size:14px;color:var(--vc-ink-muted);\">Out of range<\/span>';\n        $('vc-r-rm').innerHTML = rmVal !== null ? '~' + fmt(rmVal, 0) + ' <span class=\"vc-rcard-unit\">MPa<\/span>' : '<span style=\"font-size:14px;color:var(--vc-ink-muted);\">N\/A (HB out of range)<\/span>';\n\n        $('vc-results').classList.add('vc-visible');\n\n        \/\/ Highlight table rows\n        highlightTables(hrcVal, hrbVal);\n\n        \/\/ URL params\n        var u = new URL(window.location);\n        u.searchParams.set('scale', scale);\n        u.searchParams.set('val', val);\n        history.replaceState(null, '', u.toString());\n\n        \/\/ History\n        saveHistory({\n            scale: scale,\n            val: val,\n            _summary: val + ' ' + scale.toUpperCase() + ' \u2192 HV ' + fmt(hvVal, 0) + ', HB ' + fmt(hbVal, 0)\n        });\n    }\n\n    \/* \u2500\u2500 HIGHLIGHT TABLES \u2500\u2500 *\/\n    function clearHighlights() {\n        document.querySelectorAll('.vc-table tr.vc-row-highlight').forEach(function(r) { r.classList.remove('vc-row-highlight'); });\n    }\n\n    function highlightTables(hrcVal, hrbVal) {\n        clearHighlights();\n        \/\/ Highlight closest HRC row\n        if (hrcVal !== null) {\n            var rows = document.querySelectorAll('#vc-hrc-table tbody tr');\n            var bestRow = null, bestDist = Infinity;\n            for (var i = 0; i < rows.length; i++) {\n                var d = Math.abs(parseFloat(rows[i].getAttribute('data-hrc')) - hrcVal);\n                if (d < bestDist) { bestDist = d; bestRow = rows[i]; }\n            }\n            if (bestRow) bestRow.classList.add('vc-row-highlight');\n        }\n        \/\/ Highlight closest HRB row\n        if (hrbVal !== null) {\n            var hrbRows = document.querySelectorAll('#vc-hrb-table tbody tr');\n            var bestHrbRow = null, bestHrbDist = Infinity;\n            for (var j = 0; j < hrbRows.length; j++) {\n                var dd = Math.abs(parseFloat(hrbRows[j].getAttribute('data-hrb')) - hrbVal);\n                if (dd < bestHrbDist) { bestHrbDist = dd; bestHrbRow = hrbRows[j]; }\n            }\n            if (bestHrbRow) bestHrbRow.classList.add('vc-row-highlight');\n        }\n    }\n\n    \/* \u2500\u2500 PRESETS \u2500\u2500 *\/\n    document.querySelectorAll('.vc-preset-btn').forEach(function(btn) {\n        btn.addEventListener('click', function(e) {\n            e.preventDefault();\n            $('vc-scale').value = this.getAttribute('data-s');\n            $('vc-val').value = this.getAttribute('data-v');\n            $('vc-val-hint').textContent = scaleHints[this.getAttribute('data-s')] || '';\n            calculate();\n        });\n    });\n\n    \/* \u2500\u2500 AUTO-CALCULATE \u2500\u2500 *\/\n    $('vc-form').addEventListener('input', calculate);\n    $('vc-form').addEventListener('change', calculate);\n\n    \/* \u2500\u2500 SCALE CHANGE \u2014 update hint \u2500\u2500 *\/\n    $('vc-scale').addEventListener('change', function() {\n        $('vc-val-hint').textContent = scaleHints[this.value] || '';\n    });\n\n    \/* \u2500\u2500 COPY \u2500\u2500 *\/\n    $('vc-copy-btn').addEventListener('click', function() {\n        var text = 'Hardness Conversion\\n' +\n            '\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\n' +\n            'HRC: ' + $('vc-r-hrc').textContent + '\\n' +\n            'HB: ' + $('vc-r-hb').textContent + '\\n' +\n            'HV: ' + $('vc-r-hv').textContent + '\\n' +\n            'HRB: ' + $('vc-r-hrb').textContent + '\\n' +\n            'Rm: ' + $('vc-r-rm').textContent + '\\n' +\n            '\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\n' +\n            'ASTM E140 (approximate)\\n' +\n            'vibromera.eu\/calculators\/hardness-converter\/';\n\n        if (navigator.clipboard) {\n            navigator.clipboard.writeText(text).then(function() {\n                var btn = $('vc-copy-btn');\n                btn.classList.add('vc-copied');\n                btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg> Copied!';\n                setTimeout(function() {\n                    btn.classList.remove('vc-copied');\n                    btn.innerHTML = '<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"9\" y=\"9\" width=\"13\" height=\"13\" rx=\"2\"\/><path d=\"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1\"\/><\/svg> Copy';\n                }, 2000);\n            });\n        }\n    });\n\n    \/* \u2500\u2500 COLLAPSIBLE SECTIONS \u2500\u2500 *\/\n    document.querySelectorAll('.vc-section-toggle').forEach(function(btn) {\n        btn.addEventListener('click', function() {\n            var section = this.closest('.vc-section');\n            var isOpen = section.classList.contains('vc-open');\n            section.classList.toggle('vc-open');\n            this.setAttribute('aria-expanded', !isOpen);\n        });\n    });\n\n    \/* \u2500\u2500 FAQ \u2500\u2500 *\/\n    var faqData = [\n        { q: 'What is the difference between hardness scales?', a: '<p>Each scale uses a different indenter and load:<\/p><ul><li><strong>HRC (Rockwell C)<\/strong> \u2014 Diamond cone, 150 kgf. For hardened steels (20\u201370 HRC).<\/li><li><strong>HRB (Rockwell B)<\/strong> \u2014 1\/16\" steel ball, 100 kgf. For softer materials (20\u2013100 HRB).<\/li><li><strong>HV (Vickers)<\/strong> \u2014 Diamond pyramid, variable load. Universal range, very precise.<\/li><li><strong>HB (Brinell)<\/strong> \u2014 10 mm carbide ball, 3000 kgf. For castings, larger test areas.<\/li><\/ul>' },\n        { q: 'When should I use which hardness scale?', a: '<p>General guidance:<\/p><ul><li><strong>HRC<\/strong> \u2014 Hardened and tempered steels, tool steels, case-hardened parts<\/li><li><strong>HRB<\/strong> \u2014 Annealed steels, brass, aluminum, softer metals<\/li><li><strong>HV<\/strong> \u2014 Thin sheets, coatings, micro-hardness, wide range of materials<\/li><li><strong>HB<\/strong> \u2014 Castings, forgings, raw stock, weld HAZ testing<\/li><\/ul><p>When in doubt, use HRC for hardened steels and HV for everything else.<\/p>' },\n        { q: 'Why are hardness conversions approximate?', a: '<p>Different hardness tests measure different physical properties:<\/p><ul><li>Rockwell measures <strong>depth<\/strong> of penetration<\/li><li>Vickers measures <strong>area<\/strong> of indentation<\/li><li>Brinell measures <strong>diameter<\/strong> of indentation<\/li><\/ul><p>Since these are fundamentally different measurements, the relationships between them are empirical (based on testing), not mathematical. Results vary by material type, microstructure, and heat treatment condition.<\/p><p>ASTM E140 provides accepted approximate conversions based on extensive testing of carbon and alloy steels.<\/p>' },\n        { q: 'How can I estimate tensile strength from hardness?', a: '<p>For carbon and alloy steels, the approximate relationship is:<\/p><ul><li><strong>Rm (MPa) \u2248 3.45 \u00d7 HB<\/strong><\/li><li><strong>Rm (psi) \u2248 500 \u00d7 HB<\/strong><\/li><\/ul><p>This is valid for the range of approximately 100\u2013400 HB. Above ~55 HRC, this relationship breaks down as materials become brittle.<\/p><p>Do not use this for stainless steels, cast irons, non-ferrous metals, or materials with unusual microstructures.<\/p>' },\n        { q: 'What are the test methods in detail?', a: '<p><strong>Rockwell (ASTM E18):<\/strong> Apply preload (10 kgf), then major load (60\/100\/150 kgf). Measure depth increase. Quick (~10s), portable, minimal surface preparation.<\/p><p><strong>Vickers (ASTM E92\/E384):<\/strong> Force a diamond pyramid into the surface. Measure both diagonals under microscope. Very precise, works for micro-hardness (HV 0.01) to macro (HV 120).<\/p><p><strong>Brinell (ASTM E10):<\/strong> Press a 10 mm ball into the surface with 3000 kgf (for steel). Measure indentation diameter. Averages over a large area \u2014 ideal for heterogeneous materials like castings.<\/p>' }\n    ];\n\n    var faqList = $('vc-faq-list');\n    faqData.forEach(function(faq) {\n        faqList.innerHTML += '<div class=\"vc-faq-item\"><button type=\"button\" class=\"vc-faq-q\"><span>' + faq.q + '<\/span><svg class=\"vc-faq-chevron\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 9l6 6 6-6\"\/><\/svg><\/button><div class=\"vc-faq-a\"><div class=\"vc-faq-a-inner\">' + faq.a + '<\/div><\/div><\/div>';\n    });\n    faqList.addEventListener('click', function(e) {\n        var btn = e.target.closest('.vc-faq-q');\n        if (!btn) return;\n        btn.closest('.vc-faq-item').classList.toggle('vc-open');\n    });\n\n    \/* \u2500\u2500 HISTORY \u2500\u2500 *\/\n    function saveHistory(entry) {\n        var key = 'vc_history_' + SLUG;\n        var arr = [];\n        try { arr = JSON.parse(localStorage.getItem(key)) || []; } catch(e) {}\n        entry._ts = new Date().toISOString();\n        arr.unshift(entry);\n        if (arr.length > 10) arr = arr.slice(0, 10);\n        try { localStorage.setItem(key, JSON.stringify(arr)); } catch(e) {}\n    }\n\n    \/* \u2500\u2500 URL PARAMS \u2500\u2500 *\/\n    function loadParams() {\n        var p = new URLSearchParams(window.location.search);\n        if (p.has('scale')) $('vc-scale').value = p.get('scale');\n        if (p.has('val')) $('vc-val').value = p.get('val');\n    }\n\n    \/* \u2500\u2500 KATEX \u2500\u2500 *\/\n    function renderFormulas() {\n        try {\n            katex.render('HV = \\\\frac{1.8544 \\\\times F}{d^2}', $('vc-katex-1'), { displayMode: true, throwOnError: false });\n            katex.render('HB = \\\\frac{2F}{\\\\pi D \\\\left( D - \\\\sqrt{D^2 - d^2} \\\\right)}', $('vc-katex-2'), { displayMode: true, throwOnError: false });\n            katex.render('R_m \\\\approx 3.45 \\\\times HB \\\\quad [\\\\text{MPa}] \\\\quad \\\\text{(carbon \\\\& alloy steels)}', $('vc-katex-3'), { displayMode: true, throwOnError: false });\n        } catch(e) {}\n    }\n\n    \/* \u2500\u2500 INIT \u2500\u2500 *\/\n    function init() {\n        loadParams();\n        renderFormulas();\n        calculate();\n    }\n\n    if (document.readyState === 'loading') {\n        document.addEventListener('DOMContentLoaded', init);\n    } else {\n        init();\n    }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>\u09ac\u09bf\u09a8\u09be\u09ae\u09c2\u09b2\u09cd\u09af\u09c7 \u0985\u09a8\u09b2\u09be\u0987\u09a8 \u0995\u09a0\u09cb\u09b0\u09a4\u09be \u09b0\u09c2\u09aa\u09be\u09a8\u09cd\u09a4\u09b0\u0995\u09be\u09b0\u09c0\u0964 Rockwell HRC, Brinell HB, Vickers HV \u098f\u09ac\u0982 Rockwell HRB \u09b8\u09cd\u0995\u09c7\u09b2\u0997\u09c1\u09b2\u09bf\u09b0 \u09ae\u09a7\u09cd\u09af\u09c7 \u09b0\u09c2\u09aa\u09be\u09a8\u09cd\u09a4\u09b0\u09bf\u09a4 \u0995\u09b0\u09c1\u09a8\u0964 ASTM E140 \u098f\u09b0 \u0989\u09aa\u09b0 \u09ad\u09bf\u09a4\u09cd\u09a4\u09bf \u0995\u09b0\u09c7\u0964 \u0986\u09a8\u09c1\u09ae\u09be\u09a8\u09bf\u0995 \u09aa\u09cd\u09b0\u09b8\u09be\u09b0 \u09b6\u0995\u09cd\u09a4\u09bf \u0985\u09a8\u09c1\u09ae\u09be\u09a8 \u0985\u09a8\u09cd\u09a4\u09b0\u09cd\u09ad\u09c1\u0995\u09cd\u09a4 \u0995\u09b0\u09c7\u0964<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100125","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":1,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100125\/revisions"}],"predecessor-version":[{"id":100439,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100125\/revisions\/100439"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/media?parent=100125"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/categories?post=100125"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/tags?post=100125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}