ChaCha20-Poly1305 Encryption

Encrypt and authenticate text, files, or URL content online with ChaCha20-Poly1305 or XChaCha20-Poly1305 using a 256-bit key, nonce, AAD, and PBKDF2, EvpKDF, or HKDF key derivation. Read more

ChaCha20-Poly1305 encryption online

ChaCha20-Poly1305 is an authenticated encryption with associated data (AEAD) construction from RFC 8439. This tool also supports XChaCha20-Poly1305 with a 192-bit nonce. Both variants use a 256-bit key and a fixed 16-byte authentication tag.

How to encrypt

Choose text, a local file, or URL content. Select ChaCha20-Poly1305 or XChaCha20-Poly1305, supply a 256-bit key and nonce, optional AAD, and either a direct key or PBKDF2, EvpKDF, or HKDF. Keep Append Tag enabled to emit ciphertext with the tag appended, or disable it to show the tag in a separate output field.

Matching parameters

The algorithm, key or KDF settings, nonce, AAD, and tag handling must match ChaCha20-Poly1305 decryption. Never reuse a nonce with the same key. Tag length is fixed at 16 bytes.

Security notes

AEAD detects modification of ciphertext, AAD, nonce, or tag when verification fails. Prefer this page over raw ChaCha20 encryption when integrity matters. Avoid processing production secrets on an untrusted device or browser.

Frequently asked questions

Where is the authentication tag?

With Append Tag enabled, the final 16 bytes of the output are the tag. With Append Tag disabled, the main output is ciphertext only and the Authentication Tag field shows the tag separately.

Input
Output
Share Link
Settings
Nonce
AAD