Image Editor
Browser-based image editor with crop, rotate, flip, brightness, contrast, saturation, blur, and 4 more filters. Resize and re-format. Canvas API.
Share on Social Media:
Image Editor: Browser-Based Filters, Rotate, Flip, Resize, Format Conversion
Our free Image Editor brings the most-used operations from desktop image tools (Photoshop, GIMP, Affinity Photo) to a browser tab — instant, zero-install, and 100% local. Upload any image (PNG, JPG, JPEG, WebP, GIF, BMP, AVIF, HEIC), apply filters and adjustments via sliders, rotate or flip, resize to exact pixels or a percentage, change format, and download the result. The original file never leaves your device. The HTML Canvas API does the rendering; nothing is uploaded, nothing is logged, nothing is stored.
The editor is intentionally not a full Photoshop replacement. It does what 80% of casual image-editing needs require — brightness, contrast, saturation, hue, blur, grayscale, sepia, rotate, flip, resize, format swap — and skips the parts that need professional tooling (layers, masking, painting, healing brush, advanced retouching). For the simple operations, opening Photoshop is overkill. For everything else, the editor handles it without the install, the subscription, or the upload-to-some-stranger's-server step that other free online editors require.
The filter operations
Brightness (0-200%). Multiplies all pixel values toward black (0%) or white (200%). 100% is unchanged. Below 100%, the image darkens. Above 100%, the image lightens. At 200%, all pixels are pushed toward white. Use to lift dim photos or darken overexposed ones.
Contrast (0-200%). Stretches or compresses the gap between dark and light tones. 100% is unchanged. At 200%, blacks become deeper and whites become brighter (high contrast, dramatic look). At 0%, the image is uniformly mid-grey (no contrast at all). Use to add punch to flat photos or soften harsh ones.
Saturation (0-200%). Multiplies color intensity. 100% is unchanged. 0% is fully desaturated (black and white). 200% pushes colors toward fluorescent. Use to revive faded colors or for stylistic effects.
Hue rotate (0-360°). Shifts every color around the color wheel by the specified degrees. 0° is unchanged. 180° produces complementary colors (blue becomes orange, red becomes cyan). Use for creative effects or to test alternate color schemes.
Blur (0-20px). Applies Gaussian blur with the radius in pixels. 0 is unchanged. Higher values produce stronger softening. Use for stylistic backgrounds, to anonymize faces or text, or as a base for further compositing.
Grayscale (0-100%). Mixes the original colors with their grayscale equivalent. 0% is full color. 100% is fully black-and-white. Intermediate values produce muted partial-color looks.
Sepia (0-100%). Applies a warm vintage tone. 0% is unchanged. 100% is full sepia (orange-brown vintage look). Use for nostalgic effects or magazine-style aesthetics.
Invert (0-100%). Inverts color channels. 0% is unchanged. 100% is full color inversion (negative-style). 50% produces a desaturated mid-tone effect. Use for high-impact creative work or to convert positive photos to negative for darkroom-style printing.
The geometric operations
Rotate. 90° clockwise, 90° counterclockwise, or 180°. Each rotation rebuilds the canvas at the swapped dimensions (a 1920×1080 rotated 90° becomes 1080×1920). Free rotation (e.g., 5° tilt) is not currently supported — use a dedicated cropping/rotation tool for that.
Flip horizontal. Mirrors across the vertical axis (left becomes right). Use to flip photos for layout symmetry, mirror selfies (which are auto-flipped by phone cameras), or correct text in scanned documents.
Flip vertical. Mirrors across the horizontal axis (top becomes bottom). Less common than horizontal flip but useful for upside-down scans or stylistic effects.
Resize. Set new width and height in pixels. Aspect ratio is NOT auto-locked in the editor (use the dedicated image-resizer tool if you want lock behavior). Specify both dimensions explicitly. Use for fitting exact dimensions like 1080×1080 social posts.
Format and quality
Export as PNG (lossless, supports transparency, larger files), JPG (lossy, no transparency, smallest files for photos), or WebP (modern, lossy or lossless, supports transparency, smaller than JPG at equivalent quality, 97%+ browser support).
For JPG and lossy WebP, set quality 10-100%. The default 85% works for most images — visually indistinguishable from the original at half the file size of 100%. Drop to 75% for thumbnails, raise to 95% for hero imagery. Below 60% introduces visible artifacts on most images.
Real-world workflows
Quick photo polish for social media. Increase brightness 110%, saturation 115%, contrast 105% — adds vibrancy without looking processed. Resize to 1080×1080. Export JPG 90%. Upload.
Profile picture preparation. Crop to square in another tool, then resize to 400×400 here. Apply slight brightness boost (~110%) and saturation (~110%) to make the face pop. Export PNG to preserve maximum quality for use in multiple contexts.
Product photo cleanup. Phone photos in dim lighting need brightness boost. Set brightness 120-140%, contrast 105% to maintain detail, export at the storefront's expected dimensions. For marketplaces (Amazon, Etsy), use 1500×1500 JPG 90%.
Vintage effect on a portrait. Sepia 70%, saturation 85% (slightly dampened), brightness 95%. Export. Looks like an aged photograph without going overboard.
Black and white conversion for print. Grayscale 100%, contrast 110% to compensate for the loss of color separation. Export PNG for print master.
Anonymize a screenshot. Apply blur 8px to face or text region (currently the editor blurs the whole image — for region-blur use a dedicated tool). Useful for sharing screenshots that contain personal information.
Format swap for compatibility. Receive WebP from a designer, but your CMS only accepts JPG. Open, leave settings at defaults (no edits), export JPG. Done.
Mirror a selfie that came out reversed. Phone front-cameras typically save mirrored images. Flip horizontal corrects this so text in the photo reads normally.
Correct an upside-down scan. Document scanner placed page upside-down. Rotate 180°, save. Faster than re-scanning.
Quick contrast and crop for blog hero. Resize to 1920×1080 (assuming source is 16:9-ish), apply 105% contrast and 110% brightness, export JPG 85%. Drop into post.
Color-test before committing. Apply 30° hue rotate to see what the image looks like in alternate color schemes — useful for branding decisions before committing to a design.
Highlight an ad creative. Push saturation to 130% and brightness to 105% — the result reads more vivid in feed scrolls, which improves CTR for stock-photo-based ads.
How the rendering pipeline works
Your image loads into an HTML canvas. CSS-style filter strings (the same ones used by `filter: brightness(120%) contrast(105%)` in stylesheets) are applied to the canvas drawing context. The browser's GPU-accelerated filter implementation runs the operations efficiently — preview is real-time even for multi-megabyte images on modest hardware.
For final export, the canvas state is serialized to the chosen format using `canvas.toBlob()`. JPG and WebP encoding accept the quality parameter; PNG is always lossless. The Blob is offered to the user as a download via a generated URL.
The editor preserves the original on each operation — undo restores the unedited state, not just the previous filter. This means the original is held in memory for the session; closing or refreshing the page discards it (along with all edits, since nothing persists to a server).
What the editor doesn't do
Layers and compositing. Use Photoshop, GIMP, or Photopea for multi-layer work.
Selection and masking. The editor applies global filters to the whole image. For region-specific edits (blur a face, brighten one area), use a desktop tool with selection capabilities.
Painting and drawing. No brush tool. Use a tablet-app like Procreate or Krita.
Healing or content-aware fill. AI-based retouching needs models that don't run in the browser efficiently. Use an AI photo editor for those tasks.
Free rotation. Only 90° increments. For 5° straightening, use a dedicated rotation tool.
Cropping. The editor resizes proportionally; cropping (removing parts of the image) is a separate operation. Use a cropper tool first if needed.
Vector editing. SVG content opens as a rasterized image; vector path editing requires a vector tool (Inkscape, Figma, Illustrator).
Batch processing. The editor handles one image at a time. For batch operations (apply same filters to 50 images), use the image-resizer or image-compressor tools, which support bulk.
Edge cases
HEIC files. Modern browsers (Chrome, Edge, Safari) decode HEIC natively. Older browsers may need preprocessing — convert to JPG/PNG first using the format-converter tool.
Animated GIFs. Open as static (first frame only). To preserve animation, use a dedicated GIF tool.
Transparent PNGs converted to JPG. Transparent areas fill with white (the canvas default). For other fill colors, set the canvas background before export.
Color profiles. Embedded profiles (Adobe RGB, P3, ProPhoto) are normalized to sRGB on load. For color-critical print work, edit in a profile-aware tool.
Very large images. Browser memory caps canvas size around 16K×16K. For 50+ MP DSLR images, downscale first.
Filter combinations. Filters apply in CSS-filter order: blur, then color adjustments. The order is fixed; if you need a different order, apply some filters, export, re-import, apply more.
Privacy
The editor is fully client-side. Your image loads into a canvas, gets edited via local JavaScript, and is offered for download. Nothing is uploaded. There's no server processing. There's no analytics on image content. You can verify by opening DevTools and watching the Network tab during an editing session — zero outbound requests beyond the initial page load.
This is significant for sensitive material: personal photos, screenshots of private conversations, internal product imagery, medical or legal images. None of those need to leave your device for the editing to happen, and we built the tool to honor that.
Frequently asked questions
Can I undo my changes? Yes — slider changes are non-destructive while the session is active. Reset returns to the original. Closing the page discards everything (intentional — nothing persists).
How do I save my edits to come back later? Download the result. The editor doesn't persist sessions to your account or to local storage by default. To resume, re-import the downloaded version.
Why does my edited image look slightly different in another tool? Browser canvas color management may differ from your other tool's. Most photos look identical; color-critical work may show subtle differences. Use a dedicated color-managed editor for print or color-accurate work.
Can I edit RAW files? No. RAW formats (CR2, NEF, ARW, DNG) require dedicated decoders. Convert to TIFF or PNG using your camera's software or a RAW developer first.
Why isn't my filter applying smoothly? Very large images (>20 megapixels) may render slowly on lower-end hardware. Resize first, then apply filters. The editor handles up to ~50MB images reliably.
How do I know which output format to pick? PNG for screenshots, logos, transparency. JPG for photographs, broad compatibility. WebP for modern web (smaller than JPG, supports transparency).
Can I add text to images? Not in this tool. Use the text-to-image tool to render text as an image, or a dedicated overlay tool. Adding text is a layered operation we don't currently support.
Does the editor support batch operations? Single-image at a time. For batch resize/compress with consistent settings, use the dedicated bulk tools.