{"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-07-13T01:38:57","modified_gmt":"2026-07-13T01:38:57","slug":"o-ring-selection-iso3601","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/fr\/calculators\/o-ring-selection-iso3601\/","title":{"rendered":"S\u00e9lection de la taille des joints toriques | ISO 3601 | Outil en ligne gratuit"},"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>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>Groove bottom diameter* = 50 \u2212 2 \u00d7 2.82 = <strong>44.36 mm<\/strong><\/p>\n                <p>Stretch = (44.36 \u2212 42.86) \/ 42.86 \u00d7 100 \u2248 <strong>3.5%<\/strong> \u2713 (within the 5% limit)<\/p>\n                <p style=\"font-size:12px;color:var(--vc-ink-muted);\">*assuming piston OD \u2248 bore; subtract the piston-to-bore clearance from the piston OD for the exact groove bottom diameter<\/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>Outil gratuit en ligne de s\u00e9lection de la taille des joints toriques selon la norme ISO 3601. Trouvez le diam\u00e8tre int\u00e9rieur, la section transversale, les dimensions de la gorge et le pourcentage de compression adapt\u00e9s aux applications d&#039;\u00e9tanch\u00e9it\u00e9 de piston, de tige et de face.<\/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\/fr\/wp-json\/wp\/v2\/calculator\/100180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/fr\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/fr\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":3,"href":"https:\/\/vibromera.eu\/fr\/wp-json\/wp\/v2\/calculator\/100180\/revisions"}],"predecessor-version":[{"id":102517,"href":"https:\/\/vibromera.eu\/fr\/wp-json\/wp\/v2\/calculator\/100180\/revisions\/102517"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/fr\/wp-json\/wp\/v2\/media?parent=100180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/fr\/wp-json\/wp\/v2\/categories?post=100180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/fr\/wp-json\/wp\/v2\/tags?post=100180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}