How do I create an encrypted (password protected) zip file?


This will prompt for a password:

zip --encrypt file.zip files

This is more insecure, as the password is entered/shown as plain text:

zip --password (password) file.zip files

Warning, the standard zip encryption is very weak and is easily cracked.
Note, Use -r to zip directory and subdirectory recursively.

  • 2
    Is there a better option from the standard encryption? – David Oneill Dec 15 '10 at 20:47
  • 7
    Using gnupg on the final zip with a key for yourself or your destination. – Pete Ashdown Dec 15 '10 at 21:43
  • 1
    Does not work file.zip is empty – Black Aug 29 '17 at 12:15
  • 12
    @Black If you're trying to compress a folder, then you need to use -r switch. So it'll be zip --encrypt file.zip -r your_folder – H G Sur Jan 20 '18 at 11:55
  • 1
    @BudiMulyo Yes. It's compatible with Windows. – X. Liu Oct 24 '20 at 10:26

Starting from Ubuntu 17.10, right-clicking and selecting "Compress" no longer has "Other Options" listed.

To resolve this, open "Archive Manager" and then drag & drop the files/folders from your File Manager into it and it will appear.

  • 1
    If Archive Manager is not installed (as in my lightweight debian for example), it can be installed with $ su root -c 'apt-get install file-roller'. – Arsinclair May 14 '20 at 8:27

You can also right-click on a folder or file(s) in Nautilus and select "Compress...". In the resulting window, you can expand the "Other Options" section to enter a password.

alt text

If the password field or any of the other options are not enabled, then the selected compression option does not support it. Select a different one from the list after the filename. According to the documentation:

Currently, only 7-Zip, ZIP, RAR and ARJ archives support encryption

  • 4
    It's worth noting that you need to install .rar before you can use it in the compressor. – Xeoncross Feb 20 '12 at 0:59
  • 23
    I don't see "Other Options" anymore in Ubuntu 17.10 (I remember seeing it in earlier version though) – Jonathan Dec 12 '17 at 22:04

Comments and answers have mentioned the default zip encryption is weak, but since there is no code example, here is on with .7zip:

sudo apt-get install p7zip-full  # install 7zip
7za a -tzip -p -mem=AES256 foo_file.zip foo_folder  # encrypt folder

Commands explained:

  • 7za: Use 7zip
  • a: Append? / Adding files? (e for extraction)
  • -tzip: Use .zip format instead of default .7z
  • -mem=AES256: Use AES256 encryption
  • foo_file.zip: Name of .zip file
  • foo_folder: Name of folder to encrypt

Answer based on: https://www.tecmint.com/7zip-command-examples-in-linux/

  • can this be extracted by any unzipping software ? – Ciprian Tomoiagă Jul 15 '19 at 13:55
  • I think the resulting .zip is the same as using software on Windows to create a .zip with a password. I haven't experienced anyone telling me they couldn't unzip this, but I haven't used it often. – NumesSanguis Jul 21 '19 at 14:17
  • 1
    Windows zip folder does not support AES256. 7-zip or WinZip (maybe WinRAR too?) should be able to extract it. – syockit Jul 20 '20 at 15:21
sudo apt-get install zip
zip -r --encrypt result.zip folder
  1. Install zip
  2. Use -r to zip directory and subdirectory
  3. Use --encrypt to secure your files

    with a simple password-based symmetric encryption system, which is documented in the ZIP specification




gpg -c your.zip

creates your.zip.gpg


gpg your.zip.gpg

To turn off password caching

More details including directories.



with bsdtar

Encrypt a_file, creating the encrypted archive encrypted.zip (you'll be prompted for a password):

bsdtar --options zip:encryption -acf encrypted.zip a_file

Decrypt and extract the file from the encrypted archive:

bsdtar -xf encrypted.zip

The -a option when creating the archive makes bsdtar choose the archive format and its compression using the ending of the archive, .zip. If you don't add -a, you'll get this error message:

bsdtar: Unknown module name: `zip'


The metadata (filenames) of an encrypted zip can be read with unzip -l


The solution, as described in that link is to double-zip it but it is really not elegant.

Also, some email providers block that kind of attachment, gmail for example.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.