Membrane Filtration (MF/UF/NF/RO) MWCO Simulator Back
Membrane Separation

Membrane Filtration (MF/UF/NF/RO) MWCO Simulator

Compare microfiltration, ultrafiltration, nanofiltration and reverse osmosis on a single screen. Change the membrane class, solute molecular weight, transmembrane pressure, temperature and fouling factor and the rejection, real flux, permeate flow and CIP cycle update in real time, giving a quick first cut for water-treatment, pharmaceutical or food-process membrane selection.

Parameters
Membrane class
Pore size, MWCO and operating-pressure window are auto-set
Solute MW
Da
Target solute molecular weight (proteins ~ 10k-100k, salts ~ tens of Da)
Operating pressure dP
kPa
TMP: MF/UF 100-800, NF 500-3000, RO 2000-8000
Membrane area A
m^2
Feed flux J0
LMH
Design flux (L/m^2/h) on a clean membrane
Temperature T
degC
+1 degC of feed water raises flux by ~2.5%
Fouling factor
1.0 = new, 0.8 = healthy operation, 0.5 = end of life
Results
MWCO (Da)
Solute rejection R (%)
Real flux (LMH)
Permeate flow (m^3/h)
Fouling state (%)
CIP cycle (day)
Membrane cross-section — feed, permeate, rejection

Feed enters from the left. Large solutes (red) are rejected at the membrane; small solutes (blue) and water (light blue) pass through. The grey layer is fouling build-up. The bar on the right shows the actual flux.

Rejection vs solute molecular weight
Flux vs operating pressure (clean vs fouled)
Theory & Key Formulas

$$J = \frac{L_p(\Delta P - \sigma\Delta\pi)}{1+\beta},\qquad R = 1 - \frac{C_p}{C_f}$$

J: permeate flux [LMH]; L_p: membrane permeability; dP: transmembrane pressure; dpi: osmotic pressure difference; sigma: reflection coefficient; beta: concentration-polarisation term; R: rejection; C_p / C_f: permeate / feed concentration.

$$Q_p = J\cdot A,\qquad J_T = J_{25}\cdot[1+0.025(T-25)]$$

Q_p: permeate flow [m^3/h] (A: membrane area [m^2]). J_T: temperature-corrected flux; a 1 degC rise reduces water viscosity and lifts flux by ~2.5%.

$$T_{\text{CIP}} \approx \frac{30}{1-\phi_{\text{foul}}}$$

CIP cycle [day]; phi_foul is the fouling factor (1.0 = new membrane, 0.8 = healthy run). When flux falls below the threshold a forced CIP is triggered.

Membrane Filtration MF/UF/NF/RO — MWCO and Flux Design

🙋
Is "membrane filtration" basically the industrial version of a coffee filter? There are so many acronyms — MF, UF, NF, RO — and I cannot tell what the real difference is.
🎓
Good analogy. The core idea really is "sort by pore size", but the pore sizes span four orders of magnitude, so the roles end up completely different. MF (microfiltration) has pores of 0.1-1 um and removes bacteria and turbidity. UF (ultrafiltration) sits at 10-100 kDa (a few nm) and cuts proteins and viruses. NF (nanofiltration) goes down to 200-1000 Da and blocks multivalent ions and pesticides. RO (reverse osmosis) is below 200 Da — tight enough that only water molecules pass, and that is how you take salt out of seawater. Flip the membrane class on the left and watch MWCO jump from 1,000,000 to 10,000 to 200 to 100.
🙋
Does MWCO mean "anything larger is stopped, anything smaller goes through"? With the default (UF, MW=5000) I only see 60% rejection.
🎓
That is the catch. MWCO only tells you "the molecular weight at which 90% is rejected" — it is not a clean on/off step. In practice you get 99% above 5x MWCO, 90% near 1x, and 60-70% at about half MWCO. With a UF rated at 10,000 Da and a 5,000 Da solute the ratio is 0.5 — right in the soft transition — so 60% rejection is exactly what we expect. The "rejection vs MW" chart below makes the slope visible. If you need a true block, either size the membrane so the solute sits below MWCO/5, or step down to a tighter class (NF). That is the standard rule of thumb.
🙋
The flux card says "feed 60, real 48 LMH". Bumping the fouling factor up to 1.0 puts it back at 60. What is "fouling" exactly?
🎓
Fouling is the build-up of organics, scale and microbial biofilm on the membrane surface that drops permeability over time. It is the number-one enemy of membrane operation and it never stops. Even a healthy water-treatment plant runs at a fouling factor of 0.7-0.8; once you fall below 0.5 the message is "you must clean it now". This tool uses the simple model CIP cycle ~ 30 / (1 - phi). So 0.8 means a CIP every 150 days and 0.5 every 60 days. Real seawater RO desalination plants typically schedule a CIP every 1-3 months.
🙋
CIP is "Clean-In-Place", right? What do you actually clean the membrane with — just water?
🎓
Water alone will not strip oil films or scale. The standard is a two-step recipe: alkaline wash, rinse, then acid wash, rinse — 40-50 degC with 0.1-0.5% chemicals recirculated through the modules. The alkali (NaOH or NaOCl) hits proteins and oils, the acid (citric or HCl) dissolves calcium carbonate and iron scale. A dairy UF gets CIP every day, a seawater RO every few months — totally different cadences. Most plants use the rule "clean when flux drops to 80% of the initial value", balancing chemical cost against membrane life.
🙋
When I crank pressure up to the typical RO value of 3000 kPa I get a warning. I thought more pressure always meant more flux?
🎓
That is the classic field-engineer mistake. On a clean membrane J = L_p * dP scales linearly, but increasing flux drags solute to the membrane surface ("concentration polarisation"). Beyond some pressure you hit a "limiting flux" where extra pressure no longer adds throughput. Push past it and fouling accelerates exponentially, so net production drops because of CIP downtime. The "sustainable flux" rule of thumb — Field et al. — is 50-100 LMH for MF/UF, 20-40 for NF and 10-25 for RO. Stay below that and you keep the plant alive.

Frequently Asked Questions

MWCO (Molecular Weight Cut-Off) is the approximate molecular weight (Da) of a globular solute that the membrane rejects by 90%. For example, a UF membrane rated at MWCO 10,000 Da rejects about 90% of a 10,000 Da protein. Real rejection depends on solute Stokes radius, shape and charge; rod-shaped or flexible polymers can appear smaller than their MW suggests and slip through. This tool models the transition via mwcoRatio = soluteMW / MWCO with 99% above 5x, ~90% near 1x and dropping below 50% under 0.3x.
By pore size and target solute. MF (0.1-1 um, 100-300 kPa) removes bacteria, turbidity and colloids and is used for drinking-water pre-treatment or brewery clarification. UF (10-100 kDa, 100-800 kPa) concentrates proteins, viruses and large polymers; typical uses are dairy, biopharma purification and advanced drinking-water treatment. NF (200-1000 Da, 0.5-3 MPa) removes multivalent ions, organics and pesticides for water softening and rinse recovery. RO (<200 Da, 2-8 MPa) blocks ions and is the standard choice for seawater desalination and ultrapure-water production.
LMH (litres per m^2 per hour) is the standard flux unit. Sustainable flux is roughly 50-100 LMH for MF/UF, 20-40 LMH for NF and 10-25 LMH for RO. Pushing higher accelerates fouling, so CIP downtime increases and net throughput drops. This tool applies a temperature correction (+2.5%/degC) and a fouling factor (0.1-1.0) on top of the design flux. Real flux below 10 LMH is flagged as NG and a CIP cycle shorter than 14 days as warning.
Fouling is the deposition of organics, scale and biofilm on the membrane surface and is unavoidable during operation. This tool treats a fouling factor of 0.8 as healthy operation and 0.5 as end of life, with CIP cycle (days) ~ 30 / (1 - foulingFactor). In practice, plants run a routine CIP every month and force a CIP whenever flux drops to 80% of the initial value. A typical recipe is alkaline then acid cleaning at 40-50 degC for 2-3 hours of recirculation; frequency is balanced against chemical cost and membrane life.

Real-world applications

Seawater desalination (RO): Saudi Arabia, the UAE, Israel and Singapore meet much of their drinking-water demand from RO desalination plants. Because seawater (3.5% salinity) has an osmotic pressure of about 2.7 MPa, the operating pressure is set at 5-8 MPa. With the spread of energy-recovery devices the specific energy has dropped to 3-4 kWh/m^3, and global desalinated-water production passed 100 million m^3/day in 2025. Switching this tool to RO and entering MW=58 (NaCl) reproduces the >99% rejection that real systems achieve.

Municipal drinking-water treatment (MF/UF): Since the late 1990s UF has been deployed at municipal plants to defeat chlorine-resistant pathogens such as Cryptosporidium. More than 100 Japanese water-treatment plants now run MF/UF, achieving more than 99.99% pathogen removal and tolerating raw-water variability. Typical design flux is 50-100 LMH with physical washing (backwash plus air scour) every 15-60 minutes to manage fouling.

Pharmaceuticals and bioprocess (UF/NF): Concentration and diafiltration with UF is a standard unit operation in antibody and vaccine purification. A 30 kDa UF can concentrate a 150 kDa antibody while removing low-MW salts and additives. GMP-grade plants pick hollow-fibre or flat-sheet modules built from PVDF or PES that fully clean and sterilise. NF is used for media recycling and solvent exchange.

Food and dairy (UF/NF): Cheese-making concentrates milk proteins by UF (MPC, milk protein concentrate), and the recovery of beta-lactoglobulin from whey is also a UF process. NF concentrates lactose and trims salt content, and is even used for desalting deep-ocean water. Entering MW=66,000 (bovine serum albumin) in this tool yields >99% rejection on UF, matching plant data.

Common misconceptions and pitfalls

The biggest mistake is treating MWCO as "smaller passes, larger is blocked". Real pore distributions are roughly Gaussian and MWCO is just the convenient 90% point. As this tool shows, a solute at half MWCO is only ~60% rejected. Worse, rod-shaped or flexible polymers can "slip" through despite a high molecular weight, so deciding by MW alone often produces ugly surprises during pilot testing. Practical work uses Stokes radius and measured rejection of the actual target solute.

The second trap is the linear belief "more pressure means proportionally more flux". On clean water J = L_p * dP indeed holds, but with real feed the membrane surface develops concentration polarisation and then a gel layer or fouling cake. Beyond a certain pressure additional dP contributes almost nothing to flux — the "limiting flux" phenomenon. If you push past it the fouling rate climbs exponentially and the average flux actually drops. Field's "sustainable flux" rule says stay below it; this tool flags real flux under 10 LMH as NG, but the upper limit is roughly 100 LMH for MF/UF, 40 for NF and 25 for RO.

The third trap is the optimistic view "fouling is reversible — we will just CIP later". Fouling splits into reversible (recovered by physical wash) and irreversible (not recovered by CIP). Most of the irreversible part is set by the early operating window: forcing high flux during the first few hundred hours permanently blocks sub-micron pores. New-plant commissioning therefore includes a 2-4 week conditioning ramp during which flux is raised gradually. Skip it and a membrane rated for 3-5 years of service is replaced within a year.

How to Use

  1. Enter solute molecular weight (Da) using the slider or numeric field; typical range 100–10,000 Da for protein separations.
  2. Set transmembrane pressure (kPa): MF 50–200, UF 200–400, NF 400–1000, RO 4000–8000 for seawater desalination.
  3. Input membrane area (m²) and feed flux (LMH); observe real flux decline, rejection percentage, and fouling state; CIP interval updates automatically based on flux loss rate.

Worked Example

Ultrafiltration of bovine serum albumin (BSA, MW=66.4 kDa) through a 10 kDa MWCO membrane: Set solute MW to 66,400 Da, TMP 350 kPa, membrane area 2 m², feed flux 50 LMH. Simulator predicts rejection R≈98%, real flux 44 LMH after fouling, permeate flow 0.088 m³/h, fouling 8% after 6 hours, CIP cycle every 7 days. Switching to NF (100 Da MWCO) at 700 kPa yields rejection 65%, flux 38 LMH, extending CIP to 10 days due to reduced protein precipitation.

Practical Notes

  1. RO (MWCO ~0.1 Da) rejects >99% salt (NaCl, MW 58.4 Da) but requires 6000+ kPa; use for brackish/seawater pre-treatment with 20–30% recovery.
  2. NF (1–10 kDa) ideal for softening; rejects divalent ions (Ca²⁺, Mg²⁺) at 90–98% while passing monovalent salts, optimizing concentrate disposal in industrial plants.
  3. UF fouling accelerates with protein >50 kDa; increase TMP gradually; reduce feed flux from 100 to 40 LMH to extend membrane life from 2 to 5 years.
  4. MF (0.1–10 µm) handles suspended solids; flux remains stable (>80 LMH) if feed turbidity stays below 5 NTU; combine with UF polishing for dairy/beverage clarification.