Think about when you actually want to password-protect a file: a payslip, a draft contract, a list containing personal data, the cost breakdown behind a quote. Which is to say — the files worth encrypting are exactly the files you would rather not put on somebody else's server.
Yet most online ZIP services require you to upload before they encrypt: hand over the thing you are protecting, then lock it. OFFiler compresses and encrypts entirely inside your browser, so neither the files nor the password leave your device. Below: how compression is chosen per file, how to pick between the two encryption schemes, and what a password does not hide.
What happens inside
Already-compressed formats are deliberately not compressed
How a file is handled depends on its extension. JPEG, PNG, WebP, HEIC, MP4, MP3, PDF, Office documents (docx, xlsx, pptx), and existing ZIP or 7z archives are already compressed formats. Running them through deflate again burns time and battery for almost no size reduction, so they are stored as-is instead.
Everything else — text, CSV, logs, source code, uncompressed images such as BMP — gets normal compression. The split makes an operation like zipping a hundred photos noticeably faster. The familiar experience of "I zipped it and it barely shrank" usually means effort was spent compressing things that cannot compress; here that effort is skipped from the start.
Files with the same name do not silently overwrite
Collecting files from several folders often produces name collisions — IMG_0001.jpg, invoice.pdf, and the like. ZIP can technically hold duplicate entry names, but extracting such an archive tends to leave you with only one of them.
So the second and subsequent files sharing a name are stored renamed, as "invoice (1).pdf". The count of files you put in always matches the count that comes back out.
Compression runs off the main thread
Compression and encryption run in a dedicated background worker, so the page stays responsive even while a large batch is processing. The code for it is pre-warmed when you open the page, so the first run does not stall waiting for a download.
Choosing between the two encryption schemes
Compatibility (ZipCrypto) — opens almost anywhere
This is the default. It is ZIP's long-standing encryption scheme — the one that makes Windows Explorer prompt for a password when you double-click the archive. Send it to someone with no special software installed and they will almost certainly be able to open it.
The trade-off is that the cipher is weak by modern standards and known attacks exist against it. Treat it as protection against accidental opening, or as a way to satisfy a policy that requires encryption — not as a defence against someone determined to break in.
Strong (AES-256) — solid, but pickier about the recipient
The other option uses AES-256. The strength is genuinely sufficient: with a decent password, the contents are not going to be read.
There is one significant catch. The extractors built into operating systems — Windows Explorer, the macOS Archive Utility, the standard unzip on Linux — do not support this scheme. Your recipient needs 7-Zip, Keka, WinRAR, or similar. This is nearly always the reason behind "I typed the password and it still won't open".
So the choice is simple. If confidentiality is paramount and your recipient can install an extractor, use AES-256. If you do not know what they are running, or you are sending to people you cannot instruct, use ZipCrypto. The tool states this trade-off up front precisely because the "can't open it" reply happens so often.
What a password does not hide
The list of filenames stays readable
This is a property of the ZIP format itself and applies to both schemes. A password encrypts the contents of each entry; the directory listing — what files are in there and what they are called — remains readable without it.
So putting a file named "2026_disciplinary_action_Yamada.pdf" in a password-protected ZIP keeps the contents unreadable while still telling the recipient that such a file exists. When the filename itself is sensitive, rename it before adding it. The tool shows this as a warning on screen.
Total size limit, and processing on your device
The combined input is sized for up to 512 MB. You are told the moment an addition would exceed it, so you never spend minutes processing only to fail at the end.
The work happens on the device in front of you, so a large batch costs real time and memory. In exchange there is no daily cap and no retention period — nothing is held on a server, so there is nothing whose deletion schedule you need to think about.
Password strength is on you
With either scheme, the real strength ends up being how hard the password is to guess. With AES-256 in particular the cipher is not the weak point — if it is broken, the password was.
Sending the password down the same channel as the archive (in the same email, or in the one immediately after) also undoes most of the benefit. Communicate it another way. That is an operational matter rather than a feature, but it accounts for most of the cases where ZIP encryption fails to protect anything.
As the end of a tool chain
Seal the processed files without a round trip
This tool accepts the output of other tools directly. Batch-compress several PDFs and hand the results straight to the ZIP tool to be password-protected, with no saving and reopening in between.
The same works on the image side: strip EXIF from a set of photos, compress them to publication size, then seal them in a ZIP. The files never leave the device at any point, and what you end up with is one encrypted archive ready to send.
Specs and limits
- Input
- Any files, any number
- Total size limit
- 512 MB
- Compression policy
- Images, video, PDF, Office files, and archives are stored; everything else is deflated
- Duplicate names
- Renamed automatically to "name (1).ext"
- Encryption (default)
- ZipCrypto — opens in built-in extractors, but weak
- Encryption (strong)
- AES-256 — strong, but needs 7-Zip, Keka, or similar
- Not encrypted
- The filename listing (a property of the ZIP format)
- Password handling
- Used locally only; never transmitted or stored
- Network
- No upload; compression and encryption both in-browser