EcoSym

Filters

For the surfaces a filter's biofilm actually grows on, see Surfaces; for the media you load into it, see Chemical Filter Media.

A filter is the single most-bought object in the hobby, and the one most often explained wrong. The explanation you will have read is surface area: a filter gives bacteria somewhere to live, so more media means more bacteria means more fish. It is a tidy story. The simulator can test it, and it does not hold up.

The experiment that kills the surface-area story

Take a tank with a fixed ammonia load. Give it a filter with 10 000 cm² of media — a generous canister's worth. Now double the media to 20 000 cm² and run it again.

Residual ammonia falls by 0.3%. The bacterial population grows by 0.07%. The cycle finishes on the same day.

That is not a rounding error hiding a real effect; it is the effect. And the reason is a piece of arithmetic that is worth carrying around, because it explains most of what a biofilter does and refuses to do.

At steady state, a bacterial population that is fed a constant supply of food settles where its growth exactly balances its death:

standing stock = (ammonia supply × yield) ÷ (mortality + maintenance)

Read the right-hand side. There is no area term in it, and no flow term either. A biofilter's size is set, to a first approximation, by how much ammonia you feed it. Double the media and you have simply spread the same bacteria more thinly; each square centimetre holds half as many.

So where does space ever bind? Only when the media are small enough that the bacteria genuinely run out of room. In the simulator that happens below roughly 1 000–2 000 cm² at a normal bioload — a scrap of sponge, not a filter. At 500 cm² the biofilm reaches 36 µg of nitrogen per cm² and growth is throttled by a quarter; at 10 000 cm² it sits at 2 µg/cm² and the ceiling is nowhere in sight. Real filters live entirely in the flat region.

This is why the simulator's builder offers no media-amount slider. It would be a control that does nothing, which is a worse lie than not offering it.

What a filter actually does

A filter is not a place. It is a pump. Its defining property is that it drags the entire water column past a biofilm, over and over, and that has four consequences — which the simulator models as four independent channels on one object.

1. Forced convection: the channel that matters

Every submerged surface in still water wears a diffusion boundary layer — a film of near-motionless water, a fraction of a millimetre thick, that ammonia must diffuse across before a bacterium can eat it. Bacteria on the glass are not waiting for ammonia to exist. They are waiting for it to arrive.

Pumping water past the media collapses that film. The bacteria stop waiting. In the model this is expressed as perceived concentration: a biofilm on filter media experiences several times the ammonia that is actually dissolved in the tank, because delivery is no longer the bottleneck. (What it eats comes out of the real, shared pool — the perception changes the rate, never the bookkeeping.)

The population is still set by the food supply, so it barely moves — switching the pump on adds about 7% to it. What changes is what each cell can do when food is scarce. The result is that the same bacteria hold the ammonia much lower:

Same tank, same bioload Residual ammonia
No filter at all 0.055 mg N/L
10 000 cm² of media, no flow 0.044
10 000 cm² of media, flow on 0.024

The middle row is the honest control, and it is worth pausing on. Simply putting rough, sheltered media in the tank — with no pump — shaves a fifth off the residual ammonia, because bacteria settle readily on rough surfaces and get eaten less there. Switching the pump on then removes nearly half of what was left. A filter you unplug is a decoration.

How much relief a given filter buys is a calibrated number, not a derived one, and all three filter types share it. We tried to derive it. Media geometry gives you an interstitial velocity, which gives you a mass-transfer coefficient through a standard chemical-engineering correlation. The trouble is that the quantity the model needs is a ratio — how much better the media are than the glass — and the glass's own boundary layer is only known to within a factor of three. Push that uncertainty through the arithmetic and the answer spans three orders of magnitude. So the simulator uses one calibrated value for all filter classes and says so, rather than shipping three numbers that look precise and are not.

What the geometry does pin down, because the unknown glass term cancels, is the ranking — and the ranking we originally shipped was backwards. Mass transfer improves as media get finer, not as flow gets stronger: a sponge's pores are about a millimetre across, while a canister is packed with 5–15 mm ceramic. A canister has the weakest boundary-layer relief of the three, not the strongest. That is why the three types now share one value, and why the differences between them live somewhere else entirely.

2. Gas exchange: the channel nobody mentions

The return flow disturbs the water surface, and that governs every gas: oxygen in, carbon dioxide out, ammonia out. The model derives them all from a single coefficient, so there is no way to have one without the others.

This is the sharpest practical difference between filter types, and it inverts the marketing:

Filter What its flow does to the surface Oxygen pH (a proxy for CO₂ lost)
Canister submerged spray bar, barely a ripple 6.4 mg/L 8.14
Sponge (air-driven) a rising bubble column 7.4 8.36
Hang-on-back the return falls through air 7.8 8.53
(no filter) still water 5.9 8.02

A hang-on-back is the best aerator you can buy, and for precisely that reason it is the worst thing you can put on a CO₂-injected planted tank. Asked to hold the same drop-checker-green setpoint, the injection controller reaches it on both filters — but the hang-on-back has to buy back, continuously, everything its shattered surface strips away, so it burns about 4.75× the injected carbon of a canister to land on exactly the same dissolved CO₂. You pay several times over for an identical result, which is why an injected tank runs a canister with the spray bar under the waterline and never a waterfall. (The controller is a proper regulator: it holds your target regardless of the filter. The difference is entirely in the carbon bill, not in what the plants see.)

Notice also what a "sponge filter" really is: an air stone bolted to a block of foam. Its aeration is not a side effect of filtration, it is the pump.

How hard is your filter working the surface?

The table above is each filter at a typical installation. But "typical" hides an enormous range, and it is the range — not the filter class — that decides your pH.

Turn an air pump down until a sponge filter is barely bubbling and it contributes about a thirtieth of what it does running hard. Raise the water level until a hang-on-back's return is submerged instead of falling, and you have deliberately converted the best aerator in the hobby into one of the worst. Point a canister's outlet across the surface instead of tucking the spray bar under it, and you have done the reverse.

So the simulator asks you one question, and it is worth walking over to the tank to answer it properly: how much does your water surface move? Glassy, a faint ripple in one spot, a visible ripple across the surface, some splash, or churning.

That single answer is the most consequential thing on the setup page. Surface movement carries oxygen in and carbon dioxide out; dissolved carbon dioxide is what sets your pH. Across the five settings it is worth roughly a full point of pH — more than your substrate, your planting and your stock combined.

We learned this the hard way. A tester's 35 L sponge-filtered tank measured pH 7.5 at KH 7, and the simulator insisted on 8.5. His water was carrying twelve times the carbon dioxide of air; the model had it at barely more than one. The model was assuming a vigorously driven sponge — around a litre of air a minute — and his was, in his words, "light bubbling in one corner." Told that, the simulator landed on pH 7.4–7.8. Nothing else about the tank had changed.

Two things follow. If you are not sure, go and look — a guess here costs you more accuracy than a guess anywhere else on the page. And if your simulated pH comes out higher than your test kit says, this is the first setting to revisit, before you suspect anything about your substrate or your fish.

3. Mechanical capture: relocation, not removal

Filter floss catches suspended muck. In the simulator a filter leaves a tank carrying 30–50% less suspended detritus than an unfiltered one — a canister polishes best, a sponge least. It never takes all of it, and it should not: the bacteria suspended in the water are already clearing particles within the hour, and they keep most of them.

Crucially, captured muck does not leave the tank. It sits in the media and rots there, releasing exactly the ammonia and phosphate it would have released on the floor. An unrinsed sponge is a nitrate factory. The simulator gives it its own tracked pool for this reason: the nitrogen has to go somewhere, and pretending a filter deletes it would produce a tank whose books do not close.

There is a consolation, and nothing was tuned to produce it. Mulm inside the media rots slowly — far slower than the water-column bacteria would have digested it. So a filter delays the conversion of fish waste into ammonia, right through the dangerous weeks of a new tank's cycle, and pays it back later as harmless nitrate. Turn mechanical capture off in a fish-in cycle and the ammonia peak gets 12% worse.

4. Chemical media

A bag of carbon, zeolite or GFO sits inside the filter and adsorbs dissolved substances. This is a large enough subject to have its own page; the short version is that adsorption is relocation too, and the only door out of the tank is throwing the media away.

One thing does differ from bio-media, and it is worth stating plainly because the two controls look identical in the builder and mean opposite things. A chemical-media dose is real. Capacity is proportional to grams — ten times the carbon holds ten times the tannins — and the rate at which it clears the water depends on grams per litre of tank, which is why the simulator asks for a concentration rather than a number off a box. Bio-media area is the control that does nothing; chemical-media dose is the control that does exactly what you expect.

Which filter, then?

Since bacterial capacity is set by the bioload and not by the filter, and since all three types deliver the same boundary-layer relief, the choice between filters is a choice about gas exchange, mechanical polish, and CO₂ — and about nothing else:

  • Canister — the best mechanical polish, and almost no gas exchange. The right filter for an injected planted tank. Map a sump here; its media sit underwater and its flow is pressurised, which is what the model actually represents.
  • Hang-on-back — a superb aerator and a CO₂ shredder. Excellent for a heavily-stocked fish tank, ruinous for a high-tech planted one. Map a wet/dry trickle filter here.
  • Sponge — gentle, cheap, and it aerates because it is air-driven. Fine for shrimp and fry; a poor pairing with injected CO₂.

Older versions of this page told you a canister gives the strongest boundary-layer relief. It does not — coarse media are worse at mass transfer than fine ones, and a canister's ceramic is an order of magnitude coarser than a sponge's foam. The claim was never tested by anything in the model, because every canister experiment was compared against another canister, so the number cancelled out and nobody noticed. It is corrected here and in the engine.

Two mappings above are approximations, and the simulator says so rather than inventing presets. A real sump is meaningfully different from a canister and a real wet/dry is meaningfully different from a hang-on-back, in one specific way: their media are partly exposed to air. Modelling that honestly would require resolving oxygen gradients inside the filter, which the simulator does not do (see the last section). Calling a wet/dry "a hang-on-back with a bigger number" would be a lie of convenience.

Does a filter actually save fish?

This is the question that matters, and it has an unobvious answer: it depends entirely on how heavily you stock.

Ten zebra danio in an uncycled 40-litre tank, run to the end of the cycle:

Fish surviving Ammonia peak Cycle finished
No filter 52% 2.19 mg N/L day 34
Same media, flow off 59% 2.17 day 34
No filter, but an air stone matching the sponge's oxygenation 67% 1.78 day 34
Sponge filter 89% 1.46 day 29

Three lessons sit in that table.

An air stone is not a filter. The third row holds dissolved oxygen equal to the filtered tank — matched to within 0.2% — and removes only the biofilm. It still loses twice as many fish. Aeration genuinely helps, and it cannot grow you a bacterial population.

Static media are not a filter either. The second row is the same sponge with the pump off. It buys almost nothing.

And at light stocking, a filter saves no fish at all. Four danio in the same tank survive with or without one (99% either way). What the filter buys them is a gentler ride: the peak of free, toxic ammonia falls by a third, the worst moment of the cycle is half as bad by the model's health gauge, and the whole thing is over a week sooner. This is exactly why "you don't need a filter" survives as folk advice — at low stocking it is true — and exactly why it stops being true the moment someone adds fish. The filter's benefit grows with the bioload, as the steady-state arithmetic above predicts it must.

Flow also speeds up a fish-in cycle (34 → 29 days) while doing nothing at all for a fishless one. That is not a contradiction; it is the mechanism. A fishless cycle dosed with a daily slug of ammonia keeps the biofilm swimming in food, and there is no boundary layer left to relieve. A fish-in cycle ramps up from nothing, spending weeks in exactly the starved regime where forced convection is worth having.

Cleaning your filter

Because the filter is where the flow is, it is also where the bacteria are. In a bare-bottom tank the simulator puts 91% of the entire biofilter inside the filter — 97% of the ammonia-oxidisers specifically. That is what makes filter maintenance dangerous, and the danger scales with how filter-dependent the tank is.

Same tank, same day, same schedule; only the fraction of media disturbed changes:

Ammonia spike Days to re-cycle
Never touch it 0.11 mg N/L
Rinse half the media 0.37 +1
Replace all of it 2.74 +11

Rinsing half is not free — a fifth of the dislodged biofilm falls back into the tank and rots — but the surviving half carries the load while the other half regrows. Replacing everything at once removes the bacteria, the mulm, and the scaffold of extracellular slime they were living in, and the tank must cycle again from the glass. At 2.74 mg/L of total ammonia in warm, mildly alkaline water, a meaningful fraction is the free, toxic form. This is "I cleaned my filter and my fish died," and it is not folklore.

The advice that follows is the one everybody gives — never clean all your media at once — and the simulator earns it rather than asserting it.

There is a large caveat, and you should know it before you panic. A tank with a substrate barely notices. Give that same bare-bottom tank a sand bed, change nothing else, and replacing 100% of the media lifts ammonia by 0.016 mg N/L instead of 1.2 — a doubling of a very small number rather than a seventy-fold one, and invisible on a test kit. The bacteria on the sand were carrying the load all along.

Filter cleaning is dangerous in exact proportion to how much of your biofilter lives inside the filter. That is a fact about your tank, not about your filter.

What happens when a filter clogs

The reason you clean a filter is that it clogs, and a clogged filter is a real hazard — the "old canister syndrome" that ends with a rotten-egg smell and dead fish is a filter that quietly stopped flowing. The simulator can show you what a stopped filter does to a tank. What it will not do is tell you when yours will get there, and the reason is worth being honest about, because it is the same wall that stopped a much more ambitious version of this feature.

To predict clogging you would need three things in a chain, and the model can supply none of them from anything it can cite. First, the muck would have to pile up — but in the model it does not: filter mulm rots as fast as it is caught, reaching a steady load within a month and then holding there. (Run an uncleaned filter for a full year and it holds what it held after four weeks.) Second, you would need to know how much flow a given mass of mulm costs, which depends on how densely that mulm packs into the pores — a number the literature reports as measured per system, not as a constant, and whose published range runs from "no measurable effect" to "a solid plug." Third, you would need your pump's head curve, which decides whether the clogging media were ever the thing limiting the flow. None of these is a number the simulator can defensibly invent.

So instead of pretending to predict it, the simulator lets you state it: you tell it your filter is passing, say, a tenth of its rated flow, and it shows you the consequences. Those consequences are all things the model can compute honestly, because each one simply scales with the flow:

  • The bacteria are fed less. Forced convection is how a biofilter's bacteria get their ammonia delivered faster than still water would; throttle the flow and you throttle the delivery, so the same biofilm holds ammonia higher.
  • The water gets dirtier. Mechanical capture is the flow dragging particles into the media, so it falls off with the flow.
  • The aeration can go — or not. This is the one that surprised us, and it depends entirely on how your filter aerates. A hang-on-back aerates by dropping water through air; block it and that stops, taking the tank's biggest source of oxygen with it. An air-driven sponge aerates by bubbling air through the foam, and blocking the foam does not stop the air pump — so a clogged sponge keeps every bit of its oxygenation while losing its biology.

We expected, before building it, that lost aeration would be the whole story on a heavily stocked tank, because a hang-on-back's oxygen contribution is its largest number. It is not. Taking one channel away at a time on a heavily stocked tank, the lost biofilm and the lost aeration each account for about a third of the fish killed by a fully blocked filter — and the remaining third belongs to neither: low oxygen slows the very bacteria that would clear the ammonia, and rising ammonia demands more oxygen, so the two failures amplify each other. A clogged filter stops feeding its bacteria and stops feeding its tank at the same moment, and that coincidence is worse than either problem alone.

One thing the simulator still cannot show you sits just past the end of this: the genuinely anoxic filter, the one whose interior runs out of oxygen and starts making hydrogen sulphide. Even a fully blocked filter's media go on breathing the tank's oxygen in the model, because it does not resolve the oxygen inside the housing — and a running filter is nowhere near anoxic anyway (its media use about 1% of the oxygen passing through them, so going truly anoxic needs the flow to fall roughly fifty-fold, which is a stopped pump, not a dirty one). That last gap is described in the final section.

Where the bacteria live, and who they are

One more result falls out of forced convection, and it corrects a story that appears in a lot of aquarium writing — including, until recently, in these docs.

Three kinds of nitrifying bacteria compete in the model (see Nitrifying Bacteria). Two of them, AOB and NOB, are fast growers that need plenty of ammonia. The third, comammox, is a slow, patient specialist that can scavenge ammonia at concentrations where the others starve.

The received wisdom is that comammox gradually takes over a mature filter. In the simulator it does the opposite: comammox is driven out of the filter, and it takes over the glass.

In a cycled, filter-dependent tank, comammox holds 87% of the nitrifying biomass on the glass and only 22% inside the filter. In a heavily-loaded tank it is barely present on the media at all — under a third of a percent.

The reason is forced convection, and it is rather elegant. Flow makes the media perceive several times the ammonia that is dissolved in the tank. High perceived ammonia is the fast growers' regime, so filter media go nearly pure AOB and NOB. Meanwhile the busy filter draws the tank's actual ammonia down toward nothing — which makes the still surfaces, the glass and the sand, more starved than they would otherwise be, and starvation is precisely comammox's advantage.

So a filter does not merely house bacteria. It sorts them: r-strategists in the current, K-strategists in the quiet water. Nobody wrote that rule into the model. It emerges from two half-saturation constants and a pump.

Media is also shelter

Porous media does one more thing for a bacterial population, and it has nothing to do with flow. Snails, shrimp, and every other surface grazer crop biofilm, and in a tank whose algae have been grazed out they will keep cropping it. What stops them from finishing the job is that the last survivors are the ones down in the crevices, where a radula cannot follow.

How far down the population can be pushed therefore depends on how much textured surface the tank contains. A bare-walled tank offers a grazer very few places it cannot reach. A block of open-cell foam or sintered ceramic is almost entirely places it cannot reach. In the simulator a 35 L tank with walls and gravel holds its bacteria to about five times the floor a surface-free vessel would, and the same tank with a sponge filter holds them to about twenty-four times it. The refugia page has the full mechanism.

This is worth knowing because the bacteria in question are not only the biofilter. The same population is the tank's only real sink for dissolved organic carbon, so a tank that lets its bacteria be grazed flat also stops processing the carbon that leaf litter, uneaten food, and dying plants keep adding. Media buys margin on both at once.

What the simulator deliberately does not model

A filter here is a surface with flow, not a place with an inside. For a long time we listed that as the model's biggest gap, and planned to close it. Then we measured what was supposed to be inside, and found the room was empty. What follows is the honest list, with the arithmetic.

  • The right composition of biofilm. Feed a laboratory biofilm nothing but ammonia — no organic carbon whatsoever — and half the cells in it are still heterotrophs, living on what the nitrifiers leak and on their corpses. The simulator's filter film is essentially all nitrifiers, because it tracks heterotrophic bacteria as one water-column population rather than as residents of a named surface. That is a genuine error, and we have measured what fixing it would buy: almost nothing.

    It is worth saying why, because the answer is the same piece of arithmetic that opened this page. A heterotroph's food is dissolved organic carbon, and its population settles where growth balances death — so moving it from one column of the ledger to another does not feed it. Strip away ninety-nine percent of everything that eats or kills the tank's heterotrophs, far more shelter than a surface could confer, and the population rises by a factor of 1.26. The ceiling, with every predator and virus abolished, is 1.50. The film would roughly double and stay thin. What limits a biofilter's bacteria is the size of the meal, and an aquarium is a small meal: this simulator's filter processes about 0.14 grams of nitrogen per square metre per day, five to twelve times below a working aquaculture biofilter.

  • How thick that film is, in micrometres. The simulator knows how much bacterial nitrogen sits on each square centimetre. Turning that into a thickness means dividing by the density of a biofilm, and the literature puts that anywhere from 1 to 40 milligrams per cubic centimetre — a fortyfold spread, apparently never measured on aquarium media at all. Run the model's own film through that range and it lands anywhere from 24 µm to nearly a millimetre. Earlier versions of this page told you it was 5–18 µm. That was one end of a bracket wearing the clothes of a measurement, and we have taken it out rather than pick a favourite end.

  • When your filter clogs. The simulator will happily model a filter that has clogged — see below — but it will not tell you when that happens, and the reason is worth three sentences. The mulm in the media does not pile up: it rots as fast as it arrives, reaching a fixed load within a month and sitting there. (Run an uncleaned filter for a year in the model and it holds exactly what it held after four weeks.) Converting a mass of mulm into a loss of permeability needs the deposit's density, which the literature reports as fitted per system rather than as a constant; push the published range through the standard equation and the answer swings from "a solid brick" to "no measurable change". And converting a loss of permeability into a loss of flow needs your pump's head curve, which decides whether the media were ever the bottleneck. No peer-reviewed measurement of aquarium-filter flow decline appears to exist.

    So the simulator asks you how clogged your filter is, rather than pretending to work it out. It is a control, not a prediction, and it is labelled as one.

  • Whether a clogging filter catches more muck before it catches less. It does, in reality — narrowing pores strain harder, right up until they pass no water at all. The simulator's capture simply falls in proportion to the flow. The coefficient that would bend that curve is the same unmeasured one as above, and a filter that under-polishes is a smaller lie than one that invents clarity.

  • Oxygen inside the media, once the flow has gone. A filter with the pump running cannot suffocate: everything living in the media — nitrifiers, plus the mulm rotting between them — consumes about 1% of the oxygen in each pass. Even packing every bacterium in the tank into the housing only doubles that. For the media to go genuinely anoxic, the flow has to fall roughly fifty-fold, which is not a dirty filter, it is a stopped one.

    The simulator now models a stopped filter, and it models what stopping does to the tank — the aeration, the ammonia, the muck. What it does not yet do is resolve the oxygen inside the housing, so the bacteria on the media go on breathing the tank's oxygen even when almost no water is reaching them. This is the last honest gap in the object, and it is the one that gates the two results below.

  • Denitrification inside the filter, and the "old canister syndrome" hydrogen sulphide that comes with a badly neglected one. Both are real. Both sit immediately downstream of the gap above: they need somewhere in the tank that has run out of oxygen but not out of nitrate, and today the filter's media are never that place.

  • A wet/dry's air-exposed media, which is why one is mapped to a hang-on-back rather than given a preset of its own.

  • Flow rate as a number. You choose a class of filter, not a gallons-per-hour figure. We tried to derive the boundary-layer relief from pump ratings and media geometry; the calculation runs, but its answer depends on the thickness of the boundary layer on your aquarium glass, which the literature pins only to within a factor of three. Propagated through, the derived relief spans three orders of magnitude. The simulator does not ship numbers it cannot cite.

  • Shear — and we measured how much this costs. Real forced convection tears biofilm off as well as feeding it. The model feeds without tearing. If shear doubled the rate at which nitrifiers are stripped from a sponge, the filter would lose about a fifth of its residual-ammonia advantage; at four times, about two-thirds; at eight times, the filter would hold more ammonia than the same media left standing still. It never becomes worse than having no filter at all. And through that entire range, fish survival barely moves — two points of biomass retention at the extreme.

    We leave shear out rather than guess the multiplier. Detachment scales with shear stress, and while the media geometry does now give us a stress, the coefficient that turns a stress into a detachment rate has never been measured at anything like aquarium scale. Worse, the same missing calibration hides the opposite effect — faster flow also delivers colonising bacteria to the media faster. The omission cuts both ways, and anyone who tells you which way it nets out is guessing.

  • Filters catching uneaten food before it dissolves. Pellets decay to suspended detritus within a few hours and are captured then — a small delay, not a leak.

  • More than one filter. The engine refuses a second one outright. Two filters would silently double the gas exchange and make "clean the filter" ambiguous. A bag of carbon is media inside your filter, never a filter of its own.

Further reading

Key references

  • Rittmann, B.E. & McCarty, P.L. (2001). Environmental Biotechnology: Principles and Applications. McGraw-Hill. (Chapter 8: mass transport into biofilms; apparent half-saturation falls with bulk velocity.)
  • Zhang, T.C. & Bishop, P.L. (1994). Density, porosity, and pore structure of biofilms. Water Research 28: 2267–2277.
  • Daims, H. et al. (2015). Complete nitrification by Nitrospira bacteria. Nature 528: 504–509.
  • Kits, K.D. et al. (2017). Kinetic analysis of a complete nitrifier reveals an oligotrophic lifestyle. Nature 549: 269–272.
  • Bartelme, R.P., McLellan, S.L. & Newton, R.J. (2017). Freshwater recirculating aquaculture system operations drive biofilter bacterial community shifts around a stable nitrifying consortium. Frontiers in Microbiology 8: 101.