{"id":100304,"date":"2026-02-15T20:45:05","date_gmt":"2026-02-15T20:45:05","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100304"},"modified":"2026-02-15T20:45:05","modified_gmt":"2026-02-15T20:45:05","slug":"viscosity-converter","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/nb\/calculators\/viscosity-converter\/","title":{"rendered":"Viskositetsomformer | ISO VG \u2194 SAE \u2194 AGMA"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Viscosity Converter \u2014 ISO VG \/ SAE \/ AGMA\",\"alternateName\":[\"ISO VG to SAE Converter\",\"Viscosity Grade Cross Reference\",\"AGMA to ISO Converter\"],\"description\":\"Free online viscosity converter. Cross-reference between ISO VG, SAE crankcase, SAE gear, and AGMA viscosity grades. Unit conversion: cSt to cP, SUS (Saybolt).\",\"url\":\"https:\/\/vibromera.eu\/calculators\/viscosity-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\":[\"ISO VG to SAE conversion\",\"SAE to ISO VG conversion\",\"AGMA grade lookup\",\"cSt to cP conversion\",\"SUS approximation\",\"Cross-reference table\"],\"keywords\":\"viscosity converter, ISO VG, SAE, AGMA, cSt, cP, SUS, Saybolt\"}\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 ISO VG and SAE?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ISO VG (Viscosity Grade) classifies industrial lubricants by kinematic viscosity at 40\u00b0C. SAE grades are used for automotive oils: SAE crankcase grades (e.g. 10W-30) are based on viscosity at 100\u00b0C, while SAE gear grades (e.g. 75W-90) use a different scale. The systems measure at different temperatures and serve different markets.\"}},\n{\"@type\":\"Question\",\"name\":\"Why are there different viscosity scales?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Different industries developed their own standards independently. ISO VG (ISO 3448) is used for industrial lubricants, SAE J300 for automotive engine oils, SAE J306 for automotive gear oils, and AGMA 9005 for industrial gears. Each standard was designed for its specific application and has different test conditions.\"}},\n{\"@type\":\"Question\",\"name\":\"What is AGMA?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"AGMA (American Gear Manufacturers Association) defines lubricant grades for industrial gearing per AGMA 9005. AGMA grades 1-8A correspond roughly to ISO VG 46 through VG 1000. The AGMA system is commonly used in North America for specifying gear lubricants.\"}},\n{\"@type\":\"Question\",\"name\":\"What is the difference between cSt and cP?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"cSt (centistokes, mm\u00b2\/s) is kinematic viscosity \u2014 it measures flow under gravity. cP (centipoise, mPa\u00b7s) is dynamic viscosity \u2014 it measures resistance to flow under applied force. They are related by: cP = cSt \u00d7 density (g\/cm\u00b3). For most lubricating oils with density ~0.87 g\/cm\u00b3, cP \u2248 0.87 \u00d7 cSt.\"}},\n{\"@type\":\"Question\",\"name\":\"How to read multigrade SAE oil?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Multigrade SAE oils like 10W-30 have two numbers: the 'W' (Winter) number indicates cold-start viscosity, and the second number indicates viscosity at operating temperature (100\u00b0C). A 10W-30 oil flows like a 10W at cold temperatures but provides the protection of a 30-grade at operating temperature. Multigrade oils use viscosity index improvers to achieve this behavior.\"}}\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\":\"Viscosity Converter\",\"item\":\"https:\/\/vibromera.eu\/calculators\/viscosity-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<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:640px; }\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\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-highlight { background:var(--vc-accent-light); font-weight:600; }\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 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-viscosity-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\">Viscosity Converter<\/h1>\n    <p class=\"vc-header-subtitle\">Cross-reference between ISO VG, SAE crankcase, SAE gear, and AGMA viscosity grades. Also convert between cSt, cP, and SUS units.<\/p>\n    <div class=\"vc-badges\">\n        <span class=\"vc-badge\">ISO VG<\/span>\n        <span class=\"vc-badge\">SAE J300 \/ J306<\/span>\n        <span class=\"vc-badge\">AGMA 9005<\/span>\n        <span class=\"vc-badge\">cSt \u2194 cP \u2194 SUS<\/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-vg\">Select ISO VG Class<\/label>\n                <select class=\"vc-select\" id=\"vc-vg\">\n                    <option value=\"\">\u2014 select \u2014<\/option>\n                    <option value=\"32\">VG 32<\/option>\n                    <option value=\"46\">VG 46<\/option>\n                    <option value=\"68\">VG 68<\/option>\n                    <option value=\"100\">VG 100<\/option>\n                    <option value=\"150\">VG 150<\/option>\n                    <option value=\"220\">VG 220<\/option>\n                    <option value=\"320\">VG 320<\/option>\n                    <option value=\"460\">VG 460<\/option>\n                    <option value=\"680\">VG 680<\/option>\n                    <option value=\"1000\">VG 1000<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-cst\">Or Enter Viscosity <span class=\"vc-label-hint\">(cSt at 40 \u00b0C)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-cst\" inputmode=\"decimal\" step=\"any\" min=\"0\" placeholder=\"e.g. 68\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-density\">Oil Density <span class=\"vc-label-hint\">(kg\/m\u00b3)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-density\" inputmode=\"decimal\" step=\"any\" min=\"500\" max=\"1500\" placeholder=\"870\" value=\"870\">\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-vg=\"68\">VG 68<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-vg=\"220\">VG 220<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-vg=\"460\">VG 460<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-cst=\"100\">100 cSt<\/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\">\n                <div class=\"vc-rcard-label\">ISO VG Grade<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-vg\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">SAE Crankcase Grade<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-sae-crank\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">SAE Gear Grade<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-sae-gear\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">AGMA Grade<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-agma\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Viscosity Range<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-range\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Dynamic Viscosity<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-cp\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">SUS (Saybolt Universal)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-sus\">\u2014<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Cross-Reference Table & Theory -->\n<div class=\"vc-section vc-open\" id=\"vc-sec-theory\">\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\udcd8<\/span>\n            <span class=\"vc-section-title\">Cross-Reference Table &amp; Conversion Formulas<\/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>ISO VG \/ SAE \/ AGMA Cross-Reference<\/h3>\n            <p>Approximate equivalence between viscosity grading systems. These are not exact conversions \u2014 each system uses different measurement conditions.<\/p>\n            <table class=\"vc-table\" id=\"vc-xref-table\">\n                <thead><tr><th>ISO VG<\/th><th>cSt Range (40 \u00b0C)<\/th><th>SAE Crankcase<\/th><th>SAE Gear<\/th><th>AGMA<\/th><\/tr><\/thead>\n                <tbody id=\"vc-xref-tbody\"><\/tbody>\n            <\/table>\n\n            <h3>Unit Conversion Formulas<\/h3>\n            <div class=\"vc-formula-box\">Dynamic viscosity (cP) = Kinematic viscosity (cSt) \u00d7 Density (g\/cm\u00b3)<\/div>\n            <p>Where: 1 cP = 1 mPa\u00b7s, and 1 cSt = 1 mm\u00b2\/s. Oil density is typically 0.85\u20130.90 g\/cm\u00b3 (850\u2013900 kg\/m\u00b3) at 15 \u00b0C.<\/p>\n\n            <div class=\"vc-formula-box\">SUS \u2248 cSt \u00d7 4.635 &nbsp; (approximate, for cSt &gt; 50)<\/div>\n            <p>The Saybolt Universal Seconds (SUS) approximation is valid for viscosities above ~50 cSt. For lower viscosities, a more complex formula is needed, but the above gives reasonable results for most industrial oils.<\/p>\n\n            <h3>About the Grading Systems<\/h3>\n            <ul>\n                <li><strong>ISO VG<\/strong> (ISO 3448) \u2014 Industrial lubricants; 18 grades VG 2 to VG 1500; kinematic viscosity at 40 \u00b0C \u00b1 10%.<\/li>\n                <li><strong>SAE Crankcase<\/strong> (SAE J300) \u2014 Automotive engine oils; grades like 10W, 20, 30, 40, 50; measured at 100 \u00b0C.<\/li>\n                <li><strong>SAE Gear<\/strong> (SAE J306) \u2014 Automotive gear oils; grades like 75W, 80W-90, 140, 250; measured at 100 \u00b0C.<\/li>\n                <li><strong>AGMA<\/strong> (AGMA 9005) \u2014 Industrial gear lubricants; grades 1 through 8A; aligned with ISO VG.<\/li>\n            <\/ul>\n\n            <div class=\"vc-warning-box\">\n                <p style=\"margin:0;font-size:14px;color:var(--vc-ink-secondary);\"><strong>\u26a0\ufe0f Important:<\/strong> Cross-references are approximate. ISO VG measures at 40 \u00b0C while SAE measures at 100 \u00b0C. Always verify with the specific oil product data sheet for exact viscosity values at your operating temperature.<\/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\/oil-viscosity-class-iso3448\/\">Oil Viscosity Classes (ISO 3448)<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/metal-weight-calculator\/\">Metal Weight Calculator<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/residual-unbalance-iso1940\/\">Residual Unbalance (ISO 1940)<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/trial-weight-calculator\/\">Trial Weight 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 for rotating machinery maintenance.\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>&copy; 2024\u20132025 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a> \u2014 Engineering Calculators<\/p>\n    <p style=\"font-size:12px;margin-top:4px;\">Viscosity cross-reference: ISO VG, SAE, AGMA. 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>\n(function() {\n    'use strict';\n\n    var SLUG = 'viscosity-converter';\n\n    function $(id) { return document.getElementById(id); }\n    function fmt(n, d) { if(isNaN(n)||!isFinite(n)) return '\u2014'; var f=n.toFixed(d===undefined?2:d); return f.replace(\/(\\.\\d*?)0+$\/,'$1').replace(\/\\.$\/,''); }\n\n    \/* \u2500\u2500 CROSS-REFERENCE DATA \u2500\u2500 *\/\n    var XREF = [\n        { vg: 32,   min: 28.8, max: 35.2,  saeCrank: '10W',  saeGear: '\u2014',   agma: '1' },\n        { vg: 46,   min: 41.4, max: 50.6,  saeCrank: '20',   saeGear: '\u2014',   agma: '2' },\n        { vg: 68,   min: 61.2, max: 74.8,  saeCrank: '20W-20', saeGear: '\u2014', agma: '2' },\n        { vg: 100,  min: 90,   max: 110,   saeCrank: '30',   saeGear: '\u2014',   agma: '3' },\n        { vg: 150,  min: 135,  max: 165,   saeCrank: '40',   saeGear: '\u2014',   agma: '4' },\n        { vg: 220,  min: 198,  max: 242,   saeCrank: '50',   saeGear: '\u2014',   agma: '5' },\n        { vg: 320,  min: 288,  max: 352,   saeCrank: '50',   saeGear: '\u2014',   agma: '6' },\n        { vg: 460,  min: 414,  max: 506,   saeCrank: '\u2014',    saeGear: '140', agma: '7' },\n        { vg: 680,  min: 612,  max: 748,   saeCrank: '\u2014',    saeGear: '250', agma: '8' },\n        { vg: 1000, min: 900,  max: 1100,  saeCrank: '\u2014',    saeGear: '\u2014',   agma: '8A' }\n    ];\n\n    \/* \u2500\u2500 BUILD CROSS-REFERENCE TABLE \u2500\u2500 *\/\n    function buildXrefTable(highlightVG) {\n        var tbody = $('vc-xref-tbody');\n        var html = '';\n        XREF.forEach(function(row) {\n            var cls = (highlightVG && row.vg === highlightVG) ? ' class=\"vc-highlight\"' : '';\n            html += '<tr' + cls + '>' +\n                '<td><strong>VG ' + row.vg + '<\/strong><\/td>' +\n                '<td>' + fmt(row.min, 1) + ' \u2013 ' + fmt(row.max, 1) + '<\/td>' +\n                '<td>' + row.saeCrank + '<\/td>' +\n                '<td>' + row.saeGear + '<\/td>' +\n                '<td>' + row.agma + '<\/td>' +\n                '<\/tr>';\n        });\n        tbody.innerHTML = html;\n    }\n\n    \/* \u2500\u2500 FIND ROW BY VG \u2500\u2500 *\/\n    function findByVG(vg) {\n        for (var i = 0; i < XREF.length; i++) {\n            if (XREF[i].vg === vg) return XREF[i];\n        }\n        return null;\n    }\n\n    \/* \u2500\u2500 FIND ROW BY CST \u2500\u2500 *\/\n    function findByCst(cst) {\n        \/\/ Exact range match\n        for (var i = 0; i < XREF.length; i++) {\n            if (cst >= XREF[i].min && cst <= XREF[i].max) return XREF[i];\n        }\n        \/\/ Closest midpoint\n        var closest = null, minDist = Infinity;\n        XREF.forEach(function(row) {\n            var dist = Math.abs(cst - row.vg);\n            if (dist < minDist) { minDist = dist; closest = row; }\n        });\n        return closest;\n    }\n\n    \/* \u2500\u2500 SHOW RESULTS \u2500\u2500 *\/\n    function showResults(row, inputCst) {\n        if (!row) { $('vc-results').classList.remove('vc-visible'); return; }\n\n        var density = parseFloat($('vc-density').value) || 870;\n        var densityGcm3 = density \/ 1000;\n        var midCst = row.vg;\n        var useCst = inputCst || midCst;\n\n        \/\/ Unit conversions\n        var cP = useCst * densityGcm3;\n        var sus = useCst <= 0 ? 0 : 4.6324*useCst+(1.0+0.03264*useCst)\/(3930.2+262.7*useCst+23.97*useCst*useCst+1.646*useCst*useCst*useCst)*1e5;\n\n        var inRange = inputCst ? (inputCst >= row.min && inputCst <= row.max) : true;\n        var vgLabel = 'ISO VG ' + row.vg;\n        if (inputCst && !inRange) {\n            vgLabel += ' <span class=\"vc-rcard-unit\">(closest)<\/span>';\n        }\n\n        $('vc-r-vg').innerHTML = vgLabel;\n        $('vc-r-sae-crank').innerHTML = row.saeCrank !== '\u2014' ? 'SAE ' + row.saeCrank : '<span class=\"vc-rcard-unit\">\u2014<\/span>';\n        $('vc-r-sae-gear').innerHTML = row.saeGear !== '\u2014' ? 'SAE ' + row.saeGear : '<span class=\"vc-rcard-unit\">\u2014<\/span>';\n        $('vc-r-agma').innerHTML = 'AGMA ' + row.agma;\n        $('vc-r-range').innerHTML = fmt(row.min, 1) + ' \u2013 ' + fmt(row.max, 1) + ' <span class=\"vc-rcard-unit\">cSt<\/span>';\n        $('vc-r-cp').innerHTML = fmt(cP, 1) + ' <span class=\"vc-rcard-unit\">cP (mPa\u00b7s)<\/span>';\n        $('vc-r-sus').innerHTML = fmt(sus, 0) + ' <span class=\"vc-rcard-unit\">SUS<\/span> <span class=\"vc-rcard-unit\">(approx)<\/span>';\n\n        $('vc-results').classList.add('vc-visible');\n        buildXrefTable(row.vg);\n    }\n\n    \/* \u2500\u2500 VG DROPDOWN \u2500\u2500 *\/\n    var skipCstChange = false;\n    $('vc-vg').addEventListener('change', function() {\n        var vg = parseInt(this.value);\n        if (!vg) { $('vc-results').classList.remove('vc-visible'); buildXrefTable(null); return; }\n        $('vc-cst').value = '';\n        var row = findByVG(vg);\n        showResults(row, null);\n        if (row) saveHistory({ mode: 'vg', vg: row.vg, _summary: 'VG ' + row.vg + ' \u2192 SAE ' + row.saeCrank + ' \/ Gear ' + row.saeGear + ' \/ AGMA ' + row.agma });\n    });\n\n    \/* \u2500\u2500 CST INPUT \u2500\u2500 *\/\n    $('vc-cst').addEventListener('input', function() {\n        var cst = parseFloat(this.value);\n        if (!cst || cst <= 0) { $('vc-results').classList.remove('vc-visible'); buildXrefTable(null); return; }\n        $('vc-vg').value = '';\n        var row = findByCst(cst);\n        showResults(row, cst);\n        if (row) saveHistory({ mode: 'cst', cst: cst, vg: row.vg, _summary: cst + ' cSt \u2192 VG ' + row.vg });\n    });\n\n    \/* \u2500\u2500 DENSITY INPUT \u2500\u2500 *\/\n    $('vc-density').addEventListener('input', function() {\n        \/\/ Re-trigger calculation if results are showing\n        var cst = parseFloat($('vc-cst').value);\n        var vg = parseInt($('vc-vg').value);\n        if (cst > 0) {\n            var row = findByCst(cst);\n            showResults(row, cst);\n        } else if (vg > 0) {\n            var row2 = findByVG(vg);\n            showResults(row2, null);\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            var vg = this.getAttribute('data-vg');\n            var cst = this.getAttribute('data-cst');\n            if (vg) {\n                $('vc-cst').value = '';\n                $('vc-vg').value = vg;\n                var row = findByVG(parseInt(vg));\n                showResults(row, null);\n            } else if (cst) {\n                $('vc-vg').value = '';\n                $('vc-cst').value = cst;\n                var row2 = findByCst(parseFloat(cst));\n                showResults(row2, parseFloat(cst));\n            }\n        });\n    });\n\n    \/* \u2500\u2500 COPY \u2500\u2500 *\/\n    $('vc-copy-btn').addEventListener('click', function() {\n        var text = 'Viscosity 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            'ISO VG: ' + $('vc-r-vg').textContent + '\\n' +\n            'SAE Crankcase: ' + $('vc-r-sae-crank').textContent + '\\n' +\n            'SAE Gear: ' + $('vc-r-sae-gear').textContent + '\\n' +\n            'AGMA: ' + $('vc-r-agma').textContent + '\\n' +\n            'Range: ' + $('vc-r-range').textContent + '\\n' +\n            'Dynamic: ' + $('vc-r-cp').textContent + '\\n' +\n            'SUS: ' + $('vc-r-sus').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            'vibromera.eu\/calculators\/viscosity-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 ISO VG and SAE?', a: '<p><strong>ISO VG<\/strong> (ISO 3448) classifies industrial lubricants by kinematic viscosity at <strong>40 \u00b0C<\/strong>. <strong>SAE<\/strong> grades classify automotive oils at <strong>100 \u00b0C<\/strong> (SAE J300 for engine oils, SAE J306 for gear oils).<\/p><p>Because they measure at different temperatures, there is no exact conversion \u2014 only approximate equivalence. For example, ISO VG 68 \u2248 SAE 20W-20 for crankcase oil.<\/p>' },\n        { q: 'Why are there different viscosity scales?', a: '<p>Different industries developed classification systems independently:<\/p><ul><li><strong>ISO VG<\/strong> \u2014 International standard for industrial lubricants<\/li><li><strong>SAE J300<\/strong> \u2014 Automotive engine oils (Society of Automotive Engineers)<\/li><li><strong>SAE J306<\/strong> \u2014 Automotive gear oils<\/li><li><strong>AGMA 9005<\/strong> \u2014 Industrial gear lubricants (American Gear Manufacturers Association)<\/li><\/ul><p>Each system is optimized for its specific application and operating conditions.<\/p>' },\n        { q: 'What is AGMA?', a: '<p><strong>AGMA<\/strong> (American Gear Manufacturers Association) defines lubricant specifications for industrial gears per <strong>AGMA 9005<\/strong>. AGMA grades 1 through 8A cover the range from ISO VG 32 to VG 1000.<\/p><p>AGMA grades are commonly used in North America for specifying gear lubricants, especially for enclosed industrial gearboxes.<\/p>' },\n        { q: 'What is the difference between cSt and cP?', a: '<p><strong>cSt<\/strong> (centistokes) = <strong>kinematic viscosity<\/strong> (mm\u00b2\/s). It measures how a fluid flows under gravity.<\/p><p><strong>cP<\/strong> (centipoise) = <strong>dynamic viscosity<\/strong> (mPa\u00b7s). It measures resistance to flow under applied force.<\/p><p>Conversion: <strong>cP = cSt \u00d7 density (g\/cm\u00b3)<\/strong>. For typical mineral oil (~0.87 g\/cm\u00b3), dynamic viscosity is about 87% of kinematic viscosity.<\/p>' },\n        { q: 'How to read multigrade SAE oil (e.g. 10W-30)?', a: '<p>Multigrade SAE oil ratings contain two numbers:<\/p><ul><li><strong>First number + W<\/strong> (e.g. 10W) \u2014 Cold-start viscosity grade (W = Winter). Lower number = better cold flow.<\/li><li><strong>Second number<\/strong> (e.g. 30) \u2014 Operating temperature viscosity grade at 100 \u00b0C.<\/li><\/ul><p>A 10W-30 oil flows like a 10W at cold temperatures (\u221225 \u00b0C) but maintains the film strength of a 30-weight oil at 100 \u00b0C. This is achieved using viscosity index improver additives.<\/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 INIT \u2500\u2500 *\/\n    function init() {\n        buildXrefTable(null);\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>Gratis viskositetskonverter p\u00e5 nett. Kryssreferanse mellom ISO VG, SAE veivhus, SAE gir og AGMA viskositetsgrader. Konverter cSt til cP, SUS (Saybolt). Komplett ekvivalenstabell.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100304","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100304","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":1,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100304\/revisions"}],"predecessor-version":[{"id":100611,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100304\/revisions\/100611"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/media?parent=100304"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/categories?post=100304"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/tags?post=100304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}