{"id":100180,"date":"2026-02-15T20:25:23","date_gmt":"2026-02-15T20:25:23","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100180"},"modified":"2026-02-15T20:25:23","modified_gmt":"2026-02-15T20:25:23","slug":"o-ring-selection-iso3601","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/nb\/calculators\/o-ring-selection-iso3601\/","title":{"rendered":"Valg av O-ringst\u00f8rrelse | ISO 3601 | Gratis online verkt\u00f8y"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"O-Ring Size Selection Tool\",\"alternateName\":[\"O-Ring Calculator\",\"ISO 3601 O-Ring Selector\",\"Gland Design Calculator\"],\"description\":\"Free online O-ring size selection tool per ISO 3601-1. Find the right standard O-ring inner diameter and cross-section for piston, rod, and face seal applications. Calculates groove depth, groove width, squeeze percentage, and stretch.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/o-ring-selection-iso3601\/\",\"applicationCategory\":\"Engineering Calculator\",\"operatingSystem\":\"Any (Web Browser)\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"},\"datePublished\":\"2025-01-01\",\"dateModified\":\"2025-02-14\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true,\"featureList\":[\"ISO 3601-1 standard sizes\",\"Piston, rod, and face seal applications\",\"Groove dimension calculation\",\"Squeeze and stretch percentage\",\"Cross-sections 1.78\u20136.99 mm\",\"Auto-calculation on input change\"],\"keywords\":\"O-ring, ISO 3601, seal design, groove dimensions, squeeze, gland, piston seal, rod seal\"}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"How do I select the right O-ring size?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Start by identifying the seal application (piston, rod, or face seal), the housing bore or shaft diameter, and the required cross-section. For piston seals, the O-ring OD should match the bore \u2014 so ID = bore \u2212 2\u00d7CS. For rod seals, the O-ring ID should match the rod diameter. Then select the nearest standard ID from ISO 3601 tables. Target 15\u201325% squeeze for reliable sealing.\"}},\n{\"@type\":\"Question\",\"name\":\"What is squeeze percentage and why does it matter?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Squeeze is the percentage by which the O-ring cross-section is compressed in the groove. Squeeze % = (CS \u2212 compressed height)\/CS \u00d7 100. For dynamic seals (piston\/rod), target 10\u201320%. For static seals (face\/flange), 15\u201330%. Too little squeeze causes leakage; too much causes excessive friction, heat, and premature wear.\"}},\n{\"@type\":\"Question\",\"name\":\"What is the effect of stretch on O-ring performance?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Stretch occurs when the O-ring is installed on a diameter larger than its free-state ID. Up to 5% stretch is acceptable for most applications. Stretch reduces the effective cross-section and increases stress in the elastomer. Excessive stretch (>5%) can cause premature failure, especially with hard compounds like FKM\/Viton.\"}},\n{\"@type\":\"Question\",\"name\":\"What materials are available for O-rings?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Common O-ring materials include NBR (Nitrile, \u221240 to +120\u00b0C, oil-resistant), FKM\/Viton (\u221220 to +200\u00b0C, chemical-resistant), EPDM (\u221250 to +150\u00b0C, water\/steam), Silicone (\u221260 to +200\u00b0C, food-grade), and FFKM\/Kalrez (\u221225 to +325\u00b0C, universal chemical resistance). Material selection depends on temperature, media, and pressure.\"}},\n{\"@type\":\"Question\",\"name\":\"When are backup rings needed?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Backup rings (anti-extrusion rings) are needed when the pressure exceeds the O-ring's extrusion resistance \u2014 typically above 3.5 MPa (500 psi) for static seals or 7 MPa (1000 psi) for dynamic seals, depending on hardness and gap. Use one backup ring on the low-pressure side, or two for bi-directional pressure. Material is typically PTFE or polyamide.\"}}\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\":\"O-Ring Selection\",\"item\":\"https:\/\/vibromera.eu\/calculators\/o-ring-selection-iso3601\/\"}\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.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:620px; }\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.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.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.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.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:3000px; 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:28px; color:var(--vc-accent); }\n.vc-rcard-unit { font-size:14px; font-weight:400; color:var(--vc-ink-secondary); }\n.vc-rcard-note { font-family:var(--vc-font); font-size:12px; color:var(--vc-ink-muted); margin-top:4px; }\n\n.vc-status-ok { color:var(--vc-green); }\n.vc-status-warn { color:var(--vc-yellow); }\n.vc-status-bad { color:var(--vc-red); }\n\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.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-wrap { overflow-x:auto; margin:14px 0; }\n.vc-table { width:100%; border-collapse:collapse; 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 td.vc-mono-cell { font-family:var(--vc-mono); font-size:12px; }\n@media(max-width:600px) { .vc-table { font-size:12px; } .vc-table th, .vc-table td { padding:8px; } }\n\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.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.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.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@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-oring-selection\">\n\n<!-- Header -->\n<header class=\"vc-header\">\n    <p class=\"vc-header-eyebrow\">Free Engineering Tool<\/p>\n    <h1 class=\"vc-header-title\">O-Ring Size Selection<\/h1>\n    <p class=\"vc-header-subtitle\">Find the right standard O-ring size per ISO 3601 for piston, rod, or face seal applications. Get groove dimensions, squeeze percentage, and stretch \u2014 instantly.<\/p>\n    <div class=\"vc-badges\">\n        <span class=\"vc-badge\">ISO 3601-1<\/span>\n        <span class=\"vc-badge\">AS568<\/span>\n        <span class=\"vc-badge\">CS 1.78 \u2013 6.99 mm<\/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-app\">Application<\/label>\n                <select class=\"vc-select\" id=\"vc-app\">\n                    <option value=\"piston\">Piston seal (O-ring in piston groove)<\/option>\n                    <option value=\"rod\">Rod seal (O-ring in housing bore)<\/option>\n                    <option value=\"face\">Face seal \/ flange (static)<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-cs\">Cross-Section CS <span class=\"vc-label-hint\">(mm)<\/span><\/label>\n                <select class=\"vc-select\" id=\"vc-cs\">\n                    <option value=\"1.78\">1.78 mm (AS568 -0XX)<\/option>\n                    <option value=\"2.62\">2.62 mm (AS568 -1XX)<\/option>\n                    <option value=\"3.53\" selected>3.53 mm (AS568 -2XX)<\/option>\n                    <option value=\"5.33\">5.33 mm (AS568 -3XX)<\/option>\n                    <option value=\"6.99\">6.99 mm (AS568 -4XX)<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-dia\">Bore \/ Shaft Diameter <span class=\"vc-label-hint\">(mm)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-dia\" inputmode=\"decimal\" step=\"any\" min=\"1\" placeholder=\"e.g. 50\" value=\"50\">\n            <\/div>\n            <div class=\"vc-field\">\n                <label class=\"vc-label\" for=\"vc-squeeze-target\">Target Squeeze <span class=\"vc-label-hint\">(%)<\/span><\/label>\n                <input class=\"vc-input\" type=\"number\" id=\"vc-squeeze-target\" inputmode=\"decimal\" step=\"1\" min=\"5\" max=\"40\" placeholder=\"e.g. 20\" value=\"20\">\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-app=\"piston\" data-dia=\"50\" data-cs=\"3.53\">Piston \\u00d850 mm CS 3.53<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-app=\"rod\" data-dia=\"25\" data-cs=\"2.62\">Rod \\u00d825 mm CS 2.62<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-app=\"face\" data-dia=\"80\" data-cs=\"5.33\">Flange \\u00d880 mm CS 5.33<\/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\">Recommended O-Ring<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-oring\">\u2014<\/div>\n                <div class=\"vc-rcard-note\" id=\"vc-r-oring-note\"><\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Groove Depth<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-depth\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Groove Width<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-width\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Actual Squeeze<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-squeeze\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">Stretch \/ Compression<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-stretch\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">O-Ring ID (standard)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-id\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">O-Ring OD (calculated)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-od\">\u2014<\/div>\n            <\/div>\n            <div class=\"vc-rcard\">\n                <div class=\"vc-rcard-label\">ID Tolerance (ISO 3601)<\/div>\n                <div class=\"vc-rcard-value\" id=\"vc-r-tol\">\u2014<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Standard Sizes Table -->\n<div class=\"vc-section\" id=\"vc-sec-table\">\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\udccf<\/span>\n            <span class=\"vc-section-title\">Standard Cross-Sections &amp; Gland Design<\/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 3601 Standard Cross-Sections<\/h3>\n            <div class=\"vc-table-wrap\">\n                <table class=\"vc-table\">\n                    <thead><tr><th>CS (mm)<\/th><th>AS568 Series<\/th><th>CS Tolerance<\/th><th>Typical ID Range<\/th><th>Groove Depth (20% sq.)<\/th><th>Groove Width<\/th><\/tr><\/thead>\n                    <tbody>\n                        <tr><td class=\"vc-mono-cell\">1.78<\/td><td>-0XX<\/td><td class=\"vc-mono-cell\">&plusmn;0.08<\/td><td>1\u201325 mm<\/td><td class=\"vc-mono-cell\">1.42<\/td><td class=\"vc-mono-cell\">2.50<\/td><\/tr>\n                        <tr><td class=\"vc-mono-cell\">2.62<\/td><td>-1XX<\/td><td class=\"vc-mono-cell\">&plusmn;0.09<\/td><td>9\u201376 mm<\/td><td class=\"vc-mono-cell\">2.10<\/td><td class=\"vc-mono-cell\">3.60<\/td><\/tr>\n                        <tr><td class=\"vc-mono-cell\">3.53<\/td><td>-2XX<\/td><td class=\"vc-mono-cell\">&plusmn;0.10<\/td><td>15\u2013133 mm<\/td><td class=\"vc-mono-cell\">2.82<\/td><td class=\"vc-mono-cell\">4.80<\/td><\/tr>\n                        <tr><td class=\"vc-mono-cell\">5.33<\/td><td>-3XX<\/td><td class=\"vc-mono-cell\">&plusmn;0.13<\/td><td>19\u2013267 mm<\/td><td class=\"vc-mono-cell\">4.26<\/td><td class=\"vc-mono-cell\">7.15<\/td><\/tr>\n                        <tr><td class=\"vc-mono-cell\">6.99<\/td><td>-4XX<\/td><td class=\"vc-mono-cell\">&plusmn;0.15<\/td><td>50\u2013292 mm<\/td><td class=\"vc-mono-cell\">5.59<\/td><td class=\"vc-mono-cell\">9.40<\/td><\/tr>\n                    <\/tbody>\n                <\/table>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Theory & Formulas -->\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; Gland Design<\/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>O-Ring Squeeze<\/h3>\n            <p>Squeeze is the diametral compression of the O-ring cross-section when installed in the groove. It creates the initial seal contact stress.<\/p>\n            <div class=\"vc-formula-box\" id=\"vc-katex-1\"><\/div>\n            <ul>\n                <li><strong>Dynamic seals<\/strong> (piston\/rod): 10\u201320% squeeze recommended<\/li>\n                <li><strong>Static seals<\/strong> (face\/flange): 15\u201330% squeeze recommended<\/li>\n            <\/ul>\n\n            <h3>Groove Dimensions<\/h3>\n            <div class=\"vc-formula-box\" id=\"vc-katex-2\"><\/div>\n            <div class=\"vc-formula-box\" id=\"vc-katex-3\"><\/div>\n            <p>The groove width must allow the O-ring to expand laterally when squeezed, plus accommodate thermal expansion and swell.<\/p>\n\n            <h3>Stretch &amp; Compression<\/h3>\n            <p>For piston seals, the O-ring is stretched over the piston. For rod seals, it is compressed into the bore groove.<\/p>\n            <div class=\"vc-formula-box\" id=\"vc-katex-4\"><\/div>\n            <ul>\n                <li><strong>Max stretch:<\/strong> 5% (standard elastomers), 3% (PTFE, hard compounds)<\/li>\n                <li><strong>Max compression:<\/strong> 3% of ID<\/li>\n            <\/ul>\n\n            <div class=\"vc-example-box\">\n                <div class=\"vc-example-title\">Example \u2014 Piston Seal, Bore \\u00d850 mm, CS 3.53 mm<\/div>\n                <p><strong>Target:<\/strong> O-ring OD \u2248 bore = 50 mm<\/p>\n                <p>Required ID = 50 \u2212 2 \u00d7 3.53 = 42.94 mm<\/p>\n                <p>Nearest standard ID: <strong>42.86 mm<\/strong> \u2192 OD = 42.86 + 2 \u00d7 3.53 = 49.92 mm<\/p>\n                <p>Stretch = (43.94* \u2212 42.86) \/ 42.86 \u00d7 100 \u2248 <strong>2.5%<\/strong> \u2713<\/p>\n                <p>Groove depth (20% squeeze) = 3.53 \u00d7 0.80 = <strong>2.82 mm<\/strong><\/p>\n                <p>Groove width = 3.53 \u00d7 1.35 = <strong>4.77 mm<\/strong><\/p>\n                <p style=\"font-size:12px;color:var(--vc-ink-muted);\">*groove bottom diameter depends on piston OD and groove depth<\/p>\n            <\/div>\n\n            <div class=\"vc-warning-box\">\n                <p style=\"margin:0;font-size:14px;color:var(--vc-ink-secondary);\"><strong>\u26a0\ufe0f Note:<\/strong> Always verify groove fill ratio (O-ring volume vs groove volume). The O-ring should fill 70\u201385% of the groove. Under-filling causes instability; over-filling prevents thermal expansion and causes extrusion.<\/p>\n            <\/div>\n\n            <div class=\"vc-info-box\">\n                <p><strong>\u2139\ufe0f Tip:<\/strong> For pressures above 3.5 MPa (static) or 7 MPa (dynamic), add a backup ring on the low-pressure side to prevent O-ring extrusion into the gap.<\/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\/metric-thread-dimensions\/\">Metric Thread Dimensions (ISO 261)<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/bolt-strength-class-iso898\/\">Bolt Strength Classes (ISO 898)<\/a>\n                <a class=\"vc-related-link\" href=\"\/calculators\/residual-unbalance-iso1940\/\">Residual Unbalance (ISO 1940)<\/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>&copy; 2024\u20132025 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a> \u2014 Engineering Calculators<\/p>\n    <p style=\"font-size:12px;margin-top:4px;\">Based on ISO 3601-1. 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 = 'o-ring-selection-iso3601';\n\n    function $(id) { return document.getElementById(id); }\n    function fmt(n, d) { if (isNaN(n)) return '\\u2014'; var f = n.toFixed(d === undefined ? 2 : d); return f.replace(\/(\\.\\d*?)0+$\/, '$1').replace(\/\\.$\/, ''); }\n\n    \/* \u2500\u2500 STANDARD O-RING IDs per cross-section (ISO 3601-1 \/ AS568) \u2500\u2500 *\/\n    var STD_IDS = {\n        1.78: [1.07,1.42,1.78,2.57,2.90,3.68,4.47,5.28,6.07,7.65,9.25,10.82,12.42,14.00,15.60,17.17,18.77,20.35,21.95,23.52,25.12],\n        2.62: [9.19,10.77,12.37,13.94,15.54,17.12,18.72,20.29,21.89,23.47,25.07,26.64,28.24,29.82,31.42,33.00,34.59,37.77,40.94,44.12,47.29,50.47,53.64,56.82,59.99,63.17,66.34,69.52,72.69,75.87],\n        3.53: [15.54,17.12,18.72,20.29,21.89,23.47,25.07,26.64,28.24,29.82,31.42,34.59,37.77,40.94,44.12,47.29,50.47,53.64,56.82,59.99,63.17,69.52,75.87,82.22,88.57,94.92,101.27,107.62,113.97,120.32,126.67,132.72,139.07,145.42,151.77,158.12,164.47,170.82,177.17,183.52,189.87],\n        5.33: [18.72,20.29,23.47,25.07,28.24,31.42,34.59,37.77,40.94,44.12,47.29,50.47,53.64,56.82,59.99,63.17,69.52,75.87,82.22,88.57,94.92,101.27,113.97,126.67,139.37,152.07,164.77,177.47,190.17,202.87,215.57,228.27,240.97,253.67,266.37],\n        6.99: [50.17,53.34,56.52,59.69,62.87,66.04,69.22,72.39,75.57,78.74,81.92,88.27,94.62,100.97,107.32,113.67,120.02,126.37,132.72,139.07,151.77,164.47,177.17,189.87,202.57,215.27,227.97,240.67,253.37,266.07,278.77,291.47]\n    };\n\n    \/* \u2500\u2500 ID TOLERANCES per ISO 3601-1 (approximate) \u2500\u2500 *\/\n    function getIdTolerance(id) {\n        if (id <= 10) return 0.25;\n        if (id <= 25) return 0.37;\n        if (id <= 50) return 0.50;\n        if (id <= 120) return 0.70;\n        if (id <= 200) return 0.90;\n        return 1.20;\n    }\n\n    \/* \u2500\u2500 CS TOLERANCES \u2500\u2500 *\/\n    var CS_TOL = { 1.78: 0.08, 2.62: 0.09, 3.53: 0.10, 5.33: 0.13, 6.99: 0.15 };\n\n    \/* \u2500\u2500 FIND NEAREST STANDARD ID \u2500\u2500 *\/\n    function findNearest(ids, target) {\n        var best = ids[0], bestDiff = Math.abs(ids[0] - target);\n        for (var i = 1; i < ids.length; i++) {\n            var diff = Math.abs(ids[i] - target);\n            if (diff < bestDiff) { best = ids[i]; bestDiff = diff; }\n        }\n        return best;\n    }\n\n    \/* \u2500\u2500 CALCULATE \u2500\u2500 *\/\n    function calculate() {\n        var app = $('vc-app').value;\n        var cs = parseFloat($('vc-cs').value);\n        var dia = parseFloat($('vc-dia').value);\n        var sqTarget = parseFloat($('vc-squeeze-target').value) \/ 100;\n\n        if (!dia || dia <= 0 || !cs) {\n            $('vc-results').classList.remove('vc-visible');\n            return;\n        }\n\n        var ids = STD_IDS[cs];\n        if (!ids) { $('vc-results').classList.remove('vc-visible'); return; }\n\n        \/\/ Determine target O-ring ID based on application\n        var targetId, stretchLabel;\n        if (app === 'piston') {\n            \/\/ O-ring OD should \u2248 bore dia. ID = bore - 2\u00d7CS\n            targetId = dia - 2 * cs;\n            stretchLabel = 'Stretch';\n        } else if (app === 'rod') {\n            \/\/ O-ring ID should \u2248 rod dia\n            targetId = dia;\n            stretchLabel = 'Compression';\n        } else {\n            \/\/ Face seal: O-ring ID \u2248 groove\/flange dia\n            targetId = dia;\n            stretchLabel = 'Stretch';\n        }\n\n        if (targetId < 0) { $('vc-results').classList.remove('vc-visible'); return; }\n\n        \/\/ Find nearest standard ID\n        var stdId = findNearest(ids, targetId);\n        var stdOd = stdId + 2 * cs;\n\n        \/\/ Groove dimensions\n        var grooveDepth = cs * (1 - sqTarget);\n        var grooveWidth = cs * 1.35; \/\/ standard multiplier for moderate fill\n\n        \/\/ Actual squeeze\n        var actualSqueeze = sqTarget * 100;\n\n        \/\/ Stretch\/compression calculation\n        var stretchPct;\n        if (app === 'piston') {\n            \/\/ Piston groove bottom diameter = piston OD - 2 \u00d7 grooveDepth\n            \/\/ O-ring ID must fit on piston groove bottom\n            \/\/ Simplified: stretch \u2248 (targetId - stdId) \/ stdId * 100\n            \/\/ But more accurately for piston: the O-ring is stretched to fit over piston\n            var grooveBottomDia = dia - 2 * grooveDepth;\n            stretchPct = Math.abs(grooveBottomDia - stdId) \/ stdId * 100;\n        } else if (app === 'rod') {\n            \/\/ Rod seal: O-ring is slightly compressed\n            stretchPct = Math.abs(stdId - dia) \/ stdId * 100;\n        } else {\n            \/\/ Face seal: stretch is minimal\n            stretchPct = Math.abs(targetId - stdId) \/ stdId * 100;\n        }\n\n        \/\/ Status indicators\n        var squeezeStatus = 'vc-status-ok';\n        var squeezeNote = '';\n        if (actualSqueeze < 10) { squeezeStatus = 'vc-status-bad'; squeezeNote = ' (too low!)'; }\n        else if (actualSqueeze < 15 && app !== 'face') { squeezeStatus = 'vc-status-warn'; squeezeNote = ' (low)'; }\n        else if (actualSqueeze > 30) { squeezeStatus = 'vc-status-warn'; squeezeNote = ' (high)'; }\n        else if (actualSqueeze > 35) { squeezeStatus = 'vc-status-bad'; squeezeNote = ' (too high!)'; }\n\n        var stretchStatus = 'vc-status-ok';\n        if (stretchPct > 5) stretchStatus = 'vc-status-bad';\n        else if (stretchPct > 3) stretchStatus = 'vc-status-warn';\n\n        var idTol = getIdTolerance(stdId);\n\n        \/\/ Display results\n        $('vc-r-oring').innerHTML = fmt(stdId, 2) + ' <span class=\"vc-rcard-unit\">\\u00d7<\/span> ' + fmt(cs, 2) + ' <span class=\"vc-rcard-unit\">mm (ID \\u00d7 CS)<\/span>';\n        $('vc-r-oring-note').textContent = app === 'piston' ? 'Piston seal \u2014 O-ring in piston groove' : app === 'rod' ? 'Rod seal \u2014 O-ring in housing groove' : 'Face seal \u2014 static application';\n\n        $('vc-r-depth').innerHTML = fmt(grooveDepth, 2) + ' <span class=\"vc-rcard-unit\">mm<\/span>';\n        $('vc-r-width').innerHTML = fmt(grooveWidth, 2) + ' <span class=\"vc-rcard-unit\">mm<\/span>';\n        $('vc-r-squeeze').innerHTML = '<span class=\"' + squeezeStatus + '\">' + fmt(actualSqueeze, 1) + '%<\/span>' + squeezeNote;\n        $('vc-r-stretch').innerHTML = '<span class=\"' + stretchStatus + '\">' + fmt(stretchPct, 1) + '% <span class=\"vc-rcard-unit\">' + stretchLabel + '<\/span><\/span>';\n        $('vc-r-id').innerHTML = fmt(stdId, 2) + ' <span class=\"vc-rcard-unit\">mm<\/span>';\n        $('vc-r-od').innerHTML = fmt(stdOd, 2) + ' <span class=\"vc-rcard-unit\">mm<\/span>';\n        $('vc-r-tol').innerHTML = '\\u00b1' + fmt(idTol, 2) + ' <span class=\"vc-rcard-unit\">mm<\/span> <span class=\"vc-rcard-unit\">(CS \\u00b1' + fmt(CS_TOL[cs], 2) + ')<\/span>';\n\n        $('vc-results').classList.add('vc-visible');\n\n        \/\/ URL params\n        var u = new URL(window.location);\n        u.searchParams.set('app', app);\n        u.searchParams.set('dia', dia);\n        u.searchParams.set('cs', cs);\n        u.searchParams.set('sq', $('vc-squeeze-target').value);\n        history.replaceState(null, '', u.toString());\n\n        saveHistory({\n            app: app, dia: dia, cs: cs, squeeze: actualSqueeze,\n            _summary: app + ' \\u00d8' + dia + 'mm, CS ' + cs + ', ID=' + fmt(stdId, 2)\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-app').value = this.getAttribute('data-app');\n            $('vc-dia').value = this.getAttribute('data-dia');\n            $('vc-cs').value = this.getAttribute('data-cs');\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 COPY \u2500\u2500 *\/\n    $('vc-copy-btn').addEventListener('click', function() {\n        var text = 'O-Ring Selection \\u2014 ISO 3601\\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            'Application: ' + $('vc-app').options[$('vc-app').selectedIndex].text + '\\n' +\n            'Bore\/Shaft: ' + $('vc-dia').value + ' mm\\n' +\n            'O-Ring: ' + $('vc-r-oring').textContent + '\\n' +\n            'Groove depth: ' + $('vc-r-depth').textContent + '\\n' +\n            'Groove width: ' + $('vc-r-width').textContent + '\\n' +\n            'Squeeze: ' + $('vc-r-squeeze').textContent + '\\n' +\n            'Stretch: ' + $('vc-r-stretch').textContent + '\\n' +\n            'ID tolerance: ' + $('vc-r-tol').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\/o-ring-selection-iso3601\/';\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: 'How do I select the right O-ring size?', a: '<p>Follow these steps:<\/p><ol><li><strong>Identify application:<\/strong> piston seal, rod seal, or face seal<\/li><li><strong>Determine diameter:<\/strong> bore diameter (piston) or shaft diameter (rod)<\/li><li><strong>Choose cross-section:<\/strong> larger CS for higher pressures and larger diameters. CS 3.53 mm is the most common general-purpose size<\/li><li><strong>Find standard ID:<\/strong> for piston seals, ID = bore \\u2212 2\\u00d7CS. For rod seals, ID \\u2248 rod diameter. Select nearest standard size from ISO 3601<\/li><li><strong>Verify squeeze:<\/strong> aim for 15\\u201325% (static) or 10\\u201320% (dynamic)<\/li><li><strong>Check stretch:<\/strong> should be \\u22645% of ID<\/li><\/ol>' },\n        { q: 'What is squeeze percentage and why does it matter?', a: '<p>Squeeze is the percentage compression of the O-ring cross-section in the groove:<\/p><p><strong>Squeeze % = (CS \\u2212 compressed height) \/ CS \\u00d7 100<\/strong><\/p><p>It creates the initial contact stress needed for sealing. Guidelines:<\/p><ul><li><strong>10\\u201320%<\/strong> for dynamic seals (piston\/rod) \\u2014 balances sealing and friction<\/li><li><strong>15\\u201330%<\/strong> for static seals (face\/flange) \\u2014 higher squeeze for reliability<\/li><li>Too little squeeze \u2192 leakage, poor seal<\/li><li>Too much squeeze \u2192 excessive friction, heat, spiral failure, short life<\/li><\/ul>' },\n        { q: 'What is the effect of stretch on O-ring performance?', a: '<p>Stretch occurs when the O-ring is installed on a groove diameter larger than its free-state ID. Effects:<\/p><ul><li><strong>Reduces cross-section<\/strong> \\u2014 the CS becomes thinner as the O-ring stretches, reducing effective squeeze<\/li><li><strong>Increases stress<\/strong> \\u2014 higher internal stress accelerates aging<\/li><li><strong>Max 5%<\/strong> for most elastomers (NBR, FKM)<\/li><li><strong>Max 3%<\/strong> for hard\/brittle materials (PTFE-encapsulated, FFKM)<\/li><\/ul><p>Conversely, compression (negative stretch, ID larger than groove) can cause the O-ring to buckle or twist in the groove.<\/p>' },\n        { q: 'What about material compatibility?', a: '<p>Common O-ring materials and their applications:<\/p><ul><li><strong>NBR (Nitrile)<\/strong> \\u2014 \\u221240 to +120\\u00b0C, excellent oil resistance, most common<\/li><li><strong>FKM\/Viton<\/strong> \\u2014 \\u221220 to +200\\u00b0C, excellent chemical and heat resistance<\/li><li><strong>EPDM<\/strong> \\u2014 \\u221250 to +150\\u00b0C, water\/steam\/brake fluid, NOT for oils<\/li><li><strong>Silicone (VMQ)<\/strong> \\u2014 \\u221260 to +200\\u00b0C, food-grade, medical<\/li><li><strong>FFKM (Kalrez)<\/strong> \\u2014 \\u221225 to +325\\u00b0C, universal chemical resistance, expensive<\/li><li><strong>PTFE<\/strong> \\u2014 \\u2212200 to +260\\u00b0C, chemically inert, used as encapsulation or backup rings<\/li><\/ul>' },\n        { q: 'When are backup rings needed?', a: '<p>Backup rings prevent O-ring extrusion into the gap between mating surfaces under pressure. Use backup rings when:<\/p><ul><li><strong>Static seal:<\/strong> pressure &gt; 3.5 MPa (500 psi)<\/li><li><strong>Dynamic seal:<\/strong> pressure &gt; 7 MPa (1000 psi) with 70 Shore A O-ring<\/li><li><strong>Large gaps:<\/strong> diametral clearance &gt; 0.1 mm at low pressure, less at high pressure<\/li><\/ul><p>Place one backup ring on the <strong>low-pressure side<\/strong>. For bi-directional pressure, use two backup rings (one on each side). PTFE is the standard backup ring material.<\/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('app')) $('vc-app').value = p.get('app');\n        if (p.has('dia')) $('vc-dia').value = p.get('dia');\n        if (p.has('cs')) $('vc-cs').value = p.get('cs');\n        if (p.has('sq')) $('vc-squeeze-target').value = p.get('sq');\n    }\n\n    \/* \u2500\u2500 KATEX \u2500\u2500 *\/\n    function renderFormulas() {\n        try {\n            katex.render('\\\\text{Squeeze \\\\%} = \\\\frac{\\\\text{CS} - \\\\text{Groove Depth}}{\\\\text{CS}} \\\\times 100', $('vc-katex-1'), { displayMode: true, throwOnError: false });\n            katex.render('\\\\text{Groove Depth} = \\\\text{CS} \\\\times (1 - \\\\text{Squeeze fraction})', $('vc-katex-2'), { displayMode: true, throwOnError: false });\n            katex.render('\\\\text{Groove Width} \\\\approx \\\\text{CS} \\\\times 1.35 \\\\quad \\\\text{(typical)}', $('vc-katex-3'), { displayMode: true, throwOnError: false });\n            katex.render('\\\\text{Stretch \\\\%} = \\\\frac{|D_{\\\\text{groove}} - \\\\text{ID}|}{\\\\text{ID}} \\\\times 100 \\\\leq 5\\\\%', $('vc-katex-4'), { 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>Gratis nettbasert verkt\u00f8y for valg av O-ringst\u00f8rrelse i henhold til ISO 3601. Finn riktig O-ring-ID, tverrsnitt, spordimensjoner og klemprosent for stempel-, stang- og overflatetetningsapplikasjoner.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100180","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100180","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\/100180\/revisions"}],"predecessor-version":[{"id":100495,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/calculator\/100180\/revisions\/100495"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/media?parent=100180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/categories?post=100180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/nb\/wp-json\/wp\/v2\/tags?post=100180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}