All random results on TableRoll are produced in your browser, not on our servers.

Random source

Modern browsers provide crypto.getRandomValues, which fills a buffer with cryptographically strong random values. TableRoll uses this to produce fair integers for dice rolls and weighted selections. In older environments without this API, the page falls back to Math.random.

Weighted selections

For weighted tables, each enabled entry receives a slice proportional to its weight. A random value is generated across the total weight, and the entry whose slice contains that value is returned.

Range-based selections

For range tables, TableRoll rolls the chosen die and returns the first entry whose range contains the result. The editor validates that ranges do not overlap or leave gaps.

Private data

Your saved tables, presets, notes and generator states are stored in your browser's localStorage. They are not uploaded or indexed.

Limitations

Computer randomness is pseudorandom. While browser crypto APIs are suitable for gaming, they are not certified for gambling, cryptography or legally regulated draws.