Home · Guides / 2

Guide 2 of 5

How to create a .onion address

v2 names were 16 characters. v3 names are 56 characters. A generator can give you a more readable prefix; it is optional. Tor already creates a usable hostname when you enable the hidden service.

VersionExample
v2 (retired) yyhws9optuwiwsns.onion
v3 hello23twa7k536qggxfeqm4orwohwlca3ln6f43b4splcym57msaxid.onion

Specification background: v3 onion services replaced the older v2 design.

You can skip this guide Generating a vanity name is not required. Use the default hostname from /var/lib/tor/hidden_service/hostname if you do not need a custom prefix.

Linux VM for mkp224o

mkp224o builds vanity ed25519 onion addresses. At the time these notes were written, that workflow was Linux-only.

  1. Install Hyper-V on Windows 10 (free).

    Enable Hyper-V on Windows

  2. Download an Ubuntu desktop ISO. The original guide used 19.10; use a current LTS ISO instead.

    Ubuntu desktop downloads

  3. Install Ubuntu in Hyper-V.

    Run Linux in Hyper-V on Windows 10

Build mkp224o

  1. Download mkp224o from GitHub.

    mkp224o master.zip

  2. Extract the archive in Ubuntu (GUI or terminal).

    unzip mkp224o-master.zip
  3. Generate the configure script.

    ./autogen.sh
  4. Configure before compiling.

    ./configure --enable-amd64-51-30k --enable-intfilter --enable-binsearch --enable-besort
  5. Build the binary.

    make

Generate addresses

A useful prefix can take hours or weeks. Each match is stored as a folder named after the .onion address, with the public and private keys inside. The keys are binary; do not expect to open them in a text editor.

./mkp224o <beginning text> -B -S 5 -j 16 -d keys
  • -B Batch: generate many candidates
  • -S Print statistics every N seconds (here, 5)
  • -j CPU threads
  • -d Directory for generated keys

Example:

./mkp224o website -B -S 5 -j 16 -d websitekeys
Ubuntu terminal running mkp224o and printing generation statistics
mkp224o reporting hashrate while searching for a “website” prefix.