Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
October 26, 2022 21:19
August 3, 2020 10:00
November 12, 2022 18:54
January 29, 2023 13:51

License: GPLv3 CodeQL Specification


Kryptor is a simple, modern, and secure file encryption and signing tool for Windows, Linux, and macOS.

It aims to be a better version of age and Minisign to provide a leaner, user friendly alternative to GPG.



  • The latest and greatest cryptographic primitives, with no config options.
  • Encrypt multiple files/directories with a passphrase, symmetric key, or asymmetric keys.
  • Encrypt to multiple recipients for sender authenticated, one-way file sharing.
  • Encrypted files are indistinguishable from random. File names can also be encrypted.
  • Create and verify digital signatures, with support for an authenticated comment and prehashing.
  • Small public keys. Private keys are encrypted for protection at rest.
  • UNIX style passphrase entry and random passphrase generation.
  • Pre-shared keys can be used for post-quantum secure key exchange.

For more information, please go to


If you're just getting started, check out the tutorial instead.

Usage: kryptor [options] <file>

  file             specify a file/directory path

  -e|--encrypt     encrypt files/directories
  -d|--decrypt     decrypt files/directories
  -p|--passphrase  specify a passphrase (empty for interactive entry)
  -k|--key         specify or randomly generate a symmetric key or keyfile
  -x|--private     specify your private key (unused or empty for default key)
  -y|--public      specify a public key
  -n|--names       encrypt file/directory names
  -o|--overwrite   overwrite files
  -g|--generate    generate a new key pair
  -r|--recover     recover your public key from your private key
  -s|--sign        create a signature
  -c|--comment     add a comment to a signature
  -l|--prehash     sign large files by prehashing
  -v|--verify      verify a signature
  -t|--signature   specify a signature file (unused for default name)
  -u|--update      check for updates
  -a|--about       view the program version and license
  -h|--help        show help information

  --encrypt [file]
  --encrypt -p [file]
  --encrypt [-y recipient's public key] [file]
  --decrypt [-y sender's public key] [file]
  --sign [-c comment] [file]
  --verify [-y public key] [file]

Specifying files

When referencing file names/paths that contain spaces, you must surround them with "speech marks":

$ kryptor -e -p "GitHub Logo.png"
$ kryptor -e -p "C:\Users\samuel-lucas6\Downloads\GitHub Logo.png"

Files in the same directory as the kryptor executable can be specified using their file name:

$ kryptor -e -p file.txt

However, files that aren't in the same directory must be specified using a file path:

$ kryptor -e -p C:\Users\samuel-lucas6\Documents\file.txt

Multiple files and/or directories can be specified at once:

$ kryptor -e file1.txt file2.jpg file3.mp4 Photos Videos

Specifying your private key

You can perform encryption, decryption, and signing with your default private key as follows:

$ kryptor -e file.txt
$ kryptor -d file.txt.bin
$ kryptor -s file.txt

This is the recommended approach, but it means your private keys must be kept in the default folder, which varies depending on your operating system:

  • Windows: %USERPROFILE%/.kryptor
  • Linux: /home/.kryptor
  • macOS: /Users/USERNAME/.kryptor

To specify a private key for -r|--recover or a private key not stored in the default folder, you must use the -x|--private option followed by :[file] like so:

$ kryptor -r -x:"C:\Users\samuel-lucas6\Documents\encryption.private"