{"id":100133,"date":"2026-02-15T20:19:32","date_gmt":"2026-02-15T20:19:32","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100133"},"modified":"2026-02-15T20:19:32","modified_gmt":"2026-02-15T20:19:32","slug":"hydraulic-oil-cleanliness-iso4406","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/pt_br\/calculators\/hydraulic-oil-cleanliness-iso4406\/","title":{"rendered":"Analisador de limpeza de \u00f3leo hidr\u00e1ulico | ISO 4406 | Ferramenta gratuita"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Hydraulic Oil Cleanliness Analyzer\",\"description\":\"ISO 4406 cleanliness analyzer with target lookup, filter selection, and contamination analysis.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/hydraulic-oil-cleanliness-iso4406\/\",\"applicationCategory\":\"Engineering Calculator\",\"operatingSystem\":\"Any\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"},\"datePublished\":\"2024-01-01\",\"dateModified\":\"2026-02-15\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true}\n<\/script>\n\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"FAQPage\",\"mainEntity\":[\n{\"@type\":\"Question\",\"name\":\"What is ISO 4406?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"ISO 4406 defines a code system for reporting particle contamination in hydraulic fluids using three numbers X\/Y\/Z for particles \u22654\u03bcm(c)\/\u22656\u03bcm(c)\/\u226514\u03bcm(c) per mL. Each code number represents a range of particle counts doubling with each increment.\"}},\n{\"@type\":\"Question\",\"name\":\"What target cleanliness for servo valves?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Servo valves require 16\/14\/11 or cleaner. Proportional valves: 18\/16\/13. Standard directional valves: 20\/18\/15. Gear pumps: 20\/18\/15. Vane pumps: 18\/16\/13. Piston pumps: 17\/15\/12.\"}},\n{\"@type\":\"Question\",\"name\":\"What is a \u03b2-ratio (beta ratio)?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The \u03b2-ratio (filtration ratio) is the ratio of upstream to downstream particle counts at a given size. \u03b2\u2081\u2080 = 200 means the filter removes 99.5% of particles \u226510\u03bcm. Higher \u03b2 = better filtration. Per ISO 16889.\"}},\n{\"@type\":\"Question\",\"name\":\"How to improve oil cleanliness?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"1) Install finer filters with higher \u03b2-ratio. 2) Add kidney-loop (offline) filtration. 3) Use sealed reservoirs with breather filters. 4) Filter new oil before adding. 5) Use clean fill practices. 6) Reduce ingression sources.\"}},\n{\"@type\":\"Question\",\"name\":\"How often should oil samples be taken?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Critical systems (servo): monthly. Standard hydraulics: quarterly. Low-duty systems: semi-annually. Always sample after maintenance, fluid changes, or when problems occur. Use consistent sampling points and methods.\"}}\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 { --vc-bg:#f4f1ec;--vc-surface:#fff;--vc-surface-alt:#f8f6f2;--vc-ink:#1a1a1a;--vc-ink-secondary:#5a5650;--vc-ink-muted:#8a857e;--vc-accent:#c85a2a;--vc-accent-hover:#b04d22;--vc-accent-light:#fdf0ea;--vc-blue:#2a5c8c;--vc-blue-light:#eaf1f8;--vc-green:#2a7a4b;--vc-green-light:#eaf8ef;--vc-yellow:#a67c00;--vc-yellow-light:#fef9e8;--vc-red:#b91c1c;--vc-red-light:#fef2f2;--vc-border:#d9d4cc;--vc-border-light:#e8e4dd;--vc-shadow:0 1px 3px rgba(26,26,26,.06),0 4px 12px rgba(26,26,26,.04);--vc-radius:8px;--vc-radius-lg:12px;--vc-font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--vc-mono:'JetBrains Mono',Consolas,Monaco,monospace;--vc-display:Fraunces,Georgia,serif }\n.vc-calculator{font-family:var(--vc-font);font-size:15px;line-height:1.65;color:var(--vc-ink);max-width:960px;margin:0 auto;padding:20px 16px 40px;-webkit-font-smoothing:antialiased}.vc-calculator *,.vc-calculator *::before,.vc-calculator *::after{box-sizing:border-box}\n.vc-header{text-align:center;padding:48px 24px 40px;position:relative}.vc-header::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:80px;height:3px;background:var(--vc-accent);border-radius:2px}.vc-header-eyebrow{font-family:var(--vc-mono);font-size:11px;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--vc-accent);margin:0 0 12px}.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:-.02em}.vc-header-subtitle{font-size:15px;color:var(--vc-ink-secondary);margin:0 auto 20px;max-width:600px}.vc-badges{display:inline-flex;gap:8px;flex-wrap:wrap;justify-content:center}.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.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.vc-form{padding:24px}.vc-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}@media(max-width:600px){.vc-form-grid{grid-template-columns:1fr}}.vc-field{display:flex;flex-direction:column}.vc-label{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--vc-ink-secondary);margin-bottom:6px}.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 .15s,box-shadow .15s}.vc-select{padding-right:36px;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}.vc-select:focus,.vc-input:focus{outline:none;border-color:var(--vc-accent);box-shadow:0 0 0 3px rgba(200,90,42,.12)}\n.vc-presets{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:18px;border-top:1px solid var(--vc-border-light)}.vc-presets-label{font-family:var(--vc-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--vc-ink-muted);width:100%;margin-bottom:2px}.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 .15s}.vc-preset-btn:hover{border-color:var(--vc-accent);color:var(--vc-accent);background:var(--vc-accent-light)}\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 .5s cubic-bezier(.4,0,.2,1),padding .3s}.vc-results.vc-visible{max-height:4000px;padding:24px}.vc-results-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.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}.vc-copy-btn:hover{border-color:var(--vc-accent);color:var(--vc-accent)}.vc-copy-btn.vc-copied{background:var(--vc-green-light);border-color:var(--vc-green);color:var(--vc-green)}\n.vc-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}@media(max-width:500px){.vc-result-grid{grid-template-columns:1fr}}.vc-rcard{background:var(--vc-surface);border:1px solid var(--vc-border-light);border-radius:var(--vc-radius);padding:16px;transition:transform .2s}.vc-rcard:hover{transform:translateY(-1px)}.vc-rcard-primary{border-color:var(--vc-accent);border-width:2px;background:linear-gradient(135deg,#fdf6f2,var(--vc-surface));grid-column:1\/-1}.vc-rcard-label{font-family:var(--vc-mono);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--vc-ink-muted);margin-bottom:4px}.vc-rcard-value{font-family:var(--vc-mono);font-size:22px;font-weight:600;color:var(--vc-ink);line-height:1.2}.vc-rcard-primary .vc-rcard-value{font-size:30px;color:var(--vc-accent)}.vc-rcard-unit{font-size:14px;font-weight:400;color:var(--vc-ink-secondary)}\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}.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 .15s}.vc-section-toggle:hover{background:var(--vc-surface-alt)}.vc-section-toggle-text{display:flex;align-items:center;gap:10px}.vc-section-icon{font-size:20px;line-height:1}.vc-section-title{font-family:var(--vc-display);font-size:18px;font-weight:700;color:var(--vc-ink);margin:0}.vc-section-chevron{width:20px;height:20px;color:var(--vc-ink-muted);transition:transform .3s;flex-shrink:0}.vc-section.vc-open .vc-section-chevron{transform:rotate(180deg)}.vc-section-body{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1)}.vc-section.vc-open .vc-section-body{max-height:20000px}.vc-section-inner{padding:0 24px 24px;border-top:1px solid var(--vc-border-light)}\n.vc-theory h3{font-family:var(--vc-display);font-size:17px;font-weight:700;color:var(--vc-ink);margin:28px 0 10px}.vc-theory h3:first-child{margin-top:20px}.vc-theory p{font-size:14px;color:var(--vc-ink-secondary);margin:0 0 10px}.vc-theory ul{font-size:14px;color:var(--vc-ink-secondary);margin:0 0 12px 18px;padding:0}.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;text-align:center;margin:14px 0;overflow-x:auto}\n.vc-example-box{background:var(--vc-surface-alt);border:1px solid var(--vc-border-light);border-radius:6px;padding:16px;margin:14px 0}.vc-example-title{font-family:var(--vc-mono);font-size:13px;font-weight:600;color:var(--vc-accent);margin-bottom:8px}\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-table{width:100%;border-collapse:collapse;margin:14px 0;font-size:13px}.vc-table th,.vc-table td{padding:10px 12px;border:1px solid var(--vc-border-light);text-align:left}.vc-table th{background:var(--vc-surface-alt);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--vc-ink-secondary)}.vc-table tr:nth-child(even){background:var(--vc-surface-alt)}\n.vc-faq-list{display:flex;flex-direction:column;gap:8px;margin-top:20px}.vc-faq-item{border:1px solid var(--vc-border-light);border-radius:6px;overflow:hidden}.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}.vc-faq-q:hover{background:#ede9e3}.vc-faq-chevron{width:16px;height:16px;color:var(--vc-ink-muted);flex-shrink:0;transition:transform .25s}.vc-faq-item.vc-open .vc-faq-chevron{transform:rotate(180deg)}.vc-faq-a{max-height:0;overflow:hidden;transition:max-height .35s}.vc-faq-item.vc-open .vc-faq-a{max-height:1200px}.vc-faq-a-inner{padding:14px 16px;border-top:1px solid var(--vc-border-light);font-size:14px;color:var(--vc-ink-secondary)}.vc-faq-a-inner p{margin:0 0 8px}.vc-faq-a-inner p:last-child{margin-bottom:0}\n.vc-related{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.vc-related-link{display:inline-block;padding:8px 16px;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 .15s}.vc-related-link:hover{border-color:var(--vc-accent);color:var(--vc-accent);background:var(--vc-accent-light)}\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}.vc-promo-text{flex:1;font-size:14px;color:var(--vc-ink-secondary)}.vc-promo-text strong{color:var(--vc-ink)}.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;transition:background .15s}.vc-promo-link:hover{background:var(--vc-accent-hover)}\n.vc-footer{text-align:center;padding:32px 16px;font-size:13px;color:var(--vc-ink-muted)}.vc-footer a{color:var(--vc-accent);text-decoration:none}.vc-footer-links{margin-top:8px;font-size:12px}.vc-footer-links a{margin:0 8px}\n@media print{.vc-section-body{max-height:none!important}.vc-faq-a{max-height:none!important}.vc-results{max-height:none!important;padding:24px!important}.vc-copy-btn,.vc-section-chevron,.vc-faq-chevron,.vc-presets,.vc-promo{display:none!important}}\n<\/style>\n\n<div class=\"vc-calculator\" id=\"vc-oil-clean\">\n\n<header class=\"vc-header\">\n    <p class=\"vc-header-eyebrow\">Free Engineering Tool<\/p>\n    <h1 class=\"vc-header-title\">Hydraulic Oil Cleanliness Analyzer<\/h1>\n    <p class=\"vc-header-subtitle\">ISO 4406 code calculator with target cleanliness lookup, filter \u03b2-ratio recommendation, and sampling interval guidance by component type.<\/p>\n    <div class=\"vc-badges\"><span class=\"vc-badge\">ISO 4406<\/span><span class=\"vc-badge\">Filter \u03b2-ratio<\/span><span class=\"vc-badge\">Target Cleanliness<\/span><\/div>\n<\/header>\n\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\"><label class=\"vc-label\" for=\"vc-p4\">Particles \u22654\u03bcm(c) <span class=\"vc-label-hint\">(per mL)<\/span><\/label><input class=\"vc-input\" type=\"number\" id=\"vc-p4\" step=\"any\" min=\"0\" value=\"2500\"><\/div>\n            <div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-p6\">Particles \u22656\u03bcm(c) <span class=\"vc-label-hint\">(per mL)<\/span><\/label><input class=\"vc-input\" type=\"number\" id=\"vc-p6\" step=\"any\" min=\"0\" value=\"640\"><\/div>\n            <div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-p14\">Particles \u226514\u03bcm(c) <span class=\"vc-label-hint\">(per mL)<\/span><\/label><input class=\"vc-input\" type=\"number\" id=\"vc-p14\" step=\"any\" min=\"0\" value=\"80\"><\/div>\n            <div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-comp\">Most Sensitive Component<\/label>\n                <select class=\"vc-select\" id=\"vc-comp\">\n                    <option value=\"servo\">Servo valves<\/option>\n                    <option value=\"prop\">Proportional valves<\/option>\n                    <option value=\"piston\">Piston pumps \/ motors<\/option>\n                    <option value=\"vane\">Vane pumps<\/option>\n                    <option value=\"gear\" selected>Gear pumps \/ standard valves<\/option>\n                    <option value=\"cylinder\">Cylinders only<\/option>\n                <\/select>\n            <\/div>\n            <div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-vol\">System Volume <span class=\"vc-label-hint\">(liters, for filter sizing)<\/span><\/label><input class=\"vc-input\" type=\"number\" id=\"vc-vol\" step=\"any\" min=\"1\" value=\"200\"><\/div>\n            <div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-flowrate\">System Flow Rate <span class=\"vc-label-hint\">(L\/min)<\/span><\/label><input class=\"vc-input\" type=\"number\" id=\"vc-flowrate\" step=\"any\" min=\"1\" value=\"60\"><\/div>\n        <\/div>\n        <div class=\"vc-presets\"><div class=\"vc-presets-label\">Quick presets<\/div>\n            <button type=\"button\" class=\"vc-preset-btn\" data-p4=\"2500\" data-p6=\"640\" data-p14=\"80\" data-comp=\"gear\">Typical system (20\/18\/15)<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-p4=\"320\" data-p6=\"80\" data-p14=\"10\" data-comp=\"servo\">Clean servo (16\/14\/11)<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-p4=\"10000\" data-p6=\"2500\" data-p14=\"320\" data-comp=\"gear\">Dirty (22\/20\/17)<\/button>\n            <button type=\"button\" class=\"vc-preset-btn\" data-p4=\"640\" data-p6=\"160\" data-p14=\"20\" data-comp=\"prop\">Proportional (18\/16\/13)<\/button>\n        <\/div>\n    <\/form>\n\n    <div class=\"vc-results\" id=\"vc-results\">\n        <div class=\"vc-results-head\"><h2 class=\"vc-results-title\">Analysis Results<\/h2><button type=\"button\" class=\"vc-copy-btn\" id=\"vc-copy-btn\"><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<\/button><\/div>\n        <div class=\"vc-result-grid\">\n            <div class=\"vc-rcard vc-rcard-primary\"><div class=\"vc-rcard-label\">Current ISO 4406 Code<\/div><div class=\"vc-rcard-value\" id=\"vc-r-code\">\u2014<\/div><\/div>\n            <div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Target for Component<\/div><div class=\"vc-rcard-value\" id=\"vc-r-target\">\u2014<\/div><\/div>\n            <div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Status<\/div><div class=\"vc-rcard-value\" id=\"vc-r-status\">\u2014<\/div><\/div>\n            <div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Filter \u03b2-ratio Required<\/div><div class=\"vc-rcard-value\" id=\"vc-r-beta\">\u2014<\/div><\/div>\n            <div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Recommended Filter Rating<\/div><div class=\"vc-rcard-value\" id=\"vc-r-filter\">\u2014<\/div><\/div>\n            <div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Sampling Interval<\/div><div class=\"vc-rcard-value\" id=\"vc-r-interval\">\u2014<\/div><\/div>\n            <div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Fluid Exchanges\/Hour<\/div><div class=\"vc-rcard-value\" id=\"vc-r-turnover\">\u2014<\/div><\/div>\n            <div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Est. Cleanup Time<\/div><div class=\"vc-rcard-value\" id=\"vc-r-cleanup\">\u2014<\/div><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<div class=\"vc-section vc-open\"><button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"true\"><span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">\ud83d\udcd8<\/span><span class=\"vc-section-title\">Theory &amp; Formulas<\/span><\/span><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><\/button>\n    <div class=\"vc-section-body\"><div class=\"vc-section-inner vc-theory\">\n        <h3>ISO 4406 Code Scale<\/h3>\n        <p>Each code number R represents a particle count range: 2^(R-1) \u00d7 0.01 to 2^R \u00d7 0.01 particles per mL (simplified). The code doubles with each increment.<\/p>\n        <div class=\"vc-formula-box\" id=\"vc-katex-1\"><\/div>\n        <h3>Target Cleanliness by Component<\/h3>\n        <table class=\"vc-table\"><thead><tr><th>Component<\/th><th>Target ISO Code<\/th><th>Filter \u03bcm<\/th><th>\u03b2-ratio<\/th><\/tr><\/thead><tbody>\n        <tr><td>Servo valves<\/td><td>16\/14\/11<\/td><td>3 \u03bcm<\/td><td>\u03b2\u2083 \u2265 200<\/td><\/tr>\n        <tr><td>Proportional valves<\/td><td>18\/16\/13<\/td><td>6 \u03bcm<\/td><td>\u03b2\u2086 \u2265 200<\/td><\/tr>\n        <tr><td>Piston pumps\/motors<\/td><td>17\/15\/12<\/td><td>6 \u03bcm<\/td><td>\u03b2\u2086 \u2265 200<\/td><\/tr>\n        <tr><td>Vane pumps<\/td><td>18\/16\/13<\/td><td>10 \u03bcm<\/td><td>\u03b2\u2081\u2080 \u2265 200<\/td><\/tr>\n        <tr><td>Gear pumps, std. valves<\/td><td>20\/18\/15<\/td><td>10 \u03bcm<\/td><td>\u03b2\u2081\u2080 \u2265 75<\/td><\/tr>\n        <tr><td>Cylinders only<\/td><td>21\/19\/16<\/td><td>25 \u03bcm<\/td><td>\u03b2\u2082\u2085 \u2265 75<\/td><\/tr><\/tbody><\/table>\n        <h3>Cleanup Time Estimation<\/h3>\n        <p>Approximate cleanup passes needed to reduce contamination by one ISO code level:<\/p>\n        <div class=\"vc-formula-box\" id=\"vc-katex-2\"><\/div>\n        <h3>Practical Example<\/h3>\n        <div class=\"vc-example-box\"><div class=\"vc-example-title\">Example \u2014 System with servo valves, current 20\/18\/15<\/div>\n        <p><strong>Target:<\/strong> 16\/14\/11 \u2192 need to reduce by 4 code levels<\/p>\n        <p>Each code level \u2248 2 system turnovers through proper filtration<\/p>\n        <p>200 L system, 60 L\/min flow: turnover = 200\/60 = 3.3 min<\/p>\n        <p>Est. cleanup: 4 levels \u00d7 2 turnovers \u00d7 3.3 min \u2248 <strong>26 minutes<\/strong> of kidney-loop filtration<\/p><\/div>\n    <\/div><\/div>\n<\/div>\n\n<div class=\"vc-section\"><button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\"><span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">\ud83d\udd17<\/span><span class=\"vc-section-title\">Related Calculators<\/span><\/span><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><\/button><div class=\"vc-section-body\"><div class=\"vc-section-inner\"><div class=\"vc-related\"><a class=\"vc-related-link\" href=\"\/calculators\/hydraulic-cylinder-calculator\/\">Hydraulic Cylinder<\/a><a class=\"vc-related-link\" href=\"\/calculators\/hydraulic-valve-cetop-iso4401\/\">CETOP Valve Sizing<\/a><a class=\"vc-related-link\" href=\"\/calculators\/pipe-pressure-drop\/\">Pipe Pressure Drop<\/a><\/div><\/div><\/div><\/div>\n\n<div class=\"vc-section\"><button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"false\"><span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">\u2753<\/span><span class=\"vc-section-title\">Frequently Asked Questions<\/span><\/span><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><\/button><div class=\"vc-section-body\"><div class=\"vc-section-inner\"><div class=\"vc-faq-list\" id=\"vc-faq-list\"><\/div><\/div><\/div><\/div>\n\n<div class=\"vc-promo\"><div class=\"vc-promo-text\"><strong>Vibromera \u2014 Portable Balancing &amp; Vibration Analysis<\/strong><br>Professional instruments. Used in 50+ countries.<\/div><a class=\"vc-promo-link\" href=\"https:\/\/vibromera.eu\/\" target=\"_blank\" rel=\"noopener\">Learn More<\/a><\/div>\n<footer class=\"vc-footer\"><p>&copy; 2024&ndash;2026 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a><\/p><div class=\"vc-footer-links\"><a href=\"\/calculators\/engineering-calculators\/\">All Calculators<\/a><a href=\"https:\/\/vibromera.eu\/contacts\/\">Contact<\/a><\/div><\/footer>\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    var SLUG = 'hydraulic-oil-cleanliness-iso4406';\n    function $(id) { return document.getElementById(id); }\n    function fmt(n, d) { if (isNaN(n) || !isFinite(n)) return '\u2014'; return n.toFixed(d === undefined ? 2 : d).replace(\/(\\.\\d*?)0+$\/, '$1').replace(\/\\.$\/, ''); }\n\n    \/* ISO 4406 code boundaries (code \u2192 max particles\/mL) *\/\n    function isoCode(count) {\n        if (count <= 0) return 0;\n        \/* Each code R: range is (2^(R-4)\u00d70.01 , 2^(R-3)\u00d70.01] simplified as log2 *\/\n        var code = Math.ceil(Math.log2(count) + 4.64); \/* calibrated to match scale *\/\n        \/* Calibration: code 19 = 2500-5000, code 16 = 320-640, code 13 = 40-80 *\/\n        \/* log2(2500)+4.64 \u2248 11.29+4.64 = 15.93 \u2192 ceil = 16... need different approach *\/\n        \/* Standard: code R has max = 2^(R-6) \u00d7 10 for the clean side *\/\n        \/* Let me use the proper ISO table approach *\/\n        var codeNum = 0;\n        var limits = [0.01, 0.02, 0.04, 0.08, 0.16, 0.32, 0.64, 1.3, 2.5, 5, 10, 20, 40, 80, 160, 320, 640, 1300, 2500, 5000, 10000, 20000, 40000, 80000, 160000, 320000, 640000, 1300000];\n        \/* codes 1-28, limits[i] = upper bound for code i+1 *\/\n        for (var i = 0; i < limits.length; i++) {\n            if (count <= limits[i]) return i + 1;\n        }\n        return 28;\n    }\n\n    var TARGETS = {\n        servo:    { code: '16\/14\/11', c4: 16, c6: 14, c14: 11, filter: '3 \u03bcm', beta: '\u03b2\u2083 \u2265 200', interval: 'Monthly' },\n        prop:     { code: '18\/16\/13', c4: 18, c6: 16, c14: 13, filter: '6 \u03bcm', beta: '\u03b2\u2086 \u2265 200', interval: 'Monthly' },\n        piston:   { code: '17\/15\/12', c4: 17, c6: 15, c14: 12, filter: '6 \u03bcm', beta: '\u03b2\u2086 \u2265 200', interval: 'Quarterly' },\n        vane:     { code: '18\/16\/13', c4: 18, c6: 16, c14: 13, filter: '10 \u03bcm', beta: '\u03b2\u2081\u2080 \u2265 200', interval: 'Quarterly' },\n        gear:     { code: '20\/18\/15', c4: 20, c6: 18, c14: 15, filter: '10 \u03bcm', beta: '\u03b2\u2081\u2080 \u2265 75', interval: 'Quarterly' },\n        cylinder: { code: '21\/19\/16', c4: 21, c6: 19, c14: 16, filter: '25 \u03bcm', beta: '\u03b2\u2082\u2085 \u2265 75', interval: 'Semi-annually' }\n    };\n\n    function calculate() {\n        var p4 = parseFloat($('vc-p4').value);\n        var p6 = parseFloat($('vc-p6').value);\n        var p14 = parseFloat($('vc-p14').value);\n        var comp = $('vc-comp').value;\n        var vol = parseFloat($('vc-vol').value) || 200;\n        var flow = parseFloat($('vc-flowrate').value) || 60;\n\n        if (isNaN(p4) || isNaN(p6) || isNaN(p14)) { $('vc-results').classList.remove('vc-visible'); return; }\n\n        var c4 = isoCode(p4), c6 = isoCode(p6), c14 = isoCode(p14);\n        var target = TARGETS[comp];\n\n        \/* Status: compare current to target *\/\n        var delta = Math.max(c4 - target.c4, c6 - target.c6, c14 - target.c14);\n        var statusText, statusColor;\n        if (delta <= 0) { statusText = '\u2713 Meets Target'; statusColor = 'var(--vc-green)'; }\n        else if (delta <= 2) { statusText = '\u26a0 Marginal (' + delta + ' codes over)'; statusColor = 'var(--vc-yellow)'; }\n        else { statusText = '\u2717 Exceeds Target (' + delta + ' codes over)'; statusColor = 'var(--vc-red)'; }\n\n        \/* Turnover rate *\/\n        var turnover = flow * 60 \/ vol; \/* exchanges per hour *\/\n\n        \/* Cleanup estimate: ~2 turnovers per code level reduction *\/\n        var turnoversNeeded = delta > 0 ? delta * 2 : 0;\n        var turnoverTime = vol \/ flow; \/* minutes per turnover *\/\n        var cleanupMin = turnoversNeeded * turnoverTime;\n\n        $('vc-r-code').innerHTML = c4 + ' \/ ' + c6 + ' \/ ' + c14;\n        $('vc-r-target').innerHTML = target.code + ' <span class=\"vc-rcard-unit\">(' + comp + ')<\/span>';\n        $('vc-r-status').innerHTML = '<span style=\"color:' + statusColor + '\">' + statusText + '<\/span>';\n        $('vc-r-beta').innerHTML = '<span style=\"font-size:18px\">' + target.beta + '<\/span>';\n        $('vc-r-filter').innerHTML = target.filter + ' <span class=\"vc-rcard-unit\">(absolute)<\/span>';\n        $('vc-r-interval').innerHTML = target.interval;\n        $('vc-r-turnover').innerHTML = fmt(turnover, 1) + ' <span class=\"vc-rcard-unit\">\/hour<\/span>';\n        $('vc-r-cleanup').innerHTML = delta > 0 ? fmt(cleanupMin, 0) + ' <span class=\"vc-rcard-unit\">min (kidney loop)<\/span>' : 'None needed';\n\n        $('vc-results').classList.add('vc-visible');\n\n        var u = new URL(window.location);\n        u.searchParams.set('p4', p4); u.searchParams.set('p6', p6); u.searchParams.set('p14', p14); u.searchParams.set('comp', comp);\n        history.replaceState(null, '', u.toString());\n        saveHistory({ code: c4 + '\/' + c6 + '\/' + c14, comp: comp, _summary: 'ISO ' + c4 + '\/' + c6 + '\/' + c14 + ' \u2192 ' + target.code });\n    }\n\n    $('vc-form').addEventListener('input', calculate);\n    $('vc-form').addEventListener('change', calculate);\n\n    document.querySelectorAll('.vc-preset-btn').forEach(function(btn) {\n        btn.addEventListener('click', function(e) {\n            e.preventDefault();\n            $('vc-p4').value = this.getAttribute('data-p4');\n            $('vc-p6').value = this.getAttribute('data-p6');\n            $('vc-p14').value = this.getAttribute('data-p14');\n            $('vc-comp').value = this.getAttribute('data-comp');\n            calculate();\n        });\n    });\n\n    $('vc-copy-btn').addEventListener('click', function() {\n        var text = 'Oil Cleanliness Analysis\\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\nISO 4406: ' + $('vc-r-code').textContent + '\\nTarget: ' + $('vc-r-target').textContent + '\\nStatus: ' + $('vc-r-status').textContent + '\\nFilter: ' + $('vc-r-filter').textContent + '\\n\u03b2-ratio: ' + $('vc-r-beta').textContent + '\\nSampling: ' + $('vc-r-interval').textContent + '\\n\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\u2501\\nvibromera.eu';\n        if (navigator.clipboard) { navigator.clipboard.writeText(text).then(function() { var b = $('vc-copy-btn'); b.classList.add('vc-copied'); b.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!'; setTimeout(function() { b.classList.remove('vc-copied'); b.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'; }, 2000); }); }\n    });\n\n    document.querySelectorAll('.vc-section-toggle').forEach(function(btn) { btn.addEventListener('click', function() { var s = this.closest('.vc-section'); s.classList.toggle('vc-open'); this.setAttribute('aria-expanded', s.classList.contains('vc-open')); }); });\n\n    var faqData = [\n        { q: 'What is ISO 4406?', a: '<p>ISO 4406 defines a 3-number code (X\/Y\/Z) for particle contamination in hydraulic fluids. X = particles \u22654\u03bcm(c), Y = \u22656\u03bcm(c), Z = \u226514\u03bcm(c) per mL. Each code number doubles the particle count. Lower codes = cleaner fluid.<\/p>' },\n        { q: 'What target cleanliness for servo valves?', a: '<p>Servo valves need 16\/14\/11 or better. Their tight clearances (2-5 \u03bcm) make them extremely sensitive to contamination. Use 3 \u03bcm absolute filtration with \u03b2\u2083 \u2265 200.<\/p>' },\n        { q: 'What is a \u03b2-ratio?', a: '<p>\u03b2-ratio = (upstream particles) \/ (downstream particles) at a given size. \u03b2\u2081\u2080 = 200 means 99.5% efficiency at 10 \u03bcm. \u03b2\u2081\u2080 = 75 means 98.7%. Per ISO 16889 multi-pass test.<\/p>' },\n        { q: 'How to improve oil cleanliness?', a: '<p>1) Finer inline filters with higher \u03b2-ratio. 2) Kidney-loop (offline) filtration. 3) Desiccant breathers on reservoir. 4) Filter new oil before filling. 5) Clean connection practices. 6) Seal reservoir openings.<\/p>' },\n        { q: 'How often to sample oil?', a: '<p>Servo systems: monthly. Standard hydraulics: quarterly. After any maintenance, fluid change, or filter replacement. Trending is key \u2014 establish baseline and monitor changes over time.<\/p>' }\n    ];\n    var fl = $('vc-faq-list'); faqData.forEach(function(f) { fl.innerHTML += '<div class=\"vc-faq-item\"><button type=\"button\" class=\"vc-faq-q\"><span>' + f.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\">' + f.a + '<\/div><\/div><\/div>'; });\n    fl.addEventListener('click', function(e) { var b = e.target.closest('.vc-faq-q'); if (b) b.closest('.vc-faq-item').classList.toggle('vc-open'); });\n\n    function saveHistory(entry) { var key = 'vc_history_' + SLUG; var arr = []; try { arr = JSON.parse(localStorage.getItem(key)) || []; } catch(e) {} entry._ts = new Date().toISOString(); arr.unshift(entry); if (arr.length > 10) arr = arr.slice(0, 10); try { localStorage.setItem(key, JSON.stringify(arr)); } catch(e) {} }\n\n    function renderFormulas() {\n        try {\n            katex.render('R = \\\\lceil \\\\log_2(\\\\text{count}) + C \\\\rceil \\\\quad \\\\text{where code } R \\\\text{ covers range } [2^{R-1} \\\\cdot k,\\\\; 2^R \\\\cdot k]', $('vc-katex-1'), { displayMode: true, throwOnError: false });\n            katex.render('t_{\\\\text{cleanup}} \\\\approx \\\\Delta R \\\\times 2 \\\\times \\\\frac{V}{Q} \\\\quad [\\\\text{min}]', $('vc-katex-2'), { displayMode: true, throwOnError: false });\n        } catch(e) {}\n    }\n\n    function init() {\n        var p = new URLSearchParams(window.location.search);\n        if (p.get('p4')) $('vc-p4').value = p.get('p4');\n        if (p.get('p6')) $('vc-p6').value = p.get('p6');\n        if (p.get('p14')) $('vc-p14').value = p.get('p14');\n        if (p.get('comp')) $('vc-comp').value = p.get('comp');\n        renderFormulas(); calculate();\n    }\n    if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }\n})();\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Analisador de limpeza de \u00f3leo ISO 4406 gratuito. Calcule o c\u00f3digo ISO a partir da contagem de part\u00edculas, obtenha a limpeza desejada por tipo de componente, recomenda\u00e7\u00f5es de rela\u00e7\u00e3o \u03b2 do filtro e intervalos de amostragem.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100133","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/pt_br\/wp-json\/wp\/v2\/calculator\/100133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/pt_br\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/pt_br\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":1,"href":"https:\/\/vibromera.eu\/pt_br\/wp-json\/wp\/v2\/calculator\/100133\/revisions"}],"predecessor-version":[{"id":100447,"href":"https:\/\/vibromera.eu\/pt_br\/wp-json\/wp\/v2\/calculator\/100133\/revisions\/100447"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/pt_br\/wp-json\/wp\/v2\/media?parent=100133"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/pt_br\/wp-json\/wp\/v2\/categories?post=100133"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/pt_br\/wp-json\/wp\/v2\/tags?post=100133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}