How the tools are made
Every generator here is a page of JavaScript with its data written into the source. This page says where that data came from, which tool draws from which source of randomness, and which parts are not checked by anything. It exists so you can decide how much to trust a result rather than taking the word of a site you have never heard of.
There is no back end
The site is built with Astro and deployed as static files. Nothing is fetched at build time and nothing is fetched at run time: there is no API call in any tool, so the word banks, the country table and the animal list are all literal arrays in the page you have already downloaded. That is why the tools keep working with the network off, and it is the reason nothing you type can be sent anywhere — there is no endpoint to send it to.
The one third-party script on the site is Google's AdSense loader, described in the privacy policy. It is unrelated to the tools and receives nothing from them.
Three different sources of randomness
Not every tool needs the same quality of randomness, and pretending otherwise would be marketing rather than method. Three things are in use.
A cryptographic source, for draws where the result matters. crypto.getRandomValues, reduced into range with rejection sampling rather
than a modulo, because taking a remainder favours the low end of a range whenever the
range does not divide evenly into the number of bit patterns. This covers the number,
letter, word, list, emoji, country, coin flip and name picker tools, the bracket draw,
and the name generators. Several of those refuse to draw at all if the browser has no
cryptographic source, rather than quietly substituting a weaker one.
A seeded generator, where the result has to be repeatable. The bingo, maths worksheet and random number tools use a small seeded generator (mulberry32) when you supply a seed, so the same seed and the same settings reproduce the same output on any machine. This is deliberately not cryptographic — reproducibility is the point.
An ordinary pseudorandom source, where variety is all that is needed.
Six tools use plain Math.random: the crossword and word search generators
(grid layout jitter and filler letters), the seating chart maker, the blog title
generator, the lorem ipsum generator and the glitch text generator. None of those is
deciding a prize or settling an argument. The seating chart maker is worth naming
explicitly, because it does allocate people to places — but what makes a seating chart
defensible is the rules you set, not the statistical quality of the shuffle behind
them.
Three further tools — the startup name, book title and random animal generators — use
the cryptographic source but fall back to Math.random on a browser that
does not provide one. In practice that is a very old browser.
If you are running a draw where the outcome is contested, the source of randomness is not the part that will be challenged. See how to run a prize draw people will accept as fair.
Where the data came from
Word banks — for band, team, business, startup, fantasy, character and gamertag names — are hand-assembled. They were written for this site rather than scraped from anywhere, which is why they are finite and why generating repeatedly will eventually show you the same words in new arrangements. It also means they carry the assumptions of whoever wrote them: they are English, and they lean British and North American. The tool pages say so where it affects the output.
The animal list holds 146 animals with no duplicates, each tagged with a class, habitat, size band and diet. It is hand-written, which means it over-represents the animals a person thinks of first — largely African, European and North American — and under-represents nearly everything else. The size bands and diet labels are editorial judgements, not data from a taxonomic database.
Country data is names, capitals, ISO 3166-1 alpha-2 codes and continents. There are deliberately no population, area or currency figures, because those change and a stale number stated confidently is worse than no number.
Letter frequencies come from Lewand's Cryptological Mathematics (2000), the set most widely reproduced for English. It is one published convention rather than a live corpus measurement, and it is English only.
The emoji set is a curated subset of Unicode rather than the whole of it, chosen for support that is broad enough to be worth offering.
What is not checked
This is the part most methodology pages leave out.
There is no automated test suite. No unit tests, no integration tests, nothing that runs on every change. The generators are checked by hand. That is a real limitation and it is worth knowing before you rely on an output for something that matters.
Nothing here checks availability of anything. No tool can tell you whether a name, handle, domain or title is free, because no tool makes a network request. Every page that produces names says so; how to check a name is actually free to use covers doing it properly.
Rendering is not guaranteed. The text tools produce Unicode characters; whether a given device draws them is decided by the fonts on that device, which no page can inspect. The glyph checks on those pages report what your browser can draw, not what your reader's can.
The word banks have not been audited for bias. They were written by a person making judgement calls. Where that has a visible effect on the output the tool page says so, but nobody has gone through them systematically.
Corrections
When something here turns out to be wrong, the page is changed rather than annotated, and a claim that cannot be supported is removed rather than softened. This page was itself the occasion for one such correction: writing it turned up a statement on the home page that all randomness came from the cryptographic source, which was true of most of the tools and not of six of them. The home page now says what is actually the case.
Every page on the site shows the date its source last changed, taken from the repository rather than typed in by hand. If you find something wrong, the contact page explains what happens next.