How Unfilter works

Unfilter is a deterministic browser editor—not a prompt-based AI reconstruction service. It measures the pixels you provide, proposes conservative corrections, and gives you control over the final result.

Updated August 8, 2026

Direct answer: how do you remove a filter from a photo?

When the original editing history is unavailable, a filter cannot be literally undone. Unfilter estimates an opposite color and tone adjustment from the visible pixels. It analyzes channel balance, brightness distribution, contrast range, and color intensity, then exposes the estimate through readable controls. You decide how much correction to keep.

1. The file stays in your browser

The file picker gives the current tab access only to the image you select. JavaScript decodes that file into an in-memory bitmap. The current site has no photo upload route, account system, or cloud image bucket. Processing uses the browser’s Canvas API; export uses a temporary local Blob URL.

For interactive speed, the preview is scaled to a maximum working size. The export is rendered from the selected bitmap at up to 16 megapixels and a maximum long edge of 5,000 pixels. Larger inputs are resized for browser stability. Closing the tab or pressing Start over releases the working bitmap from the page session.

2. Auto estimates a neutral baseline

The Auto preset samples the image rather than sending it to a model. It calculates average red, green, and blue channel values, a luminance histogram, low and high luminance percentiles, and average chroma. Those measurements produce bounded starting values:

Every estimate is clamped to a modest range. A photograph can be intentionally warm, cool, dark, or low-contrast, so statistics alone cannot define the correct artistic result.

3. Controls apply a transparent pixel transform

Temperature and tint bias color channels. Exposure multiplies light values. Contrast expands or compresses values around the midpoint. Saturation moves each color away from or toward its luminance. Fade adjusts black-level character, and Sharpen uses a small four-neighbor unsharp operation. Strength blends the correction with the original saved pixels.

The before-and-after divider matters because a technically neutral image can still look wrong. Move the divider across faces, sky, foliage, white objects, and shadow detail. Lower Strength when the correction removes genuine ambient light or intentional mood.

4. Export creates a new copy

JPG is compact and appropriate for most photographs, but it is lossy. PNG is larger and preserves exact exported pixels, including transparency where present. If a transparent PNG is exported as JPG, Unfilter composites it over white because JPG does not store alpha transparency. The source file is never overwritten.

What the method cannot do

Unfilter cannot infer pixels hidden by an opaque sticker, recover exact colors discarded by grayscale conversion, undo a geometric face warp, or recreate texture erased by smoothing. It also cannot distinguish an artificial warm cast from real sunset light without scene context. A generative editor may invent plausible content for some of those tasks, but invented content is not the same as recovered evidence.

Why no “AI” label?

The current implementation does not run a trained neural model, so the interface does not call itself an AI filter remover. Clear labeling is part of the product: visitors should know whether a tool measures existing pixels, sends a file to a model, or synthesizes new content. If the processing architecture changes, this page and the privacy policy must change before release.