Argon2id hash
Hash a password with Argon2id, on your device. For password storage, not for hashing files.
Runs on your device. The file is never uploaded.
Argon2id hash puts a typed password through Argon2id at 3 iterations, 65536 KiB of memory and 4 lanes, over a 16-byte salt drawn fresh from crypto.getRandomValues. Out comes the encoded string beginning $argon2id$v=19$, carrying those settings inside it. The 32-byte output length is fixed in code, so it is the one value you cannot change.
Questions
What exactly does this compute?
Argon2id from hash-wasm, running in your browser. The defaults are 3 iterations of time cost, 65536 KiB of memory, parallelism of 4, and a 32-byte hash. The salt is 16 random bytes from crypto.getRandomValues, generated fresh on every run. The result is the standard encoded string beginning $argon2id$v=19$, which carries the parameters and the salt inside it.
Why is the output different every time?
The salt is random on each run, so the same password produces a different encoded string each time. That is the point of a salt: two accounts with the same password store different values, and precomputed tables do not help an attacker. It also means you cannot compare two Argon2 strings to see whether the passwords match. Use Argon2 verify for that.
How do I check a password against a hash later?
Use Argon2 verify on this site. It takes the password and the full encoded hash string and answers "valid" or "invalid". You do not have to remember the settings: the iterations, memory, parallelism and salt are all encoded in the string itself, which is why verification still works after you change the defaults here.
Can I hash a file with this?
No. The tool takes a password from the options and has no file input at all. Argon2 is deliberately slow and memory-hungry, which is right for a password and wrong for file integrity, where you want speed and a fixed cost. For a file digest use Generate all hashes or one of the dedicated hash tools.
What do the parameters do, and what will it refuse?
iterations is the time cost, memory is the memory cost in KiB, and parallelism is the number of lanes. Raising them makes each guess more expensive for an attacker and slower for you, in the browser tab you are sitting in. Bad values are refused with "iterations must be a positive whole number", "memory must be a whole number >= 8 (KiB)" and "parallelism must be a positive whole number".
Does the password get sent anywhere?
No. hash-wasm runs as WebAssembly in a Web Worker in this tab. The password stays in page memory, is never uploaded, and is not stored between runs. The site works offline once loaded, and nothing here logs what you typed.