How this works, and what it can't do

Most tools in this category are vague about what they measure and silent about how well. This page is the opposite: what runs where, how the score is calculated, how accurate it actually is against human judgement, and what it deliberately refuses to do.

Everything runs on your device

When you drop a photo in, nothing is uploaded. The analysis and every fix run in your browser, on your own graphics hardware, using WebGL2. There is no server that receives your photo, because there is no server in the pipeline at all.

That includes the machine-learning parts. Face detection, background removal and object erasing all use models served from this domain and run locally — they are downloaded to your browser and executed there. The first time you use the erase tool it fetches a 14 MB model, and that model stays on your device.

There is no account, nothing is stored after you close the tab, and there is no watermark on anything you download.

What the score measures

The score comes from 18 measurements of the image — how the brightness is distributed, whether highlights or shadows are clipped, white balance and saturation, sharpness and noise, and how the frame is arranged. Those roll up into four groups (light, colour, detail, composition) and a small set of penalties for severe faults.

When something is wrong, you get it in plain language — "too dark", "colours are off", "too blurry" — because the number on its own is not useful. The diagnosis is the point; the score is just a summary of it.

How accurate it is

This is the part most tools skip, so here is the honest version.

The engine was measured against KonIQ-10k, a public research dataset of 10,073 photographs, each rated by around 120 people. Against those human ratings the score reaches a rank correlation (SROCC) of 0.417. Published academic methods reach roughly 0.90 on the same dataset.

So: the score is a real signal and a long way from the state of the art. It is better at separating clearly bad photos from the rest (0.75 by area under the curve) than at ranking everything in order, which is the more useful of the two jobs for a tool that just needs to tell you whether something needs attention.

A stronger scoring model exists in the codebase and reaches 0.58 on the same held-out data. It is not switched on, because it scores worse on a second corpus and its bands have not been re-calibrated. Switching it on because one number improved would be exactly the kind of thing this page exists to avoid.

What it deliberately does not do

About the analytics

One thing does leave your browser, and it should be stated plainly rather than discovered: page views. The site runs a self-hosted Umami instance on the same operator's server — not Google Analytics, no cookies, no cross-site tracking, no advertising identifiers.

What it records is anonymous counts: that a page was viewed, that a photo was analysed, that an export happened. No pixels, no EXIF, no filenames, nothing derived from the image. The content security policy on this domain permits exactly one external origin, which is that analytics endpoint — you can verify this in your browser's network tab, and you are encouraged to.

Who built it

PhotoInput is built by Fero Novak, Managing Director of Ringier Slovakia. It started as a way to understand where machine learning genuinely helps in a product and where it is decoration, and it is maintained as a working demonstration of that question rather than as a business.

Which is why it is free with no account, no advertising and no upsell: it does not need to convert anyone. If you find something wrong with it, that is the most useful thing you can send — hello@photoinput.com.

Check a photo