The URL is the interface. Every tool on dice83 is configured entirely through the URL path. Construct a URL, load the page, your browser generates the result.
dice83 has no traditional REST API that returns JSON. Every URL serves a complete HTML page with the requested tool pre-configured. Your browser then generates the random result locally using the Web Cryptography API. This means there is no server-side computation and no way to "call" dice83 for a random value over HTTP.
The power of this model: every URL is a self-contained, shareable, bookmarkable tool configuration. Construct the right path, and the tool loads with your exact parameters. Use it in links, worksheets, presentations, iframes, or QR codes.
https://dice83.com / {lang} / {tool} / {params...}https://dice83.com / de / integer / 5 / 1 / 100 ^^ ^^^^^^^ ^ ^ ^^^ lang tool count min max
The language prefix is optional. Omit it for English. The tool name selects the generator. The parameters are slash-separated values that configure the tool. Parameters absent from the URL use sensible defaults.
Construct these URLs to get a pre-configured tool page instantly:
/coin/10 Flip 10 coins simultaneously/integer/1/1000 Random integer from 1 to 1000/integer/5/-50/50 Five random integers from -50 to 50/password/24 24-character secure password/4d6kh3 Roll 4d6, keep highest 3 (ability score)/pattern/LLL-DDDD Random string like QXR-4829/color/5/rgb Five random colors in RGB format/groups/24/4 Split 24 participants into 4 teams/de/2d6 Roll 2d6 with German interface/100 Random number from 1 to 100Every route listed below accepts an optional 2-letter language prefix. Parameters in italics are path segments. Ranges use slash separators, enabling negative values.
/coin Flip one coin/coin/count Flip COUNT coins (1-1000)/yes-no Random yes or no/true-false Random boolean/left-right Random direction/rps Rock, paper, or scissors/dice-face Single Unicode die face ⚀-⚅/password/length Random password (default 16, max 256)/diceware/words Passphrase from EFF wordlist (default 6, max 20)/pin/length Numeric PIN (default 4, max 20)/integer/min/max Random integer in range (supports negative)/integer/count/min/max Multiple integers in range/numbers/count/min/max Unique non-repeating integers/sequence/min/max Shuffle range into random order/decimal/count/decimals Random fractions 0 to 1/percent/decimals Random percentage 0% to 100%/ratio/parts Random proportions summing to 100/prime/min/max Random prime number in range/fibonacci Random Fibonacci number/binary/bits Random bitstring (max 64)/bytes/count/format Raw bytes in hex, base64, or bin/even/min/max Random even integer (supports negative)/odd/min/max Random odd integer (supports negative)/generate/length Alphanumeric string (max 256)/uuid UUID v4 per RFC 4122/unicode/count Random printable Unicode characters/letter/count Random letters (language-sensitive)/ascii Random printable ASCII (33-126)/emoji/count Random emojis/roman/min/max Random Roman numeral/pattern/template Custom string from template (L, l, D, H)/calendar Visual year grid with random date/date/from/to Random date in year range/time/min/max Random time in hour range/duration/min/max Random duration in minutes/timestamp/year Random Unix timestamp/week Random ISO week 1-52/month Random month (localized)/weekday Random day of the week (localized)/season Random season/timezone Random IANA timezone + UTC offset/currency Random ISO 4217 currency/language Random world language/country/count Random countries with flags/color/count/format Random colors (hex, rgb, hsl)/gradient Random two-color CSS gradient/palette/harmony Harmonious palette (complement, analogous, triad, monochrome)/pixel/size/colors Random pixel art grid/avatar Geometric identicon SVG/wavelength Random visible spectrum wavelength/order/count Random turn order for COUNT participants/pairs/count Random pairing of COUNT participants/groups/count/m Split COUNT into M random groups/bracket/count Tournament bracket seeding/grid/rows/cols Random cell from grid/winner/count Pick one from COUNT with visual reveal/countdown/min/max Random countdown timer (minutes)/element Random periodic table element/planet Random solar system planet/note Random musical note (chromatic)/zodiac/system Random zodiac sign (western or chinese)/tarot/count Draw from 78-card tarot deck/rune Random Elder Futhark rune/iching Random I Ching hexagram/nato Random NATO phonetic code/gaussian/mean/stdev Normal (bell curve) distribution/weighted/w1/w2/w3... Weighted selection (up to 5 weights)/blob/count Organic SVG blob shape/wave/count SVG wave section divider/noise/size Procedural noise texture/mandala/count Symmetrical radial pattern/spirograph Hypotrochoid curve/voronoi/count Voronoi tessellation/delaunay/count Delaunay triangulation/terrain/size Topographic contour map/lsystem/count L-system branching structure/halftone/count Halftone dot pattern/moire Moiré interference pattern/guilloche Mathematical line mesh/lines/count Noise-displaced parallel lines/stipple/count Weighted dot scatter/proportion Random classical ratio (golden, root-2, etc.)/rating/count Random star ratings (half-star precision)/checker/cols/rows Checkerboard with random colors/matrix/cols/rows Asymmetric grid divisions/NdS Dice expression: /d20, /2d6, /4d6kh3, /d8+5/N Quick random number 1 to N: /100, /20/N/M Two numbers: 1-N and 1-M: /100/500/N/M/K Three numbers: /100/200/300Dice expressions are parsed from the URL path. The full grammar:
N (dice count): 1 to 100. SIDES: 2 to 1,000,000. KEEP: 1 to N. MOD: -10,000 to +10,000.
Invalid expressions silently fall back to 1d6.
Every route accepts an optional 2-letter ISO 639-1 prefix that sets the interface language. English is the default when no prefix is present.
The language prefix affects UI labels, localized output (month names, weekday names, country names via the browser Intl API), and SEO tags. It never affects the randomness engine or parameter limits.
/ko/letter Random Korean letter/ja/month Random month name in Japanese/de/integer/1/100 German interface, integer 1-100/fr/zodiac/western French interface, western zodiacAll range parameters use / separators in the URL. This enables negative values: /integer/-10/10. Ranges are normalized so the smaller value comes first. /integer/100/5 silently becomes /integer/5/100.
Every parameter has a sensible default. Bare routes are valid: /integer defaults to 1-100, /password defaults to 16 characters, /percent defaults to 0 decimal places. Omitted parameters never produce errors.
All parameters are sanitized, type-cast, and clamped to safe ranges. Values exceeding limits are silently clamped. Unknown parameters are ignored. No URL input produces an error page for whitelisted routes.
The server receives only path-based parameters. Query strings appended to any URL are silently discarded during routing. /coin?count=50 behaves identically to /coin. The URL path is the complete and only interface.
Embed any tool in an iframe. The tool renders fully within the frame and generates results using the parent page visitor's browser entropy.
<iframe src="https://dice83.com/coin/5" width="100%" height="600"></iframe>
Link to any pre-configured tool. Recipients see the exact configuration you specify and generate their own independent results.
<a href="https://dice83.com/integer/5/1/100">Generate 5 numbers</a> <a href="https://dice83.com/groups/24/4">Make 4 teams of 6</a> <a href="https://dice83.com/4d6kh3">Roll ability scores</a>
Print URLs directly on classroom worksheets or presentation slides. Students type the path into any browser. Each student generates independent results. URLs like dice83.com/coin/100 are short enough to type by hand.
Daily Inspiration
Jury-selected work from the A' Design Award, presented fresh each morning.