Initializing, please wait a moment

Drop two photos of the same aquarium - one from before, one from now - and this page measures which one is clearer, names the cloudiness pattern it sees, and lists what to do next. Every pixel is read on this device, in your browser: neither photo is uploaded anywhere.

Image 1 - earlier state (before)

Drag a photo here or click to choose

Image 2 - current state (after)

Drag a photo here or click to choose

Add two photos of the same tank - nothing leaves this device.
MetricBeforeAfterDelta

What to do next

    0%

    Example comparison (bundled sample photos). The same stylized tank, day 1 with a milky bloom and day 4 after it cleared - exactly what the tool measures when you press the sample button above:

    Sample aquarium photo on day 1: milky, background blurred
    Day 1 - clarity score 15/100, haze 100%
    Sample aquarium photo on day 4: clear water, sharp background
    Day 4 - clarity score 67/100, haze 26%
    MetricDay 1Day 4Delta
    Optical stateUniform milky haze (bloom pattern)Crystal clearImproved
    Clarity score (0-100)1567+52 pts
    Haze (shadow lift)100%26%Less scatter
    Edge sharpness594Background crisper

    Verdict for day 1: even, low-texture haze across the frame - the classic look of a heterotrophic bacterial bloom. Suggested steps at that point: halve feeding for 48 hours, keep surface agitation high, and do not deep-clean the filter. By day 4 the numbers confirm it cleared on its own.

    Aquarium Water Checker - Compare Before & After Photos


    The Aquarium Water Checker compares two photos of the same fish tank taken at different times and measures which one is clearer. It scores each photo's optical clarity from 0 to 100, names the cloudiness pattern it sees, and lists prioritized next steps - entirely in your browser, with neither photo uploaded anywhere.

    Why compare two photos instead of judging one

    Eyes are poor at judging slow change. You look at the tank every day, so a haze that built up over a week reads as normal, and a bloom that is already fading still looks alarming. Two photos taken days apart make the change visible again: the swipe-to-compare slider lets you scrub between the before and after states, and the measured numbers say whether clarity moved up or down and by how much. That answers the question every fishkeeper actually has after a water change, a filter cleaning, a bacteria dose or a new tank setup: is it getting better or worse?

    What the Aquarium Water Checker measures

    Each photo is downscaled onto an invisible canvas and read pixel by pixel on your device. Four measurements drive the report. Edge sharpness looks at how crisp the background objects are - a heater, an intake tube, plant stems - because suspended particles soften those edges long before the water looks obviously cloudy. Haze checks how much the darkest areas of the frame have been lifted toward the bright areas: in clear water real shadows stay dark, while scattered light from suspended solids fills them in. Particle speckle measures fine grainy texture in the midtones, which separates mechanical dust from smooth biological haze. Color tint classifies the overall cast - milky, green, amber or neutral. The clarity score combines sharpness, haze and contrast into one 0-100 number per photo, so the delta between the two photos is a single figure you can track week over week.

    Reading the cloudiness patterns

    The same "cloudy water" complaint has different causes with different fixes, and they look different to a pixel analysis. A uniform milky haze with low speckle is the classic appearance of a heterotrophic bacterial bloom, common in new tanks and after gravel disturbance or overfeeding; the usual response is to feed less and wait rather than to change lots of water. Grainy speckle points to mechanical particles such as unrinsed substrate dust or a stirred-up bottom, which fine filter floss clears in a day or two. A green shift is the free-floating algae direction and responds to a shorter lighting period. A warm amber tint with sharp edges usually means tannins from driftwood or matured water, which is transparent and harmless. The tool phrases each verdict as an optical observation, because that is what a photo can honestly support.

    Taking two photos that compare fairly

    Shoot both photos from the same spot, at the same angle, under the same lighting - same time of day, same room lights, tank light on in both. Turn off the camera flash, because flash glare rewrites the shadows the haze measurement depends on. Include some fixed background detail such as the filter intake or heater, since those objects are what the sharpness measurement locks onto. The checker measures the exposure difference between your two shots and warns you when they differ too much to score a fair delta; when a photo carries a capture time in its metadata, that is read on your device and used to state how many hours or days apart the two states are.

    Stocking estimate and the optional AI passes

    Enter your tank volume and fish counts to add a stocking-pressure estimate to the report: a rule-of-thumb waste load per 10 liters with a band from lightly stocked to overstocked, plus a water-change cadence hint. Two optional AI passes can help, and both run on your device. If your browser ships built-in AI, one click rewrites the measured numbers as a short plain-language assessment with nothing downloaded. Separately, an on-device vision model can look at both photos, cross-check the cloudiness verdict, and suggest which fish it thinks it sees; that model is about 147 MB, downloads only after you click and see the size, is cached by the browser for next time, and its species suggestions only prefill the stocking form for you to confirm or correct. When no AI is available, the full pixel-measurement report works exactly the same.

    What a photo cannot tell you

    No photograph can measure ammonia, nitrite, nitrate, pH, hardness or temperature. Crystal-clear water can still carry an invisible ammonia spike, and a harmless bacterial bloom can look dramatic while the chemistry stays safe. Treat this checker as your trend instrument between tests: it tells you whether the visible situation is improving or worsening and what pattern the cloudiness matches, while a liquid test kit stays the ground truth for water chemistry. If fish are gasping at the surface or resting on the bottom with clamped fins, test the water now regardless of what any photo shows.

    Private by construction

    Both photos stay in this browser tab: the pixel analysis, the metadata read, the slider and the optional AI passes all execute on your device. No account, no watermark, no image ever sent to a server - photos of your home stay at home.

    ← Back to Utility Tools

    Related tools:

    Tags: #utility

    Related guides:

    Loading reviews...

    Frequently Asked Questions

    Are my aquarium photos uploaded anywhere?

    No. Both photos are read on an invisible canvas inside this browser tab, the metadata is parsed on your device, and the optional AI passes also run locally. Nothing is sent to a server.

    Can this tool measure ammonia, nitrite or pH?

    No, and no photo-based tool can. The checker measures optical properties only: sharpness, haze, particle texture and color tint. Use a liquid test kit for water chemistry; use this page to track whether the visible situation is improving between tests.

    How does it tell a bacterial bloom from gravel dust?

    By texture. A bacterial bloom scatters light evenly, so the frame shows a smooth milky haze with little fine grain. Suspended dust and silt produce high-frequency speckle in the midtones. The report names which pattern the current photo matches and adjusts its suggested steps accordingly.

    Why does it say my photos are not comparable?

    The two shots differ too much in overall brightness, which usually means different lighting rather than different water. Retake one photo from the same spot at the same time of day with the same lights, and run the comparison again.

    What exactly does the optional 147 MB AI download do?

    It fetches an on-device vision model (CLIP) once, after you click and see the size. The model cross-checks the cloudiness verdict against what it sees and suggests which fish may be in the photo; those suggestions only prefill the stocking form, and you confirm or correct the counts yourself. The browser caches the model, so the next visit does not download it again.

    Does the clarity score work for saltwater and planted tanks?

    Yes. The measurements are about how light passes through the water, not about what lives in it. Heavily tinted blackwater setups will read as amber by design, and dense plant walls give the sharpness metric less background to lock onto, so keep some hardscape or equipment visible in the frame.

    Where does the capture time under each photo come from?

    From the photo's own metadata, read on your device. Screenshots and images passed through chat apps often have that field stripped; the tool then falls back to the file date and says so instead of guessing.

    How accurate is the stocking-pressure estimate?

    It is a rule-of-thumb waste-load calculation from the species and counts you enter against the tank volume, in the spirit of classic stocking guidelines. It flags obvious overstocking, such as goldfish in a nano tank, but it is an estimate for planning, not a biological measurement.