Changelog
Documented updates to guides, tools, and site documentation.
Consistent One image / Multiple images tabs across tools
Every tool with a single-or-batch workflow now uses the same tab labels—One image and Multiple images—replacing the old Single image and Bulk [action] pairs for clearer, parallel wording.
- Compress, Resize, Rotate, Crop, Convert, Watermark, and Image Metadata tabs now read One image and Multiple images.
- Shared sessionModeCopy in lib/bulk keeps tab labels in sync across tools.
- In-page instructions, editorial copy, FAQs, and guide steps that reference tabs were updated to match the new labels; SEO guide titles still use bulk where it helps search intent.
- Image Metadata keeps legacy modeSingle / modeBulk keys alongside modeOneImage / modeMultipleImages for editorial and SEO copy.
Watermark Image: placement presets, stats strip, and bulk polish
Watermark Image reorganizes placement into Single, Repeat, and Diagonal modes, adds a stats strip and Change image workflow in single mode, and polishes Multiple images bulk processing—with a new bulk guide and in-page instructions.
- Placement: choose Single (one mark with drag or corner/center presets), Repeat (edge-to-edge tiling with spacing), or Diagonal (Repeat plus a fixed −45° proof preset).
- Single mode: stats strip shows Original vs Watermarked file size and Same resolution; debounced preview prepares the export blob before Download is enabled.
- Single mode: Change image swaps the photo without clearing settings; Start over resets the session. Paste (⌘V / Ctrl+V) works on the dropzone.
- One image and Multiple images tabs isolate sessions—switching modes clears the other queue so files and results never mix.
- Multiple images: shared settings with position pills (no per-image drag), per-card previews, pagination, summary totals, Add more images, and ZIP download.
- Published guide: bulk-watermark-images-online; added in-page instructions and updated editorial, FAQ, and metadata.
Adjust Image: tone curves, clearer panels, and new guides
Adjust Image adds RGB and per-channel tone curves with histogram feedback, reorganizes advanced controls into clearer sections, and ships four new guides for curves, selective color, LUTs, and vignette frames.
- Curves: edit RGB or individual R, G, and B channels with a live histogram, click-to-add points, drag to reshape, and presets (Linear, S-curve, More contrast, Lift shadows, Soft highlights). Curves run after Light sliders and before Color.
- Reset one channel or all curves; nudge the selected point with arrow keys (hold Shift for finer steps). Double-click a middle point to remove it.
- Controls split into focused sections—Light, Color, Detail, Curves, Selective color, Posterize & color space, and Vignette / frame / gradient / LUT—for easier scanning on long grades.
- Selective color: region maps (box on preview) and point maps (single pixel) in side-by-side lists, shared tolerance, and a Full picker modal; stack up to 5 of each.
- Live preview and export pipeline refactored for smoother updates as sliders, curves, and color maps change.
- Published guides: tone-curves-for-web-photos, selective-color-replace-online, cube-lut-brand-consistency, and vignette-frames-for-social-photos; added in-page instructions and updated editorial, FAQ, and metadata.
Rotate Image: fine angle in single mode and bulk workflow polish
Rotate Image now straightens one photo to any angle in single mode, while bulk rotation keeps fast 90° turns with clearer selection, ordering, and ZIP export—plus a new guide for fine straightening.
- Single mode: set any angle from −180° to +180° with the slider or number field; 90° left/right nudges and Reset to 0° stay one tap away.
- Non-90° angles expand the canvas to fit the rotated image; PNG and WebP keep transparent corners, JPG fills empty areas with white.
- Single image and Bulk rotate tabs isolate sessions—switching modes clears the other queue so files and results never mix.
- Bulk rotate applies 90° left/right to the selected subset only, with All / Vertical / Horizontal filters and per-card checkboxes.
- Bulk queue adds sort modes (manual, name, orientation), move up/down in manual order, live previews, pagination for large batches, and a summary with selected count and file size before → after.
- Download each rotated file from its card or grab the full queue as a ZIP; reset settings clears rotation and reselects the full queue.
- Published guide: rotate-single-photo-any-angle; updated tool instructions, editorial, FAQ, and metadata to match single vs bulk behavior.
Resize Image: smart crop, framing, and preview polish
A second Resize Image update adds face-aware cropping for cover presets, manual framing controls, custom letterbox color, and a clearer single-image preview—aligned with bulk export and previews.
- Fill frame (cover) in Presets mode adds Smart crop (faces): detects faces and centers the crop on them; requires Presets + Fill frame (bulk switches to those settings when you enable it).
- With smart crop off, drag on the preview or use the focal grid to choose what stays in frame for cover presets.
- Fit with padding adds a custom letterbox color (picker + hex) alongside transparent, white, and black.
- Single-image preview focuses on the output: dimensions (original → target), file size, and a stable viewport—no separate “original” column.
- Bulk smart-crop previews analyze full-resolution files so thumbnails and expanded previews match downloaded results.
- Face detection and resize previews share a simple loading overlay (including “Detecting faces…” during smart crop).
Resize Image: social presets, fit modes, and bulk preview upgrades
Resize Image now handles social presets with fit/padding options, clearer previews (including transparent letterbox), and a stronger bulk workflow with enlarge previews and clean session switching.
- Presets mode adds grouped social sizes (Instagram, YouTube, TikTok, LinkedIn, Pinterest, and more) with Fit with padding, Fill frame, or Stretch to exact size.
- Fit with padding supports transparent, white, or black letterbox bands; single-image and bulk previews use a checkerboard so transparent areas read clearly.
- Preset output bounds show a stronger outline on checkerboard when using transparent padding (single target preview and bulk cards).
- Switching between Single image and Bulk resize now fully resets the other mode—files, queue, and settings—so memory and state stay isolated.
- Bulk resize shows Resize settings only after images are added; the redundant “all images” label was removed.
- Bulk queue cards get a magnifying-glass control to open a larger preview modal; resize bulk previews apply the same fit/preset logic at thumbnail and expanded sizes.
- Bulk thumbnails are capped to the card preview area so tall presets no longer clip; shared resize logic moved into lib/resize for export and previews.
Better upscale quality on large photos
Upscale Image now picks the best processing path automatically—same 2×/4× controls and workflow as before, with improved results on photos that are already detailed.
- Large sources (768px or more on the longest side) are upscaled with the same high-quality method as Resize, then a light AI pass sharpens the result.
- Small or low-resolution images still use full generative AI upscale to rebuild detail.
- Very large 4× exports may be capped near 8 megapixels so the tab stays stable; the tool shows the planned output size and effective scale when that happens.
Compress Image refresh: goals, compare view, and file sizes
Compress Image now supports compression goals (quality, smallest file, or a KB target), a unified compare slider, accurate original file sizes, and clearer upload feedback.
- New What matters most? control: Best quality, Smallest file, and Target size.
- Target size automatically finds the best quality that fits your KB budget and tells you when the goal can't be reached.
- Unified compare slider replaces separate Before/After previews; file sizes stay visible above the viewer.
- Before always shows your original upload size—even when the browser decodes HEIC or similar formats internally.
- Upload any image format; export as WebP, JPEG, or PNG (BMP removed as an output option).
- Loading overlay on the upload area while large files prepare, in single and bulk modes.
- Stats strip shows visual quality tier and target-size status; the percentage saved appears next to After.
- All goals work in bulk compression with ZIP download.
Paste images from your clipboard
Every single-image upload area now accepts images straight from your clipboard — copy an image anywhere and paste it in, no saving required.
- Copy an image from a webpage, screenshot, or another app, then press ⌘V / Ctrl+V on the upload area to add it instantly.
- Added a subtle Paste button inside the drop zone for browsers that support clipboard reading (a ⌘V / Ctrl+V hint shows where it isn't available).
- Works across all single-image tools (Compress, Convert, Resize, Crop, Object Remover, Upscale, and more) plus the homepage drop area.
- Pasted images run through the same format validation as dropped or selected files.
Object Remover manual multi-area selection
Added an Auto-remove toggle so you can paint several areas first and remove them together in one pass.
- New Auto-remove switch (on by default, keeping the previous behavior of removing each stroke automatically).
- Turn it off to paint multiple areas, then run them all at once with Remove selected.
- Added Clear to discard the current selection without processing.
Object Remover quality, redo, and performance upgrade
Object removal now preserves the rest of the image at full quality, adds Redo, keeps the page responsive while processing, and downloads the AI model only once.
- Added a Redo button (with clear undo/redo icons) to step forward again after undoing a change.
- Replaced hold-to-preview with a before/after compare slider on the editor; releasing the handle snaps back to the full edit view so brushing is never blocked.
- Removals now keep every unpainted pixel at its original resolution: only the painted area is regenerated and blended back with a soft edge, instead of rescaling the whole image.
- The AI now processes a context crop around your mask, so erasing small objects in large photos produces noticeably sharper fills.
- Inpainting runs in a Web Worker, so the page stays scrollable and responsive while the model processes (the tab no longer freezes).
- The LaMa model is downloaded once and cached in memory and in Cache Storage, removing the repeated re-download that happened on every brush stroke and on page reloads.
Upscale Image stability and UX refresh
Faster, more reliable local AI upscaling with clearer results UI, memory-safe processing for large photos, and a slimmer ESRGAN model.
- Switched to ESRGAN Slim for quicker in-browser inference while keeping 2× and 4× output.
- Large inputs are fitted to a safe working size before AI upscale to reduce tab crashes and out-of-memory failures.
- Backend selection now prefers WebGL, caches the stable backend per session, and avoids redundant TensorFlow re-initialization.
- Processing shows a preview loading overlay (aligned with other AI tools) instead of a separate progress bar block.
- Replaced the bottom technical summary with a compact top strip: original → upscaled dimensions, scale badge, elapsed time, and export file size.
- Removed user-facing memory and WebGPU fallback warnings; compare slider labels simplified to original / upscaled.
Blur Face AI detection stability fix
Fixed an infinite reload loop in Blur Face that could spawn many blob URLs after using Detect faces with AI.
- Blur Face no longer re-loads the preview image on every render after AI face detection starts.
- Stabilized useImageElementFromUrl so inline onError callbacks do not retrigger image loading (also used by Watermark and Meme generator).
Object Remover tool launch
Added a new in-browser AI object removal workflow with automatic inpainting, undo history, and simplified editing UX.
- Launched /object-remover with LaMa ONNX in-browser inpainting (no environment setup required).
- Editing now runs in a single Object editor view with auto processing after each brush stroke and a loading overlay.
- Added brush wheel size control, live circular brush indicator, and minimum on-screen scaling for small images while preserving original export resolution.
- Added Undo history and a hold-to-preview-original interaction for quick before/after checks without obstructing brushing.
- Updated tool naming from AI Object Remover to Object Remover across route, metadata, sitemap, icon mapping, and related guide/FAQ/editorial content.
Bulk crop for consistent batch framing
Crop now supports single-image precision and bulk queue processing with shared presets or free-size rules, plus GIF frame picking.
- Crop tool now includes Bulk crop mode with social presets (1:1, 4:5, 16:9, 9:16, 2:3, 1.91:1) and a Free crop size mode.
- Added live bulk previews that update as settings change, plus clearer copy in Crop setup.
- GIF uploads now open frame picker: one frame continues in single mode, multiple frames go to Bulk crop automatically.
- Added batch queue UX with progress states, per-item download, and ZIP export for all completed crops (PNG/JPG/WebP).
- Updated crop editorial/FAQ and published a dedicated guide: bulk-crop-images-with-consistent-framing.
Photo and Adjust copy clarity update
Photo editor and Adjust now use simpler user-facing wording, with guides aligned to the latest filter and advanced control features.
- Updated Photo editor and Adjust UI descriptions so instructions are clearer for everyday users (including quick filter wording).
- Adjusted advanced panel helper text in Adjust to explain controls in plain language while keeping control names like Brightness and Contrast.
- Refreshed related editorial and guide copy to match current functionality: predefined quick filters in Photo editor, and expanded light/color/detail controls in Adjust.
Photo editor and bulk UX polish
A simpler photo editor for everyday edits, plus consistent bulk wording across all batch tools.
- Launched /photo-editor: crop, brightness/contrast/saturation, rotate/flip, and export—with a clear path to Adjust for advanced color tools.
- Bulk tools now share the same friendly status copy (Waiting…, images ready, shared ZIP footer labels).
- Updated Compress, Convert, Rotate, Metadata, Resize, and Watermark bulk panels for consistent progress and error messages.
GIF Maker tool launch
You can now turn multiple images into an animated GIF directly in your browser.
- Launched /gif-maker with frame ordering, global frame delay, loop mode, and export preview before download.
- Added sizing controls (average/largest/smallest/first/custom) plus fit options for mixed frame dimensions.
- Supports broad image inputs and animated GIF frame import, with updated tool metadata, guides, FAQs, and sitemap listing.
Bulk watermark and bulk resize
You can now resize or watermark many images at once in your browser, then download everything as a ZIP.
- Watermark tool: new Bulk watermark mode — text or logo, presets/tile placement, and per-image or ZIP download.
- Resize tool: new Bulk resize mode — width/height, percent, or social presets applied to all selected images.
- Both tools now share a clear local-processing flow with progress, pagination, and format-aware downloads.
Convert clarity update
The converter now has clearer format rules for regular users.
- Output options in Convert are now PNG, JPG, and WebP (single and bulk).
- Source file details stay honest: original type and original size are preserved in the interface, even when a preview-safe file is prepared behind the scenes.
- Converter validation feedback is clearer for unsupported exports and decode failures.
- Guides, FAQs, tool intros, and page descriptions were updated to explain the workflow in simple terms: any image format as input, with three clear output formats (PNG, JPG, WebP).
Universal image converter update
The converter now handles practically any common or professional image format in one flow, with easier GIF frame selection.
- You can now upload almost any image format and convert it from the same tool, in single or bulk mode.
- If you upload a GIF, a frame picker opens first so you can convert one frame or multiple frames and send them directly to bulk convert.
- General limits: very large files, heavy layered files, or very long batches may take longer or fail on low-memory devices; GIF animation is not exported as animation; batch size limits are still applied and shown in the interface.
Upscale Image tool (local AI)
Added a dedicated local AI upscaler with 2x/4x output, compare slider, and SEO-integrated route.
- Launched /upscale-image with local browser AI processing (no upload), backend fallback (WebGPU/WebGL/CPU), and adjustable memory profile.
- Supports JPG, PNG, WebP, and HEIC inputs, with PNG/JPG/WebP export at the upscaled native resolution.
- Added before/after divider comparison, tool metadata, catalog listing, and sitemap indexing.
Blur Face tool (manual + AI)
New privacy-focused blur workflow with automatic face detection, manual controls, and UX/SEO integration.
- Launched /blur-face: blur faces with AI detection or draw manual blur boxes, then export PNG/JPG/WebP.
- Added runtime fallback for detection (WebGL when available, CPU when not) for broader browser/device compatibility.
- Improved user guidance: full-image processing overlay, clearer step-by-step labels, and simpler non-technical button copy.
- Added guides: blur-faces-for-photo-privacy and blur-license-plates-and-sensitive-details, plus tool editorial, FAQ entries, sitemap, and updated tool catalog metadata.
Image metadata viewer and EXIF cleaner
New privacy-focused tool to inspect, edit, and strip EXIF/GPS and related image metadata in the browser.
- Launched /image-metadata: view grouped EXIF/IPTC/XMP fields with privacy alerts.
- JPEG: remove GPS only or strip all metadata without recompressing; edit Artist, Copyright, and Description.
- Bulk cleanup mode: strip all metadata or GPS only on many images, ZIP download.
- Other formats: export a clean copy locally; added guide strip-image-metadata-before-sharing.
Watermark tool
New in-browser watermarking for photos and proofs, with a dedicated guide and FAQs.
- Launched /watermark-image: text or logo watermark, opacity, rotation, drag/preset placement, and diagonal tiling.
- Exports PNG/JPG/WebP at the source image's full resolution; processing stays in your browser.
- Added guide: add a watermark to images (opacity, placement, tiling, deterrence vs DRM).
New Rotate Image tool (single + bulk)
Added a dedicated rotate workflow with orientation-based selection, ordering controls, reset, and a new guide.
- Launched /rotate-image with single and bulk modes, 90-degree left/right rotation, portrait/landscape selection, and ZIP download.
- Added ordering controls (manual and sorted modes) to keep predictable review sequence in bulk runs.
- Published guide: rotate-images-in-bulk-without-mistakes and linked it from tool-page editorial/FAQ.
Meme generator and editorial alignment
New meme tool plus copy updates so guides, FAQs, and tool pages match how export and overlays actually work.
- Launched /meme-generator: templates, top/bottom text, draggable text and image overlays, replace base image, full-resolution export (PNG/JPG/WebP).
- Added guide: make memes for social media (placement, safe zones, export sizing).
- Updated meme tool FAQs and editorial to describe preview scaling vs full-res download.
Guides, FAQ search, and publisher transparency
Major editorial update for clearer workflows, discoverability, and trust signals across the site.
- Added 17 practical guides including Shopify product photo pipeline and browser vs desktop comparison.
- Search on /guides and /faq; tool pages keep the widget first with guide links and long-form help below.
- Guide bylines with author name and updated dates; changelog page for ongoing site updates.
Guides section and expanded tool documentation
First wave of long-form tutorials linked from each image tool.
- Launched /guides with compression, format, resize, and social sizing articles.
- Per-tool editorial blocks: use cases, limitations, and FAQs on tool pages.
- Expanded /faq product guide and /about with in-browser processing details.
