Sukat · Changelog

Sukat Changelog

What's new in Sukat — new tools, format support, and fixes. Browser-based image compression to an exact KB or MB target. Everything runs on your device; nothing is uploaded.

← Back to the compressor
    • New Pixelate pen in the Paint editor.

      A mosaic pen sits beside the eraser for redacting a face, a name badge or a screenshot full of client data. Each dab crushes the area under the brush into flat blocks rather than softening it, which is the difference between hiding something and merely blurring it. Block size follows the brush, so a bigger pen gives coarser blocks; Feather softens the edge, and it undoes like any other stroke. Nothing is uploaded — the redaction happens in your browser, which is the point of doing it here rather than in an online editor.

    • New Type an exact quality percentage.

      The percentage beside the quality slider is now editable. Click it, type a number, press Enter. Arrow keys step by one, and the value clamps to 0–100 — 0 being Auto. Handy when you already know the quality you want and dragging a slider to exactly 74 is more trouble than it is worth.

    • Fix Contrast and connection-speed pass.

      The Compress & Download button and the report link both failed the WCAG AA contrast minimum for normal text — white on the old green measured 2.54:1 against a 4.5:1 requirement. Both now clear it comfortably, and the button carries a gradient rather than a flat fill. Connection hints were also added for the third-party origins the page loads, which were costing 220–345 ms each in setup time on mobile because the browser only discovered them late.

    • Fix The result preview stopped working after a minute.

      Opening a compressed result more than 60 seconds after compressing it showed the filename instead of the image. The preview was reusing the download link's temporary URL, which the browser releases after a minute; results now hold their own. The thumbnail always looked fine, which is why this went unnoticed — it had already decoded.

    • New Sukat Inspector can ask for an upscale.

      When Inspector sends an image that a page renders larger than its source file, it now says so, and Sukat opens with Allow upscale already ticked and the target set to the width the page actually renders. Previously the request was quietly clamped back to the source size, which handed back the very file that was too small. Allow upscale also unticks itself once the queue empties, so it can never carry over to the next image you drop in by hand.

    • New Move tool in background removal.

      After removing a background you can reposition and scale the subject, and resize the canvas around it — useful when the cut-out sits off-centre or you need a specific aspect ratio for an upload form.

    • Fix Clear all no longer wipes your results.

      Clearing the image sources also cleared the results list below it, discarding compressions you had not downloaded yet. The two lists are now independent.

    • New AVIF output.

      AVIF joins WebP, JPEG, PNG and ICO as an output format. It typically beats WebP at the same visual quality, though support outside modern browsers is still patchy — WebP remains the default for general web use. The codecs are self-hosted and load only when you select the format, so choosing AVIF costs nothing to anyone who does not.

    • Fix Accessible names for the controls.

      The quality slider, the unit selector and the report filter had no accessible names, so a screen reader announced them as unlabelled. All three now identify themselves.

    • New Results survive a reload, and page five at a time.

      Compression results are now kept on your device, so a refresh, a crash or an extension-triggered reload no longer loses a batch you had not finished downloading. The list shows a total count and pages five at a time instead of growing without limit. Still local — nothing is uploaded to store it.

    • New A live visitor globe on the homepage.

      The hero carries a globe showing where Sukat is being used right now. It stays with the tool as you scroll, and is hidden on mobile where the screen is better spent on the tool itself.

    • New A closer look at any result.

      Click a result thumbnail for a larger view with the full before and after — filename, dimensions, file size and the quality the search settled on — plus how much was saved. Arrow through every result in the batch without going back to the list. Individual results can also be removed without clearing the rest.

    • New Search, filter and bulk delete in the compression report.

      The report gained a search box, a filter by output type, per-row copy, and a way to select and delete several records at once. Its two delete buttons were merged into a single control that follows whatever mode you are in.

    • New Restore brush and mask preview for background removal.

      Background removal is rarely perfect first time. A restore brush paints erased areas back, a preview toggle shows the mask itself rather than the result, and the erase and restore brush sizes sit side by side so switching between them does not mean re-setting the size.

    • New Re-download & copy buttons on result rows.

      Each successful compression now carries two icon buttons on the right side of its row: one re-downloads the compressed file (no need to re-run the conversion), the other copies the result line — filename, source size, output size, quality — to your clipboard. Useful for filing tickets, sharing stats, or grabbing the file a second time if your browser misfiled the first download.

    • Fix Auto quality on initial single-image load.

      When a single image was added, the quality slider used to snap to a rounded integer percentage that wasn't always the exact value the binary search settled on. At the high end of the quality curve, re-encoding at the snapped percent could produce a file that exceeded the size limit by a few KB — even though Auto's own search had just found a fitting result. The slider now stays at Auto on first load, and the preview uses the search's actual blob. No more "exceeds max file size" warning on what should be a clean fit.

    • New Inspector tab reuse with additive queue.

      When the upcoming Inspector v1.2 sends a second image to Sukat, it accumulates into the same Sukat tab instead of opening a new one. The queue is held in sessionStorage so it survives the URL change, and removing a file or clicking Clear All keeps the persisted queue in sync with what's actually loaded. Closing the Sukat tab clears the queue — the natural "start over" gesture. Older Inspector versions keep working unchanged.

    • New Faster Inspector → Sukat image transport.

      The bridge that ferries image bytes from the Inspector extension into Sukat now supports an ArrayBuffer fast path for v1.2 (the legacy v1.1 base64 transport still works). Skips two encode/decode steps and the ~33% size inflation of base64-on-the-wire — meaningful on 1 MB+ photos coming from slow CDNs.

    • New Loading indicators for big imports.

      A skeleton row now appears in the file list while the Inspector bridge fetches images, and a small spinner sits next to the file size while the dimensions of a manually-dropped large image (or a HEIC photo) are being decoded. No more guessing whether the import stalled.

    • New Two new blog posts.

      Why your Cumulative Layout Shift won't drop below 0.1 — the image-dimensions side of CLS. And Why your OG image breaks on every platform — what every social and search platform actually expects from og:image.

    • Fix SVG animations on tablets.

      The hero animations on How It Works, Size Guide, FAQ, Privacy, Terms, and the blog index sometimes stayed paused on tablet browsers (the IntersectionObserver gating threshold didn't fire reliably at narrow viewport heights). Now uses a more permissive threshold plus a safety-net timer that force-runs the animation if the observer doesn't trigger.

    • New Paint editor — show/hide, snap, and arrow-key nudge.

      Each text or image overlay gets a per-item eye toggle — hidden items stay on the canvas at low opacity so you can re-select them, but they're excluded from the final PNG. Drag any overlay near another and a green guide line locks alignment to canvas center, canvas edges, or another item's edges and centers. Select an overlay and press arrow keys for 1 px nudges, Shift+arrow for 10 px; a burst of presses still costs one undo.

    • New Crop ratios for social and SEO images.

      The crop modal now ships five extra presets covering the meta-image shapes most pages actually need: 1.91:1 (Open Graph, Twitter card, LinkedIn share), 4:5 (Instagram portrait), 2:3 (Pinterest pin), and 9:16 (Stories, Reels, TikTok). Hover any preset for a description of where it applies. The crop box now also opens centered on the image instead of pinned to the upper-left corner.

    • New Allow upscale toggle.

      By default, Sukat clamps your target width to the source's natural width — upscaling produces soft, interpolated pixels with no real detail. A new Allow upscale checkbox next to the Target Width input lets you override that clamp when you actually want a larger output (e.g. preparing a small logo for a print medium).

    • New Original preview shows the true source.

      After cropping, painting, or removing the background, the Original tab in the preview now resolves to the file you first dropped — not the in-progress edited intermediate. The After tab still tracks whatever you'll download.

    • New Sukat Inspector v1.1.0.

      Page Metadata audit panel, new Social & SEO Images section, byte-size Heavy flag, and a lazy-image dimension probe that finally measures below-the-fold photos. See full notes →

    • New Inspector → Sukat crop deep-link.

      Clicking Crop on an oversized image inside Sukat Inspector now opens Sukat with the recommended aspect-ratio preset pre-selected and the crop modal already on screen — one click instead of three. Backward-compatible: older Inspector versions and the standard import link continue to work unchanged.

    • New Reliable imports from slow third-party CDNs.

      The bridge that ferries images from the Inspector extension into Sukat got a 15 s budget (up from 8 s) plus a cold-service-worker retry on the first request. Fixes the failure pattern on Vogue, Condé Nast and other slow CDNs where the first image after extension idle used to time out. The fallback error message also explains what failed and what to try next.

    • New Crop and Compress.

      Crop to a specific aspect ratio and hit a KB ceiling in a single pass, without leaving the tab.

    • New Passport-photo format pages.

      Dedicated pages for the 2×2 inch and 35×45 mm passport-photo formats.

    • Launch Sukat is live.

      Browser-based image compression to an exact KB or MB target, using a binary search over the quality range to find the highest quality that fits under your ceiling. Highlights at launch:

      • Input: JPG, PNG, WebP, GIF, AVIF, and HEIC. Output: WebP, JPEG, or PNG.
      • Set a maximum file size in KB or MB, an optional target width, and an output format.
      • Batch compression with a single-ZIP download.
      • Crop and client-side background removal before compressing.
      • Live quality preview slider.
      • Ten-language interface.
      • No upload, no account, no watermark, no limits — everything runs on your device.
Sukat · Changelog

Built and maintained in Manila

Sukat is run by an independent developer. Have a request or found a bug? Every email reaches a real person.

Get in touch →