Random Dice Roll Generator (D20)
About the D20
The twenty-sided die (D20) is shaped as a regular icosahedron — one of the five Platonic solids, with each face being an equilateral triangle. It is the most iconic die in tabletop RPGs and the foundation of the D20 System used by Dungeons & Dragons, Pathfinder, and many other games.
Rolling a natural 20 ("nat 20") is an automatic critical hit in D&D, while a natural 1 ("nat 1") is an automatic miss. These moments of extreme fortune and failure are what make the D20 the most dramatic die at the table.
Probability
The expected value of a single D20 roll is 10.5. Each of the twenty faces has an exactly equal 5% probability of landing face up. The chance of rolling a natural 20 on any given roll is exactly 5%.
Use cases
- D&D attack rolls, saving throws, and ability checks
- Pathfinder and other D20 System games
- Initiative rolls to determine combat order
- Death saving throws in 5th Edition D&D
- Skill checks — stealth, perception, persuasion
- Random selection from up to 20 options
D20 in D&D
Natural 20 (Critical Hit)
Rolling a 20 before any modifiers is an automatic hit on attack rolls, regardless of the target's armor class. Critical hits typically double the number of damage dice rolled, making them some of the most exciting moments in any campaign.
Natural 1 (Critical Failure)
Rolling a 1 before modifiers is an automatic miss on attack rolls. Many groups also play with "critical failure" house rules where a nat 1 causes an embarrassing mishap — dropping your weapon, hitting an ally, or tripping over your own feet.
How it works
- Your browser generates a cryptographically secure 32-bit unsigned integer
- The integer is mapped to the range 1–20 using modular arithmetic
- The result is displayed instantly — no server request needed
- Roll history and stats are tracked locally in your browser session
Privacy and security
Your dice rolls never leave your device. This tool runs entirely in your browser using client-side JavaScript — no API calls, no server logs, no cookies, and no tracking of generated values.