Protect text or small files with AES or ChaCha20 in the browser using a password you choose. Free, no signup, runs in your browser.
Any format — images, video, PDF, archives, documents. Several at once is fine.
Generate a keypair, publish the public key, and keep the private key to yourself. Anyone can then encrypt to you without ever sharing a password.
Anyone holding the private key can read everything encrypted to it. It is shown once and never stored — save it somewhere safe now.
This tool implements ChaCha20-Poly1305, XChaCha20-Poly1305, Argon2 and scrypt in JavaScript, because browsers do not provide them. Those implementations are checked here against the official test vectors from the specifications that define them, in your browser, right now. AES and PBKDF2 come from the browser's own Web Crypto API.
Options
Authenticated: tampering with the ciphertext is detected on decrypt.
The cipher, key size and key-derivation settings are read from the message itself — you only need the passphrase.
This is an
OpenSSL Salted__ file. That format stores only the salt, so the
method, key size and key-derivation settings below have to match whatever
produced it — they cannot be recovered from the file.
Advanced
Older modes with no built-in tamper detection. Pick one only to exchange files with software that cannot read the methods above; turn on encrypt-then-MAC below to authenticate them.
Without this, CBC and CTR cannot tell a corrupted or tampered message from a genuine one. Leave it on unless you need raw output for another tool.
Raw-key and public-key modes are usually only for scripts or for sending messages to someone who published a public key. The passphrase mode above is what you want for normal use.
Used exactly as given, with no key derivation. It must already be random — a typed word here is far weaker than the same word as a passphrase.
A random key encrypts the data, and that key is wrapped to this recipient. To decrypt, paste the matching private key here instead.
The strongest option against password-cracking hardware. It is written in JavaScript here, so 64 MiB takes a few seconds — that cost is the point of it.
Travels in the clear but is covered by the authentication tag. Useful for binding a message to a context, such as a filename or a recipient. It is stored in the header, so decrypting does not require you to retype it.
Self-describing: the header records the cipher, KDF and its settings, so decrypting only needs the passphrase.
Developer / raw response
What is this tool?
Protect text or small files with AES or ChaCha20 in the browser using a password you choose.
How to Use
- Paste text or select a file within size limits.
- Choose an algorithm and enter a passphrase.
- Encrypt and copy or download the ciphertext.
- To decrypt, paste ciphertext and the same passphrase.
Frequently Asked Questions
Is this FIPS certified?
It uses standard Web Crypto primitives; compliance depends on your environment.
Can Wivrix read my passphrase?
No — encryption runs entirely in your browser.
Related tools
People who use this tool often need these too.
Other tools
There are more calculators, converters and editors on Wivrix. If something is missing, tell us.