Compression Result
{{ savingPercent }} %
SHA-256 {{ sha256Hex.slice(0,8) }}…
{{ formatBytes(originalSize) }} {{ formatBytes(totalCompressedSize) }} {{ parts.length }} parts
Files:

{{ drag ? 'Drop files here' : 'Drag & drop files here' }}

  • {{ displayPath(f) }} {{ formatBytes(f.size) }}
{{ compressionLevel }}
{{ '.' + outputExt }}
{{ progressPct }}%
Metric Value Copy
Original size {{ formatBytes(originalSize) }}
Compressed size {{ formatBytes(totalCompressedSize) }}
Saving {{ savingPercent }} %
Parts {{ parts.length }}
SHA-256 {{ sha256Hex }}

                
:

Introduction:

Lossless data compression reduces file size by encoding repeated patterns so transfers finish sooner and storage goes further. Archive formats bundle many files into a single package for easier sharing. A practical zip tar gzip brotli compressor helps when projects include a mix of text, images, and code.

You choose an algorithm and a level, then add files or a folder and start. The result is one archive ready to download with a clear view of how much space was saved, so you can balance time against size.

Results are presented in plain numbers you can copy or share, including original size, compressed size, and a concise percent figure. A checksum is available to verify that what you share or store later remains intact.

For example a 200 MB photo collection may compress to about 150 MB which makes uploads finish faster. Media that is already compressed often changes little, so savings can be small and that is expected.

For more comparable results keep folder structure consistent across runs and exclude large media when you only need source files. Hidden files are skipped by default to reduce clutter and avoid accidental packaging.

Technical Details:

Data compression observes byte sequences in a file set and rewrites them into shorter representations without information loss. Archiving groups many items into one container so the set moves and verifies as a single object.

The tool computes two core quantities from your selection: total original size and total compressed size of the generated artifact. A derived indicator, the saving percentage, expresses how much size is reduced relative to the input total.

Interpretation is straightforward: larger percentage means greater reduction. Values near zero indicate little change, and slightly negative values can occur if already compressed media is forced through a compressor.

Comparability improves when the same paths, filters, and levels are applied. Results reflect the archive as created, not future re‑compressions or external deduplication.

Saving = ( 1 Sc So ) × 100 %
Symbols and units used in compression calculations
Symbol Meaning Unit/Datatype Source
So Total size of selected inputs bytes (integer) Input
Sc Size of the produced archive or the sum of all parts bytes (integer) Derived
Saving Relative reduction from original to compressed percent (one decimal) Derived

Algorithms & packaging

  • ZIP (Deflate): compresses each file; level 0–9 respected; “smart compression” can store already compressed types uncompressed.
  • ZIP (Store): archives without compression; level ignored.
  • TAR: groups files into a USTAR container; level ignored.
  • TAR.GZ: TAR then Gzip; level 0–9 respected.
  • TAR.BR: TAR then Brotli; level 0–11 respected.
  • GZ / BR (single file): compress one file directly; multiple files trigger TAR.GZ or TAR.BR.

Units, precision & rounding

  • Human‑readable sizes use base 1024 (KB, MB, GB) with two decimals.
  • Saving percentage displays one decimal place.
  • CSV exports use exact byte counts (integers) for reproducibility.

Validation & bounds

Input fields, types, ranges, and errors enforced by the app
Field Type Min Max Step/Pattern Error Text / Notes
Algorithm enum zip, zip0, tar, targz, tarbr, gz, br GZ/BR accept one file; multiple files become TAR.GZ / TAR.BR.
Compression level number 0 9 (ZIP/GZ), 11 (Brotli) integer Clamped to valid ranges; TAR and ZIP (Store) ignore level.
Output name text derived from folder or first file if empty Extension set by algorithm and file count.
Smart compression boolean on by default Stores already compressed types without deflating.
Flatten paths boolean off by default Stores only file names; original directories are ignored.
Skip hidden files boolean on by default Excludes any path segment beginning with a dot.
Exclude patterns text comma‑separated globs * excludes within a folder; ** spans directories; case‑insensitive; anchored.
Split archive (MB) number 0 integer megabytes (106 bytes) Names parts as .part01, .part02, …; single file if 0.
Status & errors message “No files to include after applying filters.” / “Compression failed.” / “Brotli compression failed.”

Smart compression file types (ZIP)

When enabled, the following extensions are stored without deflating to avoid growth:

  • Images: jpg, jpeg, png, gif, webp, avif, bmp, ico, svgz, heic, heif
  • Audio: mp3, aac, m4a, ogg, oga, opus, flac
  • Video: mp4, mkv, mov, avi, webm
  • Archives: zip, rar, 7z, gz, bz2, xz, zst, br, tar
  • Documents & system: pdf, woff, woff2, otf, ttf, apk, dmg, iso

I/O formats

Accepted inputs and produced outputs
Input Accepted Families Output Encoding/Precision Rounding
Files or folders Any file type; folder picks preserve relative paths where supported ZIP, TAR, TAR.GZ, TAR.BR, GZ, BR; optional part files Exact bytes; SHA‑256 checksum of the artifact (single or concatenated parts) Human sizes to 2 decimals; percent to 1 decimal

Networking & storage behavior

Processing is browser‑based; no server calls are made during compression. Download links use temporary object URLs that are revoked after use. The checksum is computed locally using the platform’s cryptography API.

Performance & determinism

  • Time scales with total input size and chosen level; TAR adds minimal overhead.
  • Hashing concatenated parts briefly duplicates data in memory for one pass.
  • USTAR headers include the current timestamp; TAR outputs are not byte‑for‑byte reproducible across runs.

Security considerations

  • Do not execute or trust unknown content solely because an archive verified.
  • Flattening removes directories; avoid name collisions in large sets.
  • Exclude patterns are case‑insensitive and anchored; verify coverage before sharing.

Assumptions & limitations

  • Heads‑up Folder selection support varies by platform.
  • Heads‑up Hidden detection is by path segment starting with a dot, not OS flags.
  • Exclude globs treat “*” as within a folder and “**” across directories.
  • Part size uses decimal megabytes; remote receivers may expect MiB.
  • TAR long paths are split into name and prefix; overlong segments are trimmed.
  • ZIP compression is per‑file; mixing many incompressible files limits overall gains.
  • Very large sets require enough memory to prepare and hash the artifact.
  • Checksum covers the artifact as produced, not the uncompressed originals.

Edge cases & error sources

  • Non‑ASCII file names may truncate in TAR if limits are exceeded.
  • Zero‑byte files are preserved; savings reflect overhead only.
  • Negative savings can appear if media is re‑compressed; smart compression avoids this in ZIP.
  • Glob syntax errors are ignored; unmatched patterns have no effect.
  • Progress during TAR creation is approximate until compression begins.
  • Very long root folders may not derive a clean default output name.
  • Split downloads may be blocked by popup settings; allow multiple downloads.
  • Checksum display clears when inputs change or are cleared.
  • Timestamp differences make repeated TAR outputs differ byte‑wise.
  • Path collisions with “Flatten paths” can overwrite entries inside an archive.

Scientific & standards background

ZIP with Deflate, Gzip format, and Brotli compression are well‑established lossless methods. USTAR defines the TAR header structure. SHA‑256 is specified in modern secure hash standards.

Privacy & compliance

No data is transmitted or stored server‑side. Files are processed locally; nothing is uploaded.

Step‑by‑Step Guide:

The goal is a compact archive with a clear size reduction and an optional checksum.

  1. Add files or pick a folder; confirm the list looks right.
  2. Select an algorithm; choose TAR.GZ or TAR.BR for large text‑heavy sets.
  3. Set the compression level as needed; higher saves more but takes longer.
  4. Optionally enable smart compression, flatten paths, skipping hidden files, or enter exclude patterns.
  5. To share in chunks, set Split archive (MB) to a size your channel accepts.
  6. Start compression and download the result; copy the checksum if verification is required.
Example: Exclude node_modules/** and *.mp4, compress a project as TAR.GZ at level 6, then split at 50 MB for easier sending.

You now have a single artifact that is smaller, verifiable, and ready to share.

FAQ:

Is my data stored?

No. Processing occurs locally and downloads are created in your session. No server receives your files or checksum.

Which formats can I create?

ZIP, ZIP (Store), TAR, TAR.GZ, TAR.BR, and single‑file GZ or BR. Multiple files with GZ/BR become TAR.GZ or TAR.BR automatically.

How accurate is the saving percentage?

It uses exact byte totals and rounds to one decimal, matching the sizes shown for the artifact produced.

Can I use it offline?

Yes after the page has loaded. Compression and verification do not require a network connection.

Do I need an account or subscription?

No account is required. Everything runs locally in your session.

How do I exclude node_modules/**?

Enter node_modules/** in Exclude patterns. Globs are case‑insensitive and anchored; separate multiple patterns with commas.

What does a “small” or negative saving mean?

Your files are already compressed or incompressible. ZIP with smart compression stores such files without expansion.

Which algorithm should I choose?

ZIP is broadly compatible, TAR.GZ is a balanced default for code and text, and TAR.BR can be smaller but slower.

Troubleshooting:

  • “Compress” button disabled — add at least one file.
  • “No files to include after applying filters.” — relax hidden or exclude rules.
  • Archive larger than original — try smart compression or ZIP (Store).
  • Checksum empty — wait for completion or reduce split size.
  • Folder picker absent — use “Select Folder” in a supported browser.
  • Split downloads blocked — allow multiple automatic downloads.
  • Strange file names — disable “Flatten paths” to keep directories.

Advanced Tips:

  • Tip For reproducible ZIPs, avoid files that change timestamps between runs.
  • Tip Use TAR.BR for text‑heavy assets; use ZIP for mixed environments and compatibility.
  • Tip Exclude *.mp4,*.zip to avoid recompressing large, already compressed items.
  • Tip When splitting, pick a part size just under your service’s attachment cap.
  • Tip Keep “Skip hidden files” on when packaging source trees to avoid incidental clutter.
  • Tip Copy the checksum with the artifact and store them together for later verification.

Glossary:

Archiving
Bundling multiple files into one container without compression.
Compression level
A setting that trades speed for size reduction.
Deflate
A classic lossless algorithm used within ZIP.
Gzip
A format that applies Deflate to a stream with headers and checks.
Brotli
A modern lossless compressor effective on text‑heavy data.
TAR (USTAR)
A file container format with header fields and 512‑byte blocks.
ZIP (Store)
ZIP entries saved without compression.
SHA‑256
A cryptographic hash for integrity verification of the artifact.
Split archive
An artifact sliced into numbered parts for easier sharing.
Glob pattern
A wildcard expression for matching paths to exclude.