Compress to a byte budget.
Push the quality slider with a live before/after preview, or set a target file size in KB and let the encoder bisect quality to hit the budget. Format-aware: JPEG, WebP, and AVIF each get their own quality math. Bulk optimize applies one profile to a queue.
Compress
Quality slider with live preview, plus exact byte-target compression.
Three formats, one slider, the curves don't lie.
FyDark Compress runs JPEG, WebP, and AVIF through their own calibrated math. The chart shows the trade-off between encoder quality and resulting file size for each format — the visible-loss zone shaded so you stop one click before the image suffers.
Hero · safe
Default for hero art · matches eye-test expectations.
Tune by feel, see the cost in bytes
- Continuous slider with live before/after thumbnails on the canvas.
- File size, savings %, and visible-loss indicator update as you drag.
- Same slider drives every format — JPEG, WebP, AVIF — with format-specific calibration.
JPEG, WebP, and AVIF each calibrated separately
- JPEG: classic, broad compatibility, deepest range of quality presets.
- WebP: ~30–50% smaller than JPEG at matched visual quality.
- AVIF: ~50% smaller than WebP again — best for hero imagery on modern stacks.
Hit a byte budget without guessing the slider.
Set a target in KB and the engine bisects encoder quality until the encoded file lands at or just below your budget. Convergence in 4–6 candidate encodes; the trace below shows every probe.
- #1encode at q.50720 KBover
- #2encode at q.25165 KBunder
- #3encode at q.37360 KBover
- #4encode at q.31248 KBunder
- #5encode at q.33298 KBmatch
298KB
Encoded at quality 0.33 in WebP. Sits 2 KB under the 300 KB target — never goes over the budget.
Hit an exact KB budget without guessing
Pick a format, set a target in KB, and the engine bisects encoder quality between min and max bounds until the encoded file lands at or just below your budget. Useful for email attachments, App Store thumbs, and any system with a hard byte ceiling.
A whole folder, one shared profile, one output zip.
Drop mixed-format inputs, set a single quality + format profile, and the bulk optimizer applies it across the queue. Each row reads like a build pipeline step — source size, encoded size, savings %.
- .heichero-launch.heicENCODING4.1 MB298 KB−93%
- .pngfeature-grid-01.pngQUEUED1.8 MB——
- .pngfeature-grid-02.pngQUEUED1.7 MB——
- .jpgteam-portrait.jpgQUEUED2.3 MB——
- .jpgstudio-bench.jpgQUEUED3.0 MB——
- .pngpress-kit-cover.pngQUEUED2.8 MB——
- .pngog-card-launch.pngQUEUED1.2 MB——
- .bmpfavicon-master.bmpQUEUED460 KB——
One profile, a whole folder, one zip
Drop a queue of mixed inputs, set a single quality + format profile, and the bulk optimizer applies it across the lot. Output names follow a consistent pattern; everything ships as a single zip with savings logged per file.
Six benches, six savings stories.
FyDark Compress ships for designers, developers, marketers, photographers, founders, and content creators — each row reads as a before/after savings report.
- For DesignersTight launch art at the same fidelityRow 01 / 06Source · 4.1 MBWebP · q.92Output · 312 KB−93%
Quality at 0.92 keeps a hero shot looking pristine while the WebP encoder still trims 60% off the JPEG source. Saved as a recipe, the next launch's hero gets the same treatment in one click.
Reaches forQuality sliderFormat-awareRecipes - For DevelopersHero under the LCP budgetRow 02 / 06Source · 3.6 MBAVIF · targetOutput · 198 KB−95%
Set a target of 200 KB on AVIF, drop the production hero in, walk away with a file that lands at 198 KB. Bisection converges in 5 candidate encodes — faster than guessing slider positions by eye.
Reaches forTarget-sizeFormat-awareRecipes - For MarketersNewsletter art that survives GmailRow 03 / 06Source · 2.8 MBJPG · targetOutput · 280 KB−90%
Email clients clip images over a few hundred KB. Target-size mode at 280 KB JPEG gives consistent newsletter art that always renders inline — no awkward 'click to download' fallbacks.
Reaches forTarget-sizeBulk optimizeFormat-aware - For PhotographersShare-safe copies without re-exportingRow 04 / 06Source · 12.1 MBWebP · q.86Output · 980 KB−92%
Drop a 12 MB JPEG straight off the camera, push WebP at 0.86, save a sub-1 MB version for client preview. Quality stays unmistakable on a phone screen, file ships fast over messaging apps.
Reaches forQuality sliderFormat-awareRemove EXIF - For Founders & indiesApp Store thumbnails inside Apple's capsRow 05 / 06Source · 5.5 MBWebP · targetOutput · 480 KB−91%
Apple's App Store screenshots have published max sizes. Target-size mode lets you ship the screenshot set inside those budgets without re-encoding by hand. One profile, twenty outputs, every one within spec.
Reaches forTarget-sizeBulk optimizeConvert - For Content creatorsStay under platform upload capsRow 06 / 06Source · 8.0 MBJPG · q.86Output · 3.9 MB−52%
TikTok, X, Reddit, and forums all cap inline image uploads. Set a 4 MB target and bulk-optimize a folder of inputs — every file converges below the cap, no rejection bounces.
Reaches forTarget-sizeBulk optimizeQuality slider
Compression behaviour, answered as a reference document.
Encoder math, target-size convergence, format-aware quality calibration, batch behaviour. Numbered §sections with cross-references — read end-to-end or skip to the entry that matters.
Compression behaviour, encoder math, and pipeline conventions
All entries below describe behaviour shipped in the current build of FyDark Compress. Sections are numbered §3.1–§3.6; the last entry of each section ships with cross-references to related tracks where applicable.
- §3.1Entry 01 / 06
Quality slider vs target-size — when do I use each?
BehaviourUse the quality slider when you have a sense of the visual budget but not the byte budget — 'just shrink the file but keep the look'. Use target-size when there's a hard cap from the system you're shipping to: email attachment limits, App Store screenshot maxes, LCP performance budgets, upload caps. Both modes share the same canvas, so you can swap mid-edit.
See also§3.2 · target-size modeTrack 03 §1 · curve chart - §3.2Entry 02 / 06
How does target-size compression actually work?
BehaviourBisection. The encoder takes your byte target, picks an initial quality at the midpoint of the search range, encodes a test file, measures the result. If the file is over budget, it picks a lower quality and re-encodes. If under, higher. Each step halves the remaining range — convergence is typically 4–6 candidate encodes, well under a second on a modern laptop.
See also§3.4 · AVIF savingsTrack 03 §2 · bisector - §3.3Entry 03 / 06
Will compression introduce visible artifacts?
BehaviourAbove 0.80 quality, almost never on photographic content. Between 0.60 and 0.80 you'll see softening on fine detail and gradients. Below 0.60 the typical compression artifacts (blockiness on JPEG, smearing on WebP/AVIF) show up — useful for thumbnails but not for hero art. The studio shows you a before/after preview so you can stop one click before things get visible.
See also§3.4 · format-aware encodingTrack 03 §1 · curve chart - §3.4Entry 04 / 06
Is AVIF really that much smaller than WebP?
BehaviourOn hero imagery, yes — AVIF typically ships ~50% smaller than WebP at matched visual quality, and ~75% smaller than JPEG. The trade-off is encoder time (AVIF takes longer to encode in the browser) and decode support (older browsers fall back). For modern web stacks, AVIF as primary with WebP as fallback gives the best of both.
See also§3.1 · slider vs targetTrack 04 · convert - §3.5Entry 05 / 06
Can I batch-compress a folder?
BehaviourYes. Drop multiple files, set the quality + format profile once, and the bulk optimizer applies it across every input. The per-file output report shows source size, encoded size, and savings. Pair with Convert, Resize, and Remove EXIF in a single recipe to fan a whole folder through one pipeline.
See alsoTrack 03 §3 · bulk queueTrack 06 · batch - §3.6Entry 06 / 06
Does compressing change image dimensions?
BehaviourNo. Compression operates on encoder quality only — same W × H goes in, same W × H comes out. If you also need to resize, drop the Resize step into the recipe before Compress: the studio applies operations in order, so resize first, encode second, ship.
See alsoTrack 01 · resizeTrack 03 §3 · bulk queue
Pick a track, open the studio,
ship the pixels.
Every track on this page links to its own dedicated workspace — resize, crop, compress, convert, effects, batch, SVG cleanup, privacy. Same canvas, same recipe shelf, more depth where you need it.