Four tools share one job: find a name and confirm you can actually get the domain. Generator invents candidate names; Check, Hunt, and Pattern confirm availability and price — they differ only in which names get checked and how those names are chosen. All three use the same underlying availability pipeline — see How availability is checked below.
Generator
Invents candidate names two ways — pick a mode with the radio buttons at the top of the form.
Generate mode
Invents pronounceable, brand-style names from scratch — not random letters, but syllables built by five weighted strategies running in parallel, each filtered to reject awkward consonant clusters, triple vowels, and repeated bigrams:
CVCV — chains 2–3 open syllables with an optional coda, e.g. palo, trisel
Bridged — onset + vowel + consonant bridge + vowel + optional tail, e.g. calvo, norte
Ending — a syllable core plus a curated ending, e.g. velio, tural
Vowel-led — starts on a vowel, e.g. ariko, elva
Mutant — slices a seed word, mutates one phoneme, adds an ending, e.g. vercio, signel
Options: Count (default 10, max 2000) — how many unique names to generate. Min length / Max length (default 5–7) — filters out anything shorter or longer.
Example: Count 10, Min 5, Max 7 → a word-cloud of names like trisel, calvo, velio, ariko, vercio.
Combo mode
Builds two-word names by picking real words from curated adjective and noun lists and joining them — adjective+noun or noun+noun — each half capitalized.
Options: Count (default 10, max 2000) — how many unique combos to generate. Pattern — adj-noun, noun-noun, or both (randomly mixes the two, default). Word min / Word max (default 3–6) — length filter applied to each source word before combining. Combined min / Combined max (default 6–12) — length filter applied to the final joined name.
Neither mode checks availability on its own — pair it with Check once you've picked favorites, or use Hunt to generate and check in one pass.
Check
You already have specific names in mind — Check looks up availability and price for exactly the list you give it, against one TLD.
Options
Names — one per line, or comma/space-separated.
TLD (default .com) — pick one from the dropdown, or choose Other… to type a custom TLD, e.g. .miami.
Max price (USD) (default 0) — domains priced at or under this are classified BUY instead of TAKEN. At the default of 0, nothing qualifies as affordable, so priced domains show as TAKEN until you raise it.
Example
Names acme, foobar with TLD com checks acme.com and foobar.com — one row per domain in the results table, all at once (no live streaming, unlike Hunt/Pattern).
Hunt
You don't have specific names yet — Hunt repeatedly generates candidates (using the Generator's Generate or Combo engine under the hood, your choice) and checks them in escalating rounds, streaming each hit into the table live, until it finds the number of available/affordable domains you asked for.
Options
Count (default 10) — target number of hits before Hunt stops.
Source — generate or combo; switches which extra options appear below it (the same ones documented in Generator above).
TLD / Max price — same meaning as in Check.
Example
Count 10, Source "generate", TLD com → streams rows into the table as they're confirmed (e.g. trisel.comFREE) and stops automatically once 10 hits are found. Unlike Check/Pattern, Hunt only ever reports FREE or BUY results — anything TAKEN or unconfirmed is silently skipped and generation just keeps going.
Pattern
You know the exact shape of the name you want — e.g. "z", then two digits 1–3, then a letter a–c, or "cloud" followed by a word from the noun list — Pattern deterministically enumerates every name matching that shape and checks all of them. This is the opposite of Hunt: exhaustive over a defined space instead of random sampling.
Options
Pattern — the bracket/wildcard expression; see the syntax reference below.
TLD / Max price — same meaning as in Check.
Randomize — when checked, the (up to) 500 names checked are a random sample spread across the whole matching space, instead of a fixed left-to-right enumeration.
Example
z[1-3][1-3][a-c] with TLD com expands to all 3 × 3 × 3 = 27 combinations (z11a.com through z33c.com) and checks every one — results like z11b.comFREE, z21a.comTAKEN stream in as they're confirmed.
500-combination cap: if a pattern matches more than 500 names, Pattern tells you the true total up front and only checks the first 500 (in the order below) — narrow the pattern to see the rest, or check Randomize to sample the 500 across the whole space instead. For a pattern like [c][v][c][v][c] (231,525 combinations), the in-order run always shares the same first consonant across all 500 results; Randomize spreads them out instead, and re-running gives a different sample each time.
100-word-per-bracket exception: a bracket that draws from a word bank or word list (see syntax reference below) doesn't enumerate in file order — it's capped at a random sample of 100 words, re-rolled on every search. This keeps a single [noun]/[adj] bracket from silently eating the whole 500-combination cap by itself as those built-in lists grow, and means repeated searches surface different words over time instead of the same fixed slice.
Pattern syntax reference
Any plain character (a–z, 0–9) matches itself literally.
[...] is a bracket group: it always contributes exactly one item to the result, chosen from what's inside — never more than one. By default that item is a single character, but a comma or a recognized word-bank name switches the bracket to whole-word mode (see below).
Ranges: [a-c] means one of a, b, c. [1-3] means one of 1, 2, 3.
Mixed lists: literal characters and ranges combine freely in one bracket — [13a-c] means one of {1, 3, a, b, c} (the literals 1 and 3, plus the range a-c expanded to a, b, c).
* is a wildcard: one character from a–z0–9 (36 options).
Word lists: a bracket whose contents contain a comma is a list of whole words, not single characters — [cloud,clouds,web,host] contributes one entire word from that list (cloud, clouds, web, or host), never just one letter of it.
Word banks: [noun] / [nouns] expands to one word from the built-in noun list, [adj] / [adjective] / [adjectives] expands to one word from the built-in adjective list, and [verb] / [verbs] expands to one word from the built-in verb list — the same word lists Combo draws words from.
100-word cap on word brackets: unlike character ranges, a word-list or word-bank bracket doesn't contribute every word it could — it's capped at a random sample of 100, redrawn each time you run a search. A pattern like cloud[noun] therefore always contributes at most 100 options for that bracket, no matter how large the noun bank grows.
Vowel/consonant classes: [v] / [vowel] / [vowels] means one of a, e, i, o, u, and [c] / [consonant] / [consonants] means one of the other 21 letters (y counts as a consonant). These are fixed-size character classes like ranges, not word banks — every option is always included, with no 100-item cap.
[a-z][a-z][a-z][a-z] → 26⁴ = 456,976 names — well over the 500 cap, so only the first 500 (in aaaa, aaab, … order) get checked
cloud[noun] → [noun] is capped at a random 100-word sample of the 780-word noun bank, so this is 100 combinations (e.g. cloudhat, cloudfox, …) — under the 500 cap, all checked, and a different 100 nouns each time you search
[adj][noun] → both brackets are capped at 100 each, so 100 × 100 = 10,000 combinations — over the 500 cap, so only the first 500 (of that search's random sample) get checked
[adj][cloud,clouds,web,host] → the adjective bank is capped at 100, paired with each of the 4 listed words (short lists aren't affected by the cap) — 100 × 4 = 400 combinations, under the 500 cap, so all get checked
[verb][noun] → both brackets are capped at 100 each, so 100 × 100 = 10,000 combinations (e.g. dashfox, leapwave, …) — over the 500 cap, so only the first 500 (of that search's random sample) get checked
dog[vowel][consonant] → [vowel] is 5 options and [consonant] is 21, neither capped, so 5 × 21 = 105 combinations (e.g. dogab, dogec, …) — under the 500 cap, all checked
How availability is checked
Every candidate goes through the same three-step pipeline, in this order, no matter which tool found it:
DNS — a fast lookup checks whether the domain resolves. If it does, that's a 100% reliable sign it's registered, so the domain is reported TAKEN right away.
RDAP — for anything DNS can't confirm (a domain can be fully registered with no DNS configured at all — common for short/generic names held by domain investors, so DNS alone isn't enough), the authoritative registry is queried directly. This is the real source of truth: names it confirms as unregistered are reported FREE, and registered-but-unconfigured ones are still correctly caught as taken here.
IDS (pricing only) — a third-party marketplace search is queried only for domains already confirmed taken by DNS or RDAP, and only if Max price is above 0. It's never used to decide availability, and it never sees a domain that turns out to be available.
That ordering is deliberate: a FREE result is always confirmed against the authoritative registry, never guessed from DNS alone — and a name that's actually available is never sent to the third-party pricing lookup, avoiding the risk of a third party front-running an interesting available name before you can register it yourself.
Result statuses & pricing
FREE — no registration record exists. Caveat: some registries reserve short/valuable unregistered names as premium inventory sold above standard price — since nobody has registered it, it still correctly reports as FREE, but may not be available at normal cost. Verify with a registrar before assuming a FREE domain is available at normal cost.
BUY — registered, but a real purchase price was found at or under your Max price budget.
TAKEN — registered, and either no purchase price could be found or the price is above your Max price budget. Raise Max price to reclassify an affordable one as BUY.
ERROR — the lookup couldn't be reliably confirmed (a registry check timed out or was inconclusive). These are logged for later review rather than guessed at.
A price marked with * is a minimum offer — a negotiation floor from a marketplace like Sedo, not a fixed price; the real purchase price could be higher. A price shown without * came from a firm Buy Now listing (e.g. Afternic) and is what you'd actually pay. When both a firm price and a minimum-offer floor exist for the same domain, the firm price is always shown.
Domain
Status
Price
Market
FREE — no registration record exists. Verify with a registrar. A price marked with * is a minimum offer (a negotiation floor).
Domain
Status
Price
Market
FREE — no registration record exists. Verify with a registrar. A price marked with * is a minimum offer (a negotiation floor).
My Favorites
Domain
Status
Price
Market
Showing status, price, and market as of when you favorited each domain — availability and pricing can change since then.