{"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\/sw\/calculators\/hydraulic-oil-cleanliness-iso4406\/","title":{"rendered":"Kichanganuzi cha Usafi wa Mafuta ya Majimaji | ISO 4406 | Zana ya Bure"},"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>Kichanganuzi cha bure cha usafi wa mafuta kulingana na ISO 4406. Hesabu msimbo wa ISO kutoka kwa idadi ya chembe, pata kiwango cha usafi kinachohitajika kulingana na aina ya sehemu, mapendekezo ya \u03b2-ratio ya kichujio, na vipindi vya sampuli.<\/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\/sw\/wp-json\/wp\/v2\/calculator\/100133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/sw\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/sw\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":1,"href":"https:\/\/vibromera.eu\/sw\/wp-json\/wp\/v2\/calculator\/100133\/revisions"}],"predecessor-version":[{"id":100447,"href":"https:\/\/vibromera.eu\/sw\/wp-json\/wp\/v2\/calculator\/100133\/revisions\/100447"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/sw\/wp-json\/wp\/v2\/media?parent=100133"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/sw\/wp-json\/wp\/v2\/categories?post=100133"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/sw\/wp-json\/wp\/v2\/tags?post=100133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}