Input
Preparing your workspace…
How to use
- Enter input key material, salt and optional context bytes.
- Choose the hash and output length, then select Generate.
- Copy or download the derived bytes as Hex or Base64.
HKDF Generator
Derive keys from existing key material with an explicit hash, salt, context and output length.
The result is raw key material, not encrypted text or a self-contained password record. Preserve the parameters you need to reproduce it. Input secrets are not included in the downloaded result.
Choose the bytes and parameters
UTF-8 preserves the exact text, including spaces and line endings. Hex and Base64 represent raw bytes. Encoding changes the interpretation of your input, not just its appearance.
Salt and info may be empty. Info separates application contexts; using different context bytes produces a different derived key.
IKM (Hex): 0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b
Salt (Hex): 000102030405060708090a0b0c
Info (Hex): f0f1f2f3f4f5f6f7f8f9
Hash: SHA-256
Length: 42 bytes3cb25f25faacd57a90434f64d0362f2a2d2d0a90cf1a5a4c5db02d56ecc4c5bf34007208d5b887185865RFC 5869 test case 1, including the exact 42-byte output.
Derivation and processing limits
HKDF follows RFC 5869 extract-and-expand. It is designed for existing key material and does not slow down password guesses. Use a password-specific KDF when starting from a human password.
The tool accepts up to 64 KiB of input and up to 1,024 bytes each for salt and context. Output is 1–256 bytes. A Worker enforces the processing timeout; no partial key is returned after cancellation.
Compare and reuse the derived key
Match all parameters with the other implementation. Hex and Base64 encode the same derived bytes, and changing output format does not rerun derivation. Treat the derived key as a secret.
Input: 1 MiB; Secret key: 64 KiB; File: 1 GiB; Passwords: 4–128 (Length), 1–100 (Count); bcrypt: 1–72 UTF-8 bytes · cost 4–14 · default 10; AES: Plaintext 1 MiB, Passphrase 1 KiB, GCM / CBC / CTR / CFB / ECB, 128/192/256-bit; PBKDF2 / HKDF: Password / input bytes 64 KiB, Salt / info 1 KiB, Output length (bytes) 1–256; 1–256 output bytes · up to 2,000,000 PBKDF2 iterations · inputs stay on your device; Time: 30 s; File: 120 s.
Frequently asked questions
Is this encryption?
No. A key derivation function produces key bytes. Use an encryption algorithm separately when you need to protect and later recover plaintext.
What must match to reproduce a result?
The input key material, salt, info, hash and output length must match byte for byte.
Can I use HKDF directly on a password?
HKDF is a fast derivation function and is not intended to resist password guessing. Start with a suitable password KDF when your input is a human password.
Does the salt need to be secret?
Salt is not normally secret. Empty salt is supported by RFC 5869, but use the exact salt required by your protocol.
Are my input or derived keys uploaded?
No. Derivation runs in a browser Worker. Copy and Download create only the device-side copies you request; inputs are not put in page URLs or stored in tool history.