Features

Crunchy features & command-line guideEvery trick in the jar.

A friendly window for everyday crunching and a proper command line for scripts. Both use the same engine, and neither ever uploads a thing.

Download for Windows

v1.1.023.9 MBWindows 10 & 11 · x64Free

Command line

01 / In the app

Everything it does.

  • Batch everything

    Drop hundreds of files or whole folders. Crunchy works through them on every core and rebuilds the same folder structure.

  • New

    Hit a target size

    Need it under 25 MB for email? Set a target and Crunchy squeezes each file until it fits, with the least quality lost.

  • New

    One-click presets

    Email, Web, Archive or Smallest, or pick a level yourself: Light stays pristine, Balanced is the sweet spot, Maximum goes all in.

  • New

    Before / after

    Drag the compare slider across the original and the crunched copy to check the result before you send it anywhere.

  • New

    Paste to crunch

    Copy files in Explorer and press Ctrl+V in Crunchy. Progress shows on the taskbar and a notification pops up when it's done.

  • New

    Watch folders

    Point Crunchy at a folder like Downloads or Screenshots and new files are compressed automatically as they arrive while Crunchy is open.

  • New

    History & savings

    Every run is kept on the History page, with a running total of how much space Crunchy has saved you.

  • Separate files or one ZIP

    Get lighter copies side by side, or everything packed into a single ZIP ready to email.

  • Strip metadata

    Remove EXIF, GPS location, authors and editing history. Photos are rotated upright first.

  • Originals stay safe

    Crunchy writes new copies by default. Choose Replace originals and the old files go to the Recycle Bin, never straight to oblivion.

  • New

    Command line

    Script it or run it from any terminal once Crunchy is on your PATH (an optional checkbox in the installer).

    crunchy --level maximum --target 25MB file.pdf Command-line guide
  • New

    English & العربية

    A full Arabic interface with right-to-left layout. Switch languages any time from the app.

  • Right-click in Explorer

    Choose Compress with Crunchy on any file or folder, or send a big selection through the Send to menu.

  • Shrink huge photos

    Optionally cap images at a maximum width or height, perfect for 50-megapixel camera shots headed for the web.

  • 100% offline

    Every byte is processed on your PC. No uploads, no account, no size limits and no watermarks.

  • Updates itself

    Crunchy tells you when a new version is out, checks the download's SHA-256 and installs it in a click.

02 / Command line

Crunch from any terminal.

Start crunchy with an option and it runs right in PowerShell or Command Prompt, with no window. Great for scripts, scheduled tasks and big batch jobs.

Windows PowerShell

PS C:\Users\you\Documents> crunchy --version

Crunchy 1.1.0

PS C:\Users\you\Documents> crunchy --level maximum --target 25MB report.pdf

Crunchy 1.1.0: 1 file, maximum, target 25.0 MB per file, to C:\Users\you\Documents\Crunchy

[1/1] report.pdf: 182 MB -> 21.4 MB (-88%)

Done in 6.8 s: 1 compressed, 0 kept. 182 MB -> 21.4 MB (saved 161 MB, 88%)

PS C:\Users\you\Pictures> crunchy --zip holiday.zip --max-px 2560 *.jpg

Crunchy 1.1.0: 3 files, balanced, into C:\Users\you\Pictures\Crunchy\holiday.zip

[1/3] beach.jpg: 8.4 MB -> 1.2 MB (-86%)

[2/3] sunset.jpg: 7.9 MB -> 1.1 MB (-86%)

[3/3] market.jpg: 9.1 MB -> 1.4 MB (-85%)

Done in 2.1 s: 3 compressed, 0 kept. 25.4 MB -> 3.7 MB (saved 21.7 MB, 85%)

ZIP: C:\Users\you\Pictures\Crunchy\holiday.zip

PS C:\Users\you\Pictures> crunchy --replace Screenshots

Crunchy 1.1.0: 2 files, balanced, replacing originals

[1/2] Screenshots/bug-report.png: 2.3 MB -> 612 KB (-74%)

[2/2] Screenshots/dashboard.png: 1.8 MB -> 540 KB (-71%)

Done in 1.4 s: 2 compressed, 0 kept. 4.1 MB -> 1.1 MB (saved 3.0 MB, 73%)

PS C:\Users\you\Pictures>

An example session. Real savings depend on your files. With --replace, the old files go to the Recycle Bin.

03 / Set it up

Put crunchy on your PATH.

Windows only finds crunchy in a terminal once its folder is on your PATH. Pick one of the two ways below. Both take under a minute, and neither needs admin rights.

Recommended

1. Tick the box in the installer

  1. Run the Crunchy setup.
  2. On the Select Additional Tasks page, under Command line, tick Add Crunchy to PATH.
  3. Finish the setup, open a new terminal and run crunchy --version.

Already installed? Just run the setup again. It upgrades in place, keeps your settings and history, and lets you tick the box. Updates remember your choice, and uninstalling removes the PATH entry.

By hand

2. Add it to your PATH yourself

  1. Press Win, type environment and open Edit environment variables for your account.
  2. Under User variables, select Path, then click Edit → New.
  3. Paste this exactly as written, then click OK twice:
%LOCALAPPDATA%\Programs\Crunchy

Keep the %LOCALAPPDATA% part as it is. Crunchy's updates then leave your entry alone. If you installed Crunchy in a different folder, use option 1 instead.

Or paste this into PowerShell:

$dir = '%LOCALAPPDATA%\Programs\Crunchy'
$key = [Microsoft.Win32.Registry]::CurrentUser.OpenSubKey('Environment', $true)
$path = $key.GetValue('Path', '', 'DoNotExpandEnvironmentNames')
if (($path -split ';') -notcontains $dir) { $key.SetValue('Path', (@($path.TrimEnd(';'), $dir) -ne '') -join ';', 'ExpandString') }
$key.Close()
# Tell Windows the PATH changed, so new terminals pick it up:
[Environment]::SetEnvironmentVariable('CRUNCHY_REFRESH', '1', 'User'); [Environment]::SetEnvironmentVariable('CRUNCHY_REFRESH', $null, 'User')

It adds the folder to your own PATH only once and leaves every other entry untouched. Then open a new terminal.

Skip PATH entirely: call the app by its full path, for example & "$env:LOCALAPPDATA\Programs\Crunchy\Crunchy.exe" --help in PowerShell.

04 / Reference

Every command.

crunchy [options] <files or folders…>. Options can go in any order and combine freely, for example crunchy -l maximum -t 10MB -o D:\Out Reports.

OptionWhat it doesExample
-l, --level LEVELHow hard to squeeze: light, balanced (default) or maximum.crunchy -l maximum report.pdf
-t, --target SIZESize goal for each file, like 500KB, 25MB or 1.5GB. Files still bigger get stronger compression until they fit.crunchy -t 25MB scan.pdf
-o, --out FOLDERWhere to save the results. Default: a Crunchy folder next to the first file or folder you pass.crunchy -o D:\Small *.pdf
-z, --zip [NAME.zip]Pack every result into one ZIP (default name Crunchy.zip).crunchy -z holiday.zip Photos
-r, --replaceReplace the originals with the smaller files. The old files go to the Recycle Bin. Can't be combined with --zip.crunchy -r Screenshots
-m, --max-px NDownscale images so the long edge is at most N pixels.crunchy -m 2560 *.jpg
-k, --keep-metadataKeep EXIF, XMP and document metadata (removed by default).crunchy -k photo.jpg
--skip-unsupportedLeave out files Crunchy can't compress instead of copying them along.crunchy --skip-unsupported Project
-q, --quietPrint errors only.crunchy -q -t 10MB Inbox
-h, --helpShow the built-in help.crunchy --help
-V, --versionShow the installed version.crunchy --version

Files & folders

Pass as many files and folders as you like. Folders are processed with everything inside, keeping the same structure. Wildcards such as *.pdf work in PowerShell and Command Prompt. Without any option, crunchy file.pdf opens the app window instead.

Sizes

KB, MB and GB count in 1024s, like Explorer. A bare number means bytes. If a file can't reach --target without losing too much quality, Crunchy keeps its smallest version and reports it as over target.

Exit codes

  • 0Every file is done (compressed or already optimized).
  • 1Some files failed, or the run was cancelled with Ctrl+C.
  • 2Usage error: an unknown option, a bad value, or no files found.
Using it in a script

Crunchy is a windowed app, so in a script, make the next line wait for it to finish. Either pipe its output (for example to Out-Host) and read $LASTEXITCODE, or use Start-Process -Wait. In Command Prompt, use start /wait. Ctrl+C stops cleanly and never leaves a half-written file behind.

crunchy --quiet --target 10MB C:\Reports | Out-Host
if ($LASTEXITCODE -ne 0) { Write-Warning "Some files failed" }
start /wait crunchy -l maximum -o D:\Small C:\Scans

Every option also has the built-in help: run crunchy --help.

Ready to crunch?

Free for Windows 10 & 11. Installs in seconds, updates itself.

Download for Windows

v1.1.023.9 MBWindows 10 & 11 · x64Free