Skip to content

brandonyoungdev/tldx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

tldx logo

tldx

GitHub release (latest by date) Tests GitHub Go Report Card

tldx helps you brainstorm available domain names fast.

tldx openai -p get,use -s ly,hub -t com,io,ai --only-available
βœ”οΈ getopenaily.com is available
βœ”οΈ useopenaihub.io is available
  ...

tldx demo

πŸ“š Table of Contents

⚑ Features

  • πŸ” Smart keyword-based domain permutations (prefixes, suffixes, TLDs)
  • 🎯 Regex pattern support for generating domain combinations (e.g., all 3-letter domains)
  • πŸš€ Fast and concurrent availability checks with RDAP
  • πŸ“€ Streams results as they're found
  • πŸ“¦ Supports multiple output formats (text, json, json-stream, json-array, csv, grouped, grouped-tld)
  • πŸ”§ Supports TLD presets to quickly select groups of common or curated TLD sets
  • πŸ“ Optional filtering by domain length
  • 🧠 Great for technical founders, indie hackers, and naming brainstorms

πŸ› οΈ Usage

Usage:
  tldx [keywords] [flags]
  tldx [command]

Available Commands:
  completion       Generate the autocompletion script for the specified shell
  help             Help about any command
  show-tld-presets Show available TLD presets

Flags:
  -f, --format string           Format of output (text, json, json-stream, json-array, csv, grouped, grouped-tld) (default "text")
  -h, --help                    help for tldx
  -m, --max-domain-length int   Maximum length of domain name (default 64)
      --no-color                Disable colored output
  -a, --only-available          Show only available domains
  -p, --prefixes strings        Prefixes to add (e.g. get,my,use)
  -r, --regex                   Enable regex pattern matching for domain keywords
      --show-stats              Show statistics at the end of execution
  -s, --suffixes strings        Suffixes to add (e.g. ify,ly)
      --tld-preset string       Use a tld preset (e.g. popular, tech)
  -t, --tlds strings            TLDs to check (e.g. com,io,ai)
  -v, --verbose                 Show verbose output
      --version                 version for tldx

πŸ”— Examples

Domain Availability

$ tldx google
❌ google.com is not available
$ tldx google youtube reddit
  ❌ reddit.com is not available
  ❌ google.com is not available
  ❌ youtube.com is not available

Regex Domain Selection

Use regex patterns with the --regex flag to generate domain combinations based on patterns:

# Check all 3-letter .com domains
$ tldx '[a-z]{3}' --regex --tlds com --only-available
  βœ”οΈ  aaa.com is available
  βœ”οΈ  aab.com is available
  βœ”οΈ  xyz.com is available
  ...
# Check all 2-letter domains with specific TLDs
$ tldx '[a-z]{2}' --regex --tlds io,ai --only-available
  βœ”οΈ  qa.io is available
  βœ”οΈ  zx.ai is available
  ...
# Combine patterns with prefixes
$ tldx '[a-z]{2}' --regex --prefixes my,get --tlds app --only-available
  βœ”οΈ  myaa.app is available
  βœ”οΈ  getab.app is available
  ...
# Check domains starting with 'app'
$ tldx 'app[a-z]{2}' --regex --tlds dev,io --only-available
  βœ”οΈ  appxy.dev is available
  βœ”οΈ  appqz.io is available
  ...

Note: Regex patterns are validated for safety. Patterns generating more than 500,000 combinations will be skipped.

Presets

You can use presets for tlds. For example:

$ tldx google --tld-preset popular
  ❌ google.com is not available
  ❌ google.co is not available
  ❌ google.io is not available
  ❌ google.net is not available
  ...
$ tldx google --tld-preset geo
  ❌ google.au is not available
  ❌ google.de is not available
  ❌ google.us is not available
  ❌ google.eu is not available
  ...

You can see all of the available presets:

$ tldx show-tld-presets

TLD Presets:

all                     (use all available TLDs)

cheap                   pw fun icu top xyz blog info shop site click
                        space store online website

popular                 ai me app com dev net org

tech                    io ai gg app dev tech codes tools cloud games
                        software digital network security systems
                        data technology
...

Permutations

This permutates the keywords with the specified prefixes, suffixes, and TLDs, checking for availability:

$ tldx google --prefixes get,my --suffixes ly,hub --tlds com,io,ai
  βœ”οΈ  mygooglely.com is available
  βœ”οΈ  getgooglely.ai is available
  ❌  mygoogle.ai is not available
  ...

Brace Expansion (macOS, Linux)

Brace expansion is a built-in feature of most Unix shells (e.g., bash, zsh). You can use it like this:

tldx {get,use}{tldx,domains} {star,fork}ongithub
  βœ”οΈ gettldx.com is available
  βœ”οΈ starongithub.com is available
  βœ”οΈ forkongithub.com is available
  ❌ getdomains.com is not available
  βœ”οΈ usetldx.com is available
  ❌ usedomains.com is not available

Show Only Available Domains

$ tldx google reddit facebook -p get,my -s ly,hub -t com,io,ai --only-available
  βœ”οΈ  getgooglely.ai is available
  βœ”οΈ  getreddithub.com is available
  βœ”οΈ  getreddit.ai is available
  βœ”οΈ  googlely.ai is available
  βœ”οΈ  getredditly.com is available
  βœ”οΈ  facebookly.io is available
  ...

Output Formats

By default, output is human-readable (text). You can change it with the --format or -f flag:

JSON Array

$ tldx openai -p use -s ly -t io --format json
[
  {
    "domain": "openaily.io",
    "available": true
  },
  {
    "domain": "openai.io",
    "available": false
  },
  ...
]

JSON Stream

$ tldx openai -p use -s ly -t io --format json-stream
{"domain":"useopenaily.io","available":true}
{"domain":"openai.io","available":false}
...

CSV

$ tldx openai -p use -s ly -t io --format csv
domain,available,error
openaily.io,true,
openai.io,false,
...

Grouped by Keyword

Group and sort domains by their base keyword:

$ tldx openai google -p get,use -t com,io --format grouped

  google
  getgoogle.com
  getgoogle.io
  google.com
  google.io
  usegoogle.com
  usegoogle.io

  openai
  getopenai.com
  getopenai.io
  openai.com
  openai.io
  useopenai.com
  useopenai.io

Grouped by TLD

Group and sort domains by their top-level domain:

$ tldx openai google -p get,use -t com,io --format grouped-tld

  .com
  getgoogle.com
  getopenai.com
  google.com
  openai.com
  usegoogle.com
  useopenai.com

  .io
  getgoogle.io
  getopenai.io
  google.io
  openai.io
  usegoogle.io
  useopenai.io

πŸ“¦ Installation

macOS (Homebrew)

brew install tldx

or

brew tap brandonyoungdev/tldx
brew install tldx

Windows (winget)

winget install --id=brandonyoungdev.tldx  -e

Arch Linux (AUR)

Two options are available for Arch Linux users:

  • tldx - Build the package from source.
  • tldx-bin - Build the package from releases.

Linux and Windows (Manual)

Visit the Releases page.

Download the archive for your OS and architecture:

  • macOS / Linux: tldx_<version>_<os>_<arch>.tar.gz

  • Windows: tldx_<version>_windows_<arch>.zip

Extract the binary and move it to a directory in your $PATH:

# Example for Linux/macOS
tar -xzf tldx_<version>_<os>_<arch>.tar.gz
mv tldx /usr/local/bin/

Go (Install from Source)

go install github.com/brandonyoungdev/tldx@latest