Home » guide » How to create a .onion address

How to create a .onion address

.onion addresses are no longer short (v2) 16 generated characters but are now using 56 characters under version 3.
Old .onion address – yyhws9optuwiwsns.onion
New .onion address – hello23twa7k536qggxfeqm4orwohwlca3ln6f43b4splcym57msaxid.onion

You can use a generator to make a more legible .onion address using the below method, but at this stage the method is only supported under linux.
Note: Generating your own name isnt REQUIRED, as you can use the default generated when setting up the tor service.

Create a Linux Virtual Machine to Generate a vanity address generator for a ed25519 onion services.

  1. Install Hyper-V (free) on your Windows 10 machine -> https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v
  2. Download Ubuntu Desktop -> http://releases.ubuntu.com/19.10/ubuntu-19.10-desktop-amd64.iso
  3. Install Ubuntu on the Hyper-V -> https://www.windowscentral.com/how-run-linux-distros-windows-10-using-hyper-v

Using mkp224o to generate the .onion address

  1. Download mkp224o from Github -> https://github.com/cathugger/mkp224o/archive/master.zip
  2. through GUI or Terminal, extract the .zip to the Ubuntu installation.
    > unzip mkp224o-master.zip
  3. Generate the configure script
    > ./autogen.sh
  4. configure the make script before compiling
    >./configure –enable-amd64-51-30k –enable-intfilter –enable-binsearch –enable-besort
  5. build the binary to generate the .onion addresses
    > make

Be aware to generate a bunch of addresses, can take hours or weeks, use the below code and when generating will create a folder of the .onion address, which will include the private and public key for use
note the keys are in binary form and cannot be read in a text editor

> ./mkp224o <beginning text> -B -S 5 -j 16 -d keys
-B = use batching (generate a large number or sets)
-S = print statistics every # of seconds… in this case, every 5 seconds
-j = number of threads to use in the CPU
-d = directory to store the generated keys

e.g
> ./mkp224o website -B -S 5 -j 16 -d websitekeys