Skip to content
uencoder
TOOL

ChaCha20 Encryptor

Encrypt text with the ChaCha20 stream cipher (RFC 8439) — a real algorithm verified byte-for-byte against official RFC test vectors. 256-bit key (32 bytes), 96-bit nonce (12 bytes), 32-bit block counter. Free, private, and 100% client-side. Never reuse a nonce with the same key.

Try an example:
Local only

Recent history

No history yet

How to use

  1. Enter your plaintext in the input box.
  2. Set the key (exactly 32 bytes) and nonce (exactly 12 bytes) as UTF-8 text.
  3. Optionally set the initial block counter (default 0) and choose hex or base64 output.
  4. Copy or download the ciphertext.

Frequently asked questions

Is my data uploaded anywhere?
No. All processing happens locally in your browser with no server round-trip.
Does this tool work offline?
Yes. Once the page loads, the tool runs entirely client-side and needs no network connection.
Is this real ChaCha20 encryption?
Yes. It implements RFC 8439 exactly and is verified byte-for-byte against the RFC's official test vectors (quarter round §2.1.1, block function §2.3.2, encryption §2.4.2, Appendix A.1), cross-checked with OpenSSL.
What key and nonce sizes are required?
The key must be exactly 32 bytes and the nonce exactly 12 bytes, entered as UTF-8 text; other lengths are rejected with an explicit error. Never reuse a nonce with the same key — reusing the keystream makes the plaintext recoverable.

Glossary terms

Pipelines using this tool

Related tools