Eleven instruments for pixels — resize, crop, rotate, flip and a full filter set, all with a live canvas preview in the box above. Your image is processed locally and never leaves this tab.
Scales your image to exact pixel dimensions on a canvas. With the aspect-ratio lock on, typing a width computes the matching height automatically, so nothing ever stretches out of shape.
Example
900 × 600 source · width 640 · lock on…
↓
640 × 427 — proportions preserved.
Use it for thumbnailssocial sizesemail imagesfaster pages
Cuts out any region with four sliders — X, Y, width and height — all in percentages, so the crop is easy to nudge precisely. The preview updates with every move.
Example
X 10% · Y 10% · W 80% · H 80%…
↓
Center crop — the outer 10% trim on every side.
Use it for avatarsbanner cropsreframingremoving edges
Rotates by any angle from 0° to 345° in 15° steps. The canvas expands automatically so corners are never clipped — rotate 45° and you get a diamond on a larger canvas, nothing cut.
Example
900 × 600 · rotate 90°…
↓
600 × 900 — portrait in one step.
Use it for sideways photosscansdesign assetsstraightening
Mirrors the image horizontally, vertically or both with a canvas transform. Handy for fixing scanner output, creating symmetrical layouts and testing UI with reversed imagery.
Example
mode: horizontal…
↓
Mirrored left ↔ right, pixels untouched otherwise.
Use it for mirror fixessymmetryui testingsprites
A genuine pixel-level blur: a two-pass separable box blur with an adjustable radius, computed on canvas — not a CSS filter. Crank the radius for a full privacy blur or keep it low for a soft-focus look.
Example
radius 8…
↓
Soft, even blur — faces and text become unreadable fast.
Use it for privacy blursbackgroundssoft focusredaction
Applies a 3×3 convolution kernel whose strength you control: the center pixel is amplified while its neighbors are subtracted, which pushes edges back into focus. Subtle at 20%, punchy at 80%.
Example
amount 50…
↓
Edges crisped without the halo of heavy oversharpening.
Use it for soft photosrescanned docsproduct shotsdownscaled art
A linear gain on every channel, from 0% (black) through 100% (unchanged) to 200%. The fastest fix for an underexposed shot before you reach for anything heavier.
Example
a dark photo · 140%…
↓
40% brighter, highlights protected by clamping.
Use it for underexposed shotsbacklit subjectsscansquick fixes
Pushes pixels away from mid-gray: below 100% flattens the image toward gray, above 100% deepens shadows and brightens highlights. The classic tool for adding punch to flat, hazy photos.
Use it for flat photoshazy skiesdocument scansdramatic looks
Blends every pixel toward or away from its own luminance. At 0% the image is fully grayscale; at 300% colors go hyper-vivid. Anything in between is a smooth intensity dial.
Example
a dull landscape · 160%…
↓
Colors pop without shifting their hue.
Use it for dull photosvivid looksmuted palettesblack & white
Converts to grayscale using the luminance weights the eye actually perceives (29.9% red, 58.7% green, 11.4% blue), and lets you blend from full color to full gray with the amount slider.
Example
any photo · amount 100%…
↓
True-tone black & white — skin and sky keep their natural weighting.
Use it for black & whiteprint prepdramatic editsaccessibility
Applies the classic warm-tone sepia matrix — the vintage darkroom look — blended by the amount you choose, from a subtle warm cast at 30% to full antique at 100%.
Example
any photo · amount 100%…
↓
Full sepia — warm browns, instant nostalgia.
Use it for vintage looksphoto albumswarm gradingretro designs
Conventions · working copy scaled to ≤ 900 px for speed · export is the processed canvas as PNG · rotate expands the canvas · blur = 2-pass box blur · sharpen = 3×3 convolution · grayscale = luminance 0.299/0.587/0.114 · sepia = standard warm matrix · all processing local
The privacy promise
Your image never leaves this tab. There's nowhere for it to go.
This page has no backend. Upload, processing and export all happen on a canvas inside your own browser — no server, no CDN hop, no storage bucket. Close the tab and the image is simply gone.
YOUR IMAGE→PROCESSED IN YOUR BROWSER→YOUR PNG
✕ SERVER · CDN · DATABASE · LOGS
Databasenull
Backendnone
Image uploads0
Session logs0
Questions
Asked often, answered plainly.
( 02 )
Does my image ever leave my device?
No. Upload, processing and export all happen inside your browser tab using the canvas API. The page has no backend, so there is nowhere for the image to go — not even to a CDN.
What resolution is processed?
For speed, the working copy is scaled down to at most 900 px on its longest side. The PNG you copy or download is the processed result at that working resolution, which is ideal for web, social and preview use.
Which formats can I upload, and what do I get out?
Anything your browser can decode — JPG, PNG, WebP, GIF — via click or drag-and-drop. Export is always lossless PNG. Animated GIFs are processed as their first frame.
What do the blur and sharpen filters actually do?
Blur is a two-pass separable box blur with an adjustable radius. Sharpen applies a 3×3 convolution kernel whose strength you control. Both run pixel-by-pixel on a canvas — no server filters, no CSS tricks.