Skip to content
Calcrivo

Argon2 Memory Calculator

Size the Argon2 memory parameter in KiB blocks, validate it against the lane minimum and project peak server RAM.

Inputs

MiB
lanes
passes
hashes

Effective Memory per Hash

64.00MiB

1 KiB Memory Blocks

65,536

Memory per Lane

16,384KiB

Peak Server Memory at Load

1,280MiB

Attacker Area-Time Cost

192MiB-passes

Assessment

Strong — at or above the 46 MiB OWASP Argon2id profile

Step by step

  1. Values used

    Argon2 memory cost = 64 MiB; Parallelism (lanes) = 4 lanes; Time cost (passes) = 3 passes; Peak concurrent hashes = 20 hashes

  2. Argon2 Memory

    Argon2 allocates m KiB blocks of 1 KiB each, rounded up to a multiple of 4 × lanes and never below 8 × lanes; peak RAM = m × concurrent hashes.

  3. Area-time hardness

    attacker area-time cost ∝ memory × passes, the metric that makes Argon2 hostile to ASICs.

  4. Effective Memory per Hash

    = 64.00 MiB

  5. 1 KiB Memory Blocks

    = 65,536

  6. Memory per Lane

    = 16,384 KiB

  7. Peak Server Memory at Load

    = 1,280 MiB

  8. Attacker Area-Time Cost

    = 192 MiB-passes

  9. Assessment

    = Strong — at or above the 46 MiB OWASP Argon2id profile

How it works

Argon2 fills a memory matrix of m one-kibibyte blocks split across p lanes, so each lane owns m ÷ p blocks and the spec rejects any m below 8 × p. An attacker's silicon cost scales with memory × passes, which is what a GPU cannot cheaply replicate thousands of times over. Memory is Argon2's real defence, but it is also the parameter that will exhaust a login service under a burst — sizing it without multiplying by peak concurrency is how authentication nodes get OOM-killed.

Formulas

Argon2 Memory

Argon2 allocates m KiB blocks of 1 KiB each, rounded up to a multiple of 4 × lanes and never below 8 × lanes; peak RAM = m × concurrent hashes.

m
Memory cost in KiB
p
Lane count (parallelism)
8 × p
Absolute minimum block count Argon2 accepts

Area-time hardness

attacker area-time cost ∝ memory × passes, the metric that makes Argon2 hostile to ASICs.

Frequently Asked Questions

How is Argon2 Memory calculated?

Argon2 allocates m KiB blocks of 1 KiB each, rounded up to a multiple of 4 × lanes and never below 8 × lanes; peak RAM = m × concurrent hashes. Argon2 fills a memory matrix of m one-kibibyte blocks split across p lanes, so each lane owns m ÷ p blocks and the spec rejects any m below 8 × p. An attacker's silicon cost scales with memory × passes, which is what a GPU cannot cheaply replicate thousands of times over.

Why does Argon2 Memory matter?

Memory is Argon2's real defence, but it is also the parameter that will exhaust a login service under a burst — sizing it without multiplying by peak concurrency is how authentication nodes get OOM-killed.

What values do I need to enter?

This calculator takes 4 inputs: Argon2 memory cost, Parallelism (lanes), Time cost (passes), Peak concurrent hashes. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.

What are the OWASP Argon2id profiles?

OWASP lists m=47104 KiB (46 MiB) with t=1 and p=1, or m=19456 KiB (19 MiB) with t=2 and p=1, as equivalent minimums. Trade memory for passes only along that curve — do not drop below 19 MiB.

You might also need