User Rating 0.0 โ˜…โ˜…โ˜…โ˜…โ˜…
Total Usage 0 times
Category Board Games
1โ€“100 dice
Added to total
Presets:
Press Enter or click to roll dice
Configure and roll
Rolls 0
Average โ€”
Min โ€”
Max โ€”
Total Sum 0
Is this tool helpful?

Your feedback helps us improve.

โ˜… โ˜… โ˜… โ˜… โ˜…

About

The D100, or percentile die, generates values from 1 to 100 and serves as the probability engine for systems like Call of Cthulhu, Warhammer Fantasy Roleplay, and Basic Role-Playing derivatives. Unlike the bell curve distribution of summed dice (2d6 averages 7), a D100 produces flat probability: each outcome has exactly 1% chance. This matters for skill checks where rolling under a target number (e.g., 65% Spot Hidden) must be precisely calculable. Physical percentile dice - two d10s read as tens and units - introduce human error: misreading 00+0 as 0 or 100 varies by house rule.

This calculator uses crypto.getRandomValues(), the same entropy source browsers use for TLS key generation, eliminating the weak periodicity of Math.random(). Modifiers apply post-roll for systems requiring them (RuneQuest augments, Delta Green bonds). Advantage/disadvantage mechanics - rolling twice and taking best/worst - model opposed checks or situational bonuses without altering the base probability space. Session statistics track your roll distribution; a competent Keeper notices when players consistently beat 5% odds.

d100 dice roller percentile dice tabletop rpg dnd call of cthulhu warhammer random number generator

Formulas

The D100 generates uniformly distributed integers. For n dice, each die di independently samples from the discrete uniform distribution:

di ~ U{1, 100}

The probability of any specific outcome k:

P(d = k) = 1100 = 0.01

For multiple dice, the total T with modifier m:

T = nโˆ‘i=1 di + m

With advantage (take highest of two rolls per die):

dadv = max(d1, d2)

The probability distribution shifts: P(dadv โ‰ค k) = (k100)2, yielding expected value 67.17 versus the standard 50.5.

For disadvantage (take lowest):

ddis = min(d1, d2)

Expected value drops to 33.83. This asymmetry makes advantage/disadvantage significant in roll-under systems.

where di = individual die result, n = number of dice, m = flat modifier, T = final total, k = target outcome.

Reference Data

Roll RangeProbabilityCommon InterpretationSystem Examples
01 - 055%Critical Success / ImpaleCall of Cthulhu, BRP, Mythras
06 - 5045%Regular Success (skill โ‰ฅ50)Most percentile systems
51 - 9545%Failure (skill โ‰ค50)Varies by target number
96 - 1005%Critical Failure / FumbleCoC, WFRP (varies by edition)
01 - 011%Absolute SuccessSome systems auto-succeed on 01
100 - 1001%Absolute FailureSome systems auto-fail on 100
โ‰ค Skill รท 5VariableExtreme SuccessCall of Cthulhu 7th Edition
โ‰ค Skill รท 2VariableHard SuccessCall of Cthulhu 7th Edition
doubles (11,22,33...)10%Special (critical if under skill)Unknown Armies, some house rules
00+0 reading - 100 (most systems) or 0/10 (rare)House rule dependent
Common Skill Thresholds
Skill 15%15% successUntrained default (CoC)First Aid, Dodge base
Skill 50%50% successCompetent professionalAverage investigator skill
Skill 75%75% successExpert levelSpecialist occupation skill
Skill 90%90% successWorld-class masteryMaximum practical limit
Opposed Roll Probabilities
Both Skill 5025% both succeedCompare success levelsCoC combat, social contests
Skill 80 vs 4032% both succeedHigher roll wins tieContested checks
System-Specific Mechanics
WFRP 4eSuccess Levels = (Skill โˆ’ Roll) รท 10Degrees determine marginCombat damage bonus
Delta GreenMatched doubles under skill = crit11, 22, 33... if successfulEnhanced success
MythrasRoll รท 10, round up = hit locationSecondary roll interpretationCombat hit zones
RuneQuestAugment adds ยฑ20-25%Skill synergy bonusPassion augments

Frequently Asked Questions

Math.random() uses a pseudo-random number generator (PRNG) seeded by system time, producing deterministic sequences that repeat after approximately 2^32 iterations. Sophisticated users could theoretically predict outputs. crypto.getRandomValues() draws from the operating system's entropy pool (hardware interrupts, thermal noise, user input timing), providing true randomness suitable for cryptographic applications. For tabletop gaming, the practical difference is negligible - but the cryptographic method eliminates any statistical bias in the algorithm itself.
This varies by system and table convention. Call of Cthulhu 7th Edition officially treats 00+0 as 100 (the worst possible roll in a roll-under system). Some tables read 00 as 0, making 00+0 equal 0 or 10. Warhammer Fantasy Roleplay treats 0-0 as 100. This calculator generates 1-100 directly, avoiding the ambiguity entirely. Clarify with your group before play.
Advantage (rolling twice, keeping the higher result) shifts the expected value from 50.5 to approximately 67.17 - a 33% improvement. More critically, it compresses the failure probability: the chance of rolling above 75 drops from 25% to only 6.25%. In roll-under systems, this dramatically increases success rates for moderate skills while having less impact on very high or very low skill values.
WFRP 4e uses Success Levels (SL) calculated as: SL = (Skill - Roll) รท 10, rounded toward zero. A Skill 45 rolling 23 achieves SL +2 (45-23=22, รท10=2.2, rounds to +2). Rolling 67 yields SL -3 (45-67=-22, รท10=-2.2, rounds to -2, but failure minimum is SL -1; contested rolls use the full negative). Use the modifier field to subtract your roll from skill, then divide by 10.
Session statistics reveal anomalies. A player consistently rolling under 20 on a flat d100 over 30+ rolls is statistically implausible (expected ~20% of the time, not 60%). The history provides an auditable record for Keepers or GMs suspicious of fudged rolls in online play. It also helps players recognize genuine lucky or unlucky streaks versus perceived patterns.
Some systems (like certain wargames) need results in increments of 10 (10, 20, 30...100). This calculator outputs 1-100. To simulate d10ร—10, roll once and multiply mentally, or note that any roll 01-10 = 10, 11-20 = 20, etc. A future update could add this mode. For now, use the single die result and round to the nearest ten or take the tens digit.