# Argon2 KDF > This Argon2 KDF tool returns a salted Argon2id password hash. Inspect its encoded hash output and fixed parameters before using it in an integration. This **Argon2 KDF** form currently generates a salted Argon2id password hash rather than raw derived key bytes. Use it to inspect the encoded hash format or prepare a password-verification fixture. The salt, work-factor, length, and output-format controls do not change the fixed profile used by this operation. ## Overview & Metadata - **Canonical URL:** https://million.tools/argon2-kdf/ - **Markdown Copy (.md.txt):** https://million.tools/argon2-kdf.md.txt - **Plain Text Copy (.txt):** https://million.tools/argon2-kdf.txt - **SEO Title:** Argon2 KDF Online | Argon2id Encoded Hash Output - **Alternative Names:** Argon2id Derivation Form, Inspect Argon2 Output, Argon2id hashing form, Argon2 key derivation form, Encoded Argon2 hash generator, Argon2 password hashing tool - **Category:** [Hash](https://million.tools/hash/) - **Tags:** [#KDF](https://million.tools/tag/kdf/) - **Application Category:** `DeveloperApplication` - **Platform:** Web (All modern desktop and mobile browsers, requires JavaScript) - **Price:** Free ($0.00 USD, no registration or sign-up required) - **Live Calculation:** Supported (`Auto / Live` toggle enabled by default) - **Usage Statistics:** 2 uses · 2 views - **Published:** 2026-11-03 - **Last Updated:** 2026-11-03 - **Author:** Egor Volchenko (Developer & Author) ## Key Features - Generate Argon2id encoded password hashes - Accept text, Hex, or Base64 input bytes - Use a fresh random salt for every request - Expose the fixed-profile and raw-output limitations - Copy the complete hash and clear input ## Parameters & Interface Controls ### Input Parameters & Options - `input_text`: Input text. - `hmac_key`: Salt (Optional / Auto-generated). - `kdf_iterations`: Number. Iterations / Work Factor - `kdf_length`: Number. Key Length (Bytes) - `input_encoding`: `Hex` | `Hex (Ignore Non-Hex Characters)` | `Base64` | `UTF-8` | `UTF-16LE` | `UTF-16BE` | `Windows-1251 (Cyrillic)` | `Windows-1252 (Latin 1)` | ... (42 options) - `output_format`: `Hex (lower)` | `Hex (UPPER)` | `Base64` ### Output Fields & Metrics - `result`: Argon2 KDF Hash Result. - **Controls:** `Derive Key`, `Clear`, `Copy`, `Fill test data`, `Auto / Live` ## Interactive Example (Test Vector) **Settings:** - Input Encoding: `UTF-8` - Output Format: `Hex (lower)` **Input text:** ```text MilliOn.t00ls ``` **Argon2 KDF Hash Result:** ```text $argon2id$v=19$m=65536,t=4,p=1$EjX1jqklQ3IZGtqTaTX76g$wpTrffM3SHqV/YJ3tBI0KhQcBurfdCvwepDAiOnRPKg ``` ## How to use Argon2 KDF Use the following steps to process a small test input. ### Generate an encoded Argon2id hash 1. **Enter test input:** Type a non-sensitive test password into Input text. Select UTF-8 under Input Encoding: for ordinary text, or select Hex or Base64 for encoded input bytes. 2. **Recognize the fixed profile:** Salt (Optional / Auto-generated), Iterations / Work Factor, and Key Length (Bytes) are visible, but their submitted values are ignored. Leave these shared fields at their defaults. 3. **Generate the hash:** Turn Auto / Live off and click Derive Key for one sample. With Auto / Live on, edits request fresh salted hashes. 4. **Read the complete string:** Read Argon2 KDF Hash Result. Hex (lower), Hex (UPPER), and Base64 do not change this encoded password-hash output. 5. **Copy or clear the text:** Click Copy to copy the result. Use Clear where shown, or the field clear controls, to remove the text. For UTF-8 input `password`, one verified result is `$argon2id$v=19$m=65536,t=4,p=1$QX4WM6TWM8/L8aFWeNE5Dw$s8re0XRXzofpY0eaTtVKAw5MZ6w02Y/EfDamKQUzMm4`. A new request uses a new random salt, so its complete result should differ. > A rejected request may leave an earlier result visible. Clear the fields and recheck the input before relying on a new calculation. ### Read the Argon2id profile The encoded string identifies Argon2id version 19 with `m=65536,t=4,p=1`: 65,536 KiB of memory, four passes, and one lane. It packages a random 16-byte salt and a 32-byte hash. These settings describe this implementation; they are not adjustable through the displayed fields. ### Separate password hashes from raw key material A PHC password-hash string includes algorithm and parameter information. It is not a 32-byte encryption key, even though it contains a 32-byte hash. The current form has no raw-output mode, selectable Argon2 variant, memory control, or parallelism control. ## Frequently asked questions ### Does Argon2 KDF return a raw encryption key? The current operation returns an encoded Argon2id password hash. Do not pass the entire PHC string to a cipher as though it were raw key material. This form does not expose raw derivation output. ### Can I choose Argon2i or Argon2d? No. The generator always uses Argon2id. There is no variant selector, memory setting, or parallelism setting in this form. ### Why does the hash change with the same input? Each request generates a new random salt. Different encoded hashes can therefore verify the same password. The salt entered in the visible field is ignored by this operation. ### Can I change the iteration count or output length? No. Iterations / Work Factor and Key Length (Bytes) are shared interface controls, but this service uses four passes and a 32-byte hash regardless of their displayed values. ### How can I check an encoded Argon2 hash? Use an Argon2 password-verification implementation with the original input and the complete encoded string. Comparing a newly generated string directly will usually fail because the new salt is different. ### Is the calculation performed only in my browser? No. This form sends the entered data to the calculation API. Use sample data instead of production secrets. ## Related Tools - [Argon2 Hash Generator](https://million.tools/argon2/): Generate a salted Argon2 password hash from text or encoded bytes. Copy the complete encoded string for development fixtures and password-verification tests. - [SHA-224 Hash Generator](https://million.tools/sha224/): Generate a SHA-224 digest from text or encoded bytes. Choose hex or Base64 output, or test HMAC-SHA224 with a key. - [SHA3-512 Hash Generator](https://million.tools/sha3-512/): Calculate a SHA3-512 digest from text or encoded bytes. Choose hex or Base64 output, or enable HMAC to generate a keyed message authentication code. - [Keccak-256 Hash Generator](https://million.tools/keccak-256/): Generate Keccak-256 hashes from text with UTF-8, Hex, or Base64 input. View live results, use HMAC mode, and copy Hex or Base64 output. - [CRC-16 Calculator](https://million.tools/crc16/): Calculate 16-bit CRC checksums from text with CRC-16/ARC as the default. Choose input encoding, view hex or Base64 results, and copy the checksum. ## About the Author **Egor Volchenko** — *Developer & Author* Hi! I’m a WordPress developer with over 10 years of experience. I love Tailwind CSS, clean code, and intuitive interfaces. I’m currently working on million.tools — a service with convenient online tools for everyday tasks. I’m building it from scratch with great attention to detail and user experience. - **Links:** [x.com](https://x.com/egorleet) · [github.com](https://github.com/egorleet) · [t.me](https://t.me/egorleet) · [instagram.com](https://www.instagram.com/egorleet) · [facebook.com](https://www.facebook.com/egorleet/) · [egorleet.blog](https://egorleet.blog/) · [mastodon.social](https://mastodon.social/@egorleet) · [twitch.tv](https://www.twitch.tv/egorvolchenko) · [stackoverflow.com](https://stackoverflow.com/users/31679135/egor-volchenko) · [reddit.com](https://www.reddit.com/user/Vegetable_Window9185/) · [youtube.com](https://youtube.com/@egor-volchenko)