gocryptfs is free software for keeping private files in an encrypted folder on Linux.12 You work in an ordinary folder. The copies can sit on a hard disk, a USB stick, or in a Dropbox folder, and they stay scrambled.1
Last checked October 28, 2026.
At a glance
- What it is: A mountable encrypted folder. Each file is stored as one encrypted file on disk.1
- Works on: Linux, which the project fully supports. macOS support is beta quality. Windows uses the separate cppcryptfs program. Android uses the separate DroidFS app.12
- Price: Free. The project says it always will be free software.1
- Licence: MIT License. The copyright notice names Jakob Unterwurzacher, 2015.3
- Best for: People on Linux who want to encrypt a folder and sync the encrypted files with ordinary tools.
- Official site: nuetzlich.net/gocryptfs
What gocryptfs does (and how it protects your privacy)
gocryptfs uses file-based encryption as a mountable FUSE filesystem.1 FUSE lets a program present a folder that the computer treats as a normal folder. One directory holds the encrypted files. The other is the unlocked view, where apps open and save documents as usual.
Each file is stored as one corresponding encrypted file, on a hard disk, a USB stick, or inside a Dropbox folder.1 Dropbox or rsync can sync those files, and the encrypted folder is limited only by free disk space.1 Contents use AES-256-GCM, which also detects a changed block. Names are encrypted with a different random value in each directory, so the same name does not match across folders.4
gocryptfs was inspired by EncFS and aims to fix that older tool’s security problems.1 Linux is its native platform, so it pairs with a Linux desktop.2 The newest release in the readme is version 2.6.1, dated 10 August 2025.2 Your password unlocks a master key in gocryptfs.conf. Keep the copy printed when you create the folder. It still opens the files if the config file is damaged or the password is lost.24
Key features of gocryptfs
- One encrypted file per real file, so ordinary sync tools can copy them efficiently.1
- AES-256-GCM contents, in 4KiB blocks, each with a tag that detects tampering.4
- AES-256-EME file names, with a fresh value per directory, so the same name looks different in each folder.4
- scrypt passwords. The password locks the master key inside
gocryptfs.confwith AES-256-GCM.4 - A changeable password via
gocryptfs -passwd, which checks the old one first.8 - Reverse mode, a read-only encrypted view of a normal folder.8
- A consistency check,
gocryptfs -fsck, which exits with an error if it finds corruption.8 - SiriKali, listed under graphical interfaces, supports gocryptfs on Linux and macOS.2
Pros and cons
Pros
- It is free software under the MIT licence.13
- Encrypted files sync with ordinary tools such as Dropbox and rsync, and the folder is limited only by free disk space.1
- Reading a modified block returns an input/output error.5
- On a lost USB stick, contents and names are unlikely to be revealed unless the password is very weak.5
- Packages exist for Debian, Ubuntu, Fedora and Arch, plus MacPorts on macOS.27
- Release tags from version 0.4 onward are signed with the project’s signing key.2
Cons
- The main program is used from the terminal. A graphical app means SiriKali, or cppcryptfs on Windows.2
- macOS support is beta quality. Most things work, but you may hit an occasional problem.2
- Windows and Android use separate programs, cppcryptfs and DroidFS, not the main gocryptfs program.1
- File sizes are not hidden. Someone with the encrypted folder can calculate each real size, and can sometimes recognise a known set of files.5
- Usable file names are limited to 175 characters before gocryptfs switches to its long-name method.4
- An encrypted folder is not a spare copy. Important data should have a backup, such as Duplicati, in case the disk fails.2
Is gocryptfs safe and private?
The encrypted files stay in the folder you choose. The master key is stored in gocryptfs.conf, locked with AES-256-GCM. The wrapping key comes from your password through scrypt.4 Since version 1.3, contents and names use separate keys derived from that master key.4 The licence names Jakob Unterwurzacher as the copyright holder.3
A two-day design audit dated 3 March 2017 covered the design of the main file features, not the whole program, and it left out reverse mode.6 The audit found excellent confidentiality against someone who only copies the encrypted files, and no security against someone who can change those files and also read any unlocked subdirectory.6
The project’s own threat model matches those cases. A stolen copy, such as a lost USB stick, is unlikely to reveal contents or names unless the password is very weak. Sizes stay visible.5 Someone who can keep changing the encrypted files can see which 4KiB pieces were written, delete files, and swap encrypted names. Other content edits should show up as an input/output error.5 If they can also read a folder you exported from the unlocked view, confidentiality breaks. Do not export any part of a mounted gocryptfs filesystem.5 Two 2017 findings, a shared key for two jobs and file-ID poisoning, no longer apply from version 1.3.5
The project warns that gocryptfs.com is not affiliated with gocryptfs. The official site is nuetzlich.net/gocryptfs.2
How to get started with gocryptfs
- Install from your distribution, or download a precompiled binary from the GitHub releases page linked on the official site. Debian and Ubuntu:
apt install gocryptfs. Fedora:sudo dnf install gocryptfs. Arch:pacman -S gocryptfs. macOS with MacPorts:port install gocryptfs.27 Precompiled binaries cover x86_64 Linux, and arm64 builds were added in version 2.5.2. Mounting needs thefusepackage.2 - Create the two folders:
mkdir cipher plain.7 - Run
gocryptfs -init cipherand choose a long password you do not reuse.7 A free generator such as BellCrier’s password generator can make one. Write down the master key printed at this step and keep it offline.2 - Open the folder with
gocryptfs cipher plainand type the password.7 Theplainfolder then shows normal files. - Copy a test file into
plain. Incipheryou should seegocryptfs.confand names that do not match the original.7 - When you finish, unmount with
fusermount -u plain.8 Mount the same way next time you need the files. - For cloud sync, put
cipherinside the synced directory and keepplainoutside it. The quickstart uses Dropbox as the example, so the service only receives encrypted files.7
Who should use gocryptfs (and who might prefer something else)
gocryptfs fits someone on Linux who will type a few commands, or use SiriKali, and wants a folder that stays encrypted on disk. It matches a lost laptop or USB stick, and cloud storage that should hold only scrambled copies. Keep the master key, and keep a real backup. Do not share the unlocked folder over the network.
To pass someone a short secret note, PrivateBin is a closer fit. For another way to encrypt files, compare Cryptomator and VeraCrypt on their own sites. gocryptfs is the direct choice for an encrypted Linux folder of ordinary files.
Frequently asked questions
Is gocryptfs free?
Yes. The project says it is, and always will be, free software, and the source is under the MIT licence.13
Is gocryptfs safe?
For a lost USB stick, the 2017 design audit found excellent confidentiality against someone who only copies the encrypted files.6 The project says a very weak password is the exception, and file sizes can still reveal a known collection of files.5 It does not protect you if someone can change the encrypted files and also read an unlocked folder you have shared.5
Does gocryptfs work on Windows, Mac or Android?
Linux is fully supported, and macOS support is beta quality.12 Windows uses the separate cppcryptfs program. Android uses the separate DroidFS app.1
Does gocryptfs hide file names and file sizes?
File names are encrypted. File sizes are not: the real size can be calculated from the encrypted file.45 A watcher can also see which 4KiB blocks were written, without learning what changed inside a block.5
