I wonder how the .onion domain names can be created? I mean, I don't assume that there is any central domain name provider. So how and where are those addresses created?


1 Answer 1


The creation of the hostname is described in rend-spec, the Tor Rendezvous Specification.

You are 100% correct: There is no central domain name provider on the Tor network. There is no central anything provider on the Tor network.

How it works:

Tor generates two keys for every service on the Tor network. Tor generates a private "secret" key, and a public "address" key. These work a little like the email-password(sort of like the private key) and email-address(sort of like the public key) combination we're familiar with.

The .onion public "address" domain name is built from the shorter, public key of the service.

First the public "address" key gets hashed with SHA-1.

The first 80 bits of the output are encoded with Base32 (see RFC 4648 for a description).

The result is the hostname of your hidden service.

The Tor software handles this generation for servers.

Further Reading / Try it out

For a more custom "vanity" .onion address generator, some have maintained services like those mentioned here: How do Hidden Services get .onion domains that aren't random?

Shallot is an example of a custom "vanity" address generator.

  • I suppose you mean Base32 or Base64?
    – DrLecter
    Commented Jan 18, 2014 at 15:03
  • Thx, I corrected my typo.
    – Jens Kubieziel
    Commented Jan 18, 2014 at 16:10
  • // , Can these be revoked? I didn't see much in the Tor Rendezvous Specification about revocation. Anyway, Jens, you seem to have a handle on the terminology. Care to take a crack at answering this? tor.stackexchange.com/questions/6965/… Commented Jun 8, 2015 at 7:16

Not the answer you're looking for? Browse other questions tagged .