How to universal archive format converter online for free
- Step 1Open the Format Converter — Go to archive-format-converter. The tool is a single drop zone plus an options panel — no account needed for files inside the Free 50 MB / 500-entry cap.
- Step 2Drop one input archive — Drag a single archive onto the drop zone, or click to browse. Accepted inputs include
.zip,.gz,.tar,.tar.gz, and (via libarchive WASM).7z,.rar,.bz2,.xz,.tar.bz2,.tar.xz,.iso. The tool detects the real format from the file's magic bytes, not its extension. - Step 3Pick your target format — Set
targetFormatto zip, tar.gz, or gz. The default istar.gz. Choose ZIP for Windows / web-upload compatibility, TAR.GZ for Linux and CI pipelines, GZIP only when your input is a single-entry archive. - Step 4Run the conversion — Click to convert. The tool decompresses every entry, then repacks them under the target format with fflate at DEFLATE/GZIP level 6. There is no level slider here — for tuning compression, use compression-level-optimizer on the output.
- Step 5Download the converted archive — The result downloads with a derived filename (the input stem plus the new extension, e.g.
report.tar.gz→report.zip). The original archive on disk is untouched. - Step 6Verify if it matters — For critical handoffs, drop the output into archive-integrity-tester to confirm every entry's CRC, or file-listing-generator to confirm the entry tree matches the source.
What the converter reads vs. what it writes
The reader is intentionally wider than the writer. Inputs marked libarchive are read-only in the browser — you can convert FROM them but no browser tool can write back TO them.
| Format | Read (input)? | Write (output target)? | Engine | Notes |
|---|---|---|---|---|
| ZIP | Yes | Yes (targetFormat: zip) | fflate; @zip.js/zip.js for encrypted entries | Encrypted ZIP entries are read only when you supply the password on a ZIP-aware tool; this converter has no password field, so AES/ZipCrypto inputs fail here |
| TAR.GZ | Yes | Yes (targetFormat: tar.gz, default) | fflate | TAR built manually, then GZIPed at level 6; entry mode defaults to 0644 |
| GZIP (.gz) | Yes | Yes (targetFormat: gz) | fflate | GZIP target requires the input archive to contain exactly one entry, or it errors |
| TAR (uncompressed) | Yes | No (only via tar.gz) | fflate parseTar | Read natively; pick tar.gz to get a compressed TAR back |
| 7z | Yes | No | libarchive WASM | Read-only; convert a .7z to .zip/.tar.gz. No browser engine writes native 7z |
| RAR | Yes | No | libarchive WASM | Read-only proprietary format; great for getting RAR content into an open format |
| bz2 / xz / tar.bz2 / tar.xz / iso | Yes | No | libarchive WASM | Read-only; convert to ZIP or TAR.GZ for portability |
Free-tier limits (no account)
Real archive-family limits from the tier config. The per-archive entry count is a separate cap from the file-size cap — a tiny archive with 600 tiny files still exceeds the Free entry limit.
| Limit | Free value | What it means |
|---|---|---|
| Max archive size | 50 MB | The input file must be 50 MB or smaller |
| Max entries per archive | 500 | An archive with more than 500 files/folders exceeds Free |
| Files per run | 1 | The converter takes exactly one input archive at a time |
| Account required | No | Free tier runs entirely in-browser with no signup |
Cookbook
Real conversion scenarios. The command/output blocks show the input archive, the target you pick, and the downloaded result.
7z from a vendor → ZIP for an upload form
A common wall: a portal accepts ZIP only, but the supplier sent a .7z. The converter reads 7z via libarchive WASM and writes a standard ZIP — no 7-Zip install required.
Input: vendor-assets.7z (read via libarchive WASM) targetFormat: zip Result downloaded: vendor-assets.zip └ logo.svg └ brand/colors.json └ brand/fonts/Inter.woff2 Entry tree preserved exactly; container swapped 7z → ZIP.
TAR.GZ → ZIP so Windows Explorer can open it
Windows has no built-in TAR.GZ viewer in older builds. Convert to ZIP and double-click works everywhere.
Input: build-2026-06.tar.gz targetFormat: zip Result downloaded: build-2026-06.zip (Source: TAR.GZ, Target: ZIP) Note: original Unix timestamps and mode bits are not carried into ZIP — content is identical, metadata reset.
ZIP → TAR.GZ for a Linux deploy step
TAR.GZ is the lingua franca of Linux tooling. The default target is already tar.gz, so this is the zero-config path.
Input: app-bundle.zip targetFormat: tar.gz (default) Result downloaded: app-bundle.tar.gz (Source: ZIP, Target: TAR.GZ) Unpacks cleanly with: tar -xzf app-bundle.tar.gz
Single-file ZIP → GZIP
GZIP wraps exactly one stream. If your ZIP holds a single file, you can re-wrap it as .gz.
Input: db-dump.zip (contains only dump.sql) targetFormat: gz Result downloaded: dump.sql.gz GZIP target uses the inner entry's name + .gz.
Multi-file archive → GZIP (the error path)
GZIP cannot hold more than one file. Pick tar.gz instead — it bundles many files into one compressed stream.
Input: project.zip (contains 14 files) targetFormat: gz Result: Error: GZIP target supports a single file only — input archive must contain exactly one entry. Fix: set targetFormat to tar.gz instead.
Edge cases and what actually happens
Input archive over the 50 MB Free cap
Over limitFree tier caps input archives at 50 MB. A larger archive is rejected before conversion. Pro raises this to 500 MB, Pro-media and Developer to 2 GB. The check is on the input file size, not the converted output.
Archive holds more than 500 entries on Free
Over limitThe entry-count cap is independent of file size: even a small archive with 501+ files exceeds the Free 500-entry limit. Pro allows 50,000 entries, Pro-media and Developer 500,000.
GZIP target with a multi-entry input
RejectedGZIP is a single-stream format. If targetFormat is gz and the input archive has more than one entry, the tool throws 'GZIP target supports a single file only.' Choose tar.gz to bundle multiple files into one compressed stream.
Encrypted 7z / rar / zip input
RejectedThis converter has no password field. libarchive WASM (the engine for 7z/rar/bz2/xz) cannot accept passwords at all, and the converter does not route ZIPs through the password-aware path. Decrypt locally first, or re-pack as an encrypted ZIP via encrypted-zip-creator on a ZIP-aware tool.
Unix file permissions after converting to ZIP
By designWhen writing TAR.GZ the entry mode is set to a default 0644, and ZIP does not expose Unix mode bits as a standard field. So executable bits and custom permissions do not survive a round-trip. Re-apply with chmod after extraction if needed.
Original timestamps after conversion
Not preservedThe TAR builder stamps each entry's mtime with the current time, and ZIP/GZIP repacking does not carry source timestamps. If you need stable timestamps for reproducible builds, run timestamp-normalizer on the output.
Symlinks or hardlinks inside a TAR/7z input
FlattenedZIP has no native symlink or hardlink concept, and the rebuilt TAR writes regular-file entries. Link entries become plain files (or empty entries) in the output. Re-create links after extraction.
File extension lies (e.g. .zip that is really a 7z)
HandledFormat detection reads magic bytes, not the extension, so a mislabeled file is converted from its true format. If detection fails entirely the tool falls back to trying ZIP, and only errors if that also fails.
Converting ZIP → ZIP (no-op target)
SupportedPicking ZIP for a ZIP input still works — it decompresses and repacks at level 6, which can normalize a messy archive. There is no in-place option; you always get a fresh download.
WebAssembly blocked by an extension or policy
Engine errorlibarchive runs as WASM. If a security extension or enterprise policy blocks WebAssembly, 7z/rar/bz2/xz inputs fail with a WASM extraction error. ZIP, GZIP, TAR and TAR.GZ inputs (pure fflate) still work in that case.
Frequently asked questions
Is the Format Converter really free?
Yes. On the Free tier you can convert archives up to 50 MB with up to 500 entries, one file at a time, with no account. Larger archives need a Pro tier (500 MB) or higher, but the conversion itself is the same browser-side process at every tier.
Do my files get uploaded anywhere?
No. Conversion is 100% browser-side — the archive is read into memory in your tab and repacked locally with fflate (and libarchive WASM for 7z/rar/etc.). There is no server endpoint, so the file never leaves your machine.
Which formats can it convert FROM?
It reads ZIP, GZIP, TAR and TAR.GZ natively, plus 7z, rar, bz2, xz, tar.bz2, tar.xz and iso through a libarchive WASM bridge. Format is detected from magic bytes, so a mislabeled extension still works.
Which formats can it convert TO?
Three: ZIP, TAR.GZ (the default), and GZIP — selected with the targetFormat control. It cannot write 7z, rar, bz2, xz or iso; no browser engine can write those, which is why they are read-only inputs.
Why did GZIP fail with 'single file only'?
GZIP is a single-stream format; it cannot hold more than one file. If your input archive has multiple entries, pick tar.gz instead, which bundles many files into one compressed stream. GZIP only works when the input has exactly one entry. You also cannot write a native 7z/rar here — those are read-only inputs, so for maximum portable compression choose TAR.GZ.
Can I set the compression level?
Not on this tool. Conversions repack at a fixed DEFLATE/GZIP level 6. To tune the trade-off between size and speed, run compression-level-optimizer on the converted output.
Does converting lose any files?
No — the entry tree is preserved exactly. What can change is metadata: Unix mode bits default to 0644 and timestamps are reset, because ZIP and the rebuilt TAR headers do not carry the original values.
Can it handle a password-protected archive?
No. This converter has no password field. libarchive (7z/rar/bz2/xz) cannot take passwords at all, and the converter does not route ZIPs through the encrypted path. Decrypt locally first, then convert the plaintext archive.
What name does the output file get?
It is derived from the input stem plus the new extension — e.g. report.zip → report.tar.gz, or for GZIP, the inner entry's name plus .gz. The original file on disk is never modified.
Can I convert several archives at once?
No — the converter takes one archive per run (Free allows one file). For multi-archive workflows, convert each in turn, or use batch-extraction-manager for batch unpacking.
Will the output open on Windows / macOS / Linux?
Yes. ZIP opens everywhere natively. TAR.GZ opens with 7-Zip, WinRAR, Keka, macOS Archive Utility and tar. GZIP opens with the same tools and gunzip.
What if I just want one specific format direction?
There are dedicated one-direction tools that skip the dropdown: zip-to-tar-gz, tar-gz-to-zip, and gzip-to-zip. They do the same work as this converter with a fixed target.
Privacy first
Every JAD Archive tool runs entirely in your browser using fflate, @zip.js/zip.js, and the libarchive WASM bridge. Your archives never leave your device — verified by zero outbound network requests during processing.