Lock any file with one command, so only you (or the person you choose) can open it
Send a message over WhatsApp or email that only one person can read. Lock your passport scans before they go anywhere near the cloud. age turns any file into scrambled bytes that only your passphrase or your key can open. Free, tiny, no account, and it runs on Windows, Mac and Linux.
- A whole folder locked in one go: 500MB takes about 2 seconds
- What the errors look like for a wrong key, a wrong passphrase and a damaged file
- Level 0 done (you can open a terminal and
cdinto a folder) - About 33MB of disk space
- A file to practise on. A copy of a photo is fine, or make a pretend one in step 2
Get age
age is a handful of small programs. Nothing running in the background, no account, no admin rights.
Install it with your system's package manager. These are the commands from the age README ↗:
Windowswinget install --id FiloSottile.age -eMac (Homebrew)brew install ageLinux (Debian 12+, Ubuntu 22.04+)sudo apt install ageClose the terminal, open a new one, and check it works:
Terminalage --versionOutputv1.3.2You get three programs you'll use:
age(locks and opens files),age-keygen(makes keys) andage-inspect(describes a locked file).No winget, or want a portable copy?These lines fetch the newest Windows zip from the official releases page ↗ and unpack it into an
agefolder in your user folder:Windows (portable zip)cd $HOME $v = (Invoke-RestMethod https://api.github.com/repos/FiloSottile/age/releases/latest).tag_name Invoke-WebRequest -UseBasicParsing "https://github.com/FiloSottile/age/releases/download/$v/age-$v-windows-amd64.zip" -OutFile age.zip Expand-Archive age.zip -DestinationPath $HOME $env:Path += ";$HOME\age"TipWith the zip, the$env:Pathline only lasts until you close the window, so paste it again in each new PowerShell. winget's age package installs this same official zip and keeps it on your PATH for you.TipNever opening a terminal? The free archiver 7-Zip ↗ can password-lock files with AES-256 from the right-click menu: 7-Zip, Add to archive, type a password under Encryption, and tick Encrypt file names. It's passphrase-only, so it can't do the lock-for-one-friend trick in steps 4 and 5, but it's a solid lock for your own files.
age --version prints v1.3.2 or newer.If it breaks'age' is not recognised (or 'command not found')
'age' is not recognised (or 'command not found')
$env:Path += ";$HOME\age" again, and check age.exe is there with dir $HOME\age.