Tools to Generate Vanity V3 Tor Onion Addresses
Generating custom or “vanity” V3 Tor onion addresses allows website
operators to create recognizable .onion domain prefixes
instead of purely random strings. While Version 3 onion services use
robust 56-character Ed25519 public keys that make long-string
customization cryptographically impossible, specialized open-source
brute-force tools make it feasible to generate short custom prefixes
using modern CPU and GPU hardware.
How V3 Onion Address Generation Works
A Tor V3 address is derived from a 32-byte Ed25519 public key encoded
in Base32 (the characters a-z and 2-7),
followed by a checksum and version byte, ending in
.onion.
Because the address is mathematically bound to a private cryptographic key, you cannot simply choose a custom name. Instead, vanity address generation works through brute force: a tool continuously creates random private/public keypairs at high speed until it discovers an address starting with the specific characters you request.
Popular Tools for Generating V3 Vanity Addresses
Several dedicated, open-source tools are designed to efficiently search for V3 onion addresses:
1. mkp224o
mkp224o is the standard and most widely used tool for V3 vanity address generation. * Architecture: Written in C for maximum efficiency. * Hardware Acceleration: Highly optimized for modern CPUs utilizing SIMD instructions (SSE2, AVX2, AVX-512, and ARM NEON). * Key Feature: It includes batch processing, regex filtering, and multi-threading across all available CPU cores.
2. oniongen-go
oniongen-go is a lightweight, cross-platform
generator written in Go. * Architecture: Built using
native Go concurrency (goroutines). * Key Feature: Easy
to compile and run across different operating systems without complex
dependency setups, though it generally achieves lower hash rates than
SIMD-optimized C implementations like mkp224o.
Time and Computational Feasibility
Because Base32 contains 32 possible characters, each additional vanity character increases the search difficulty exponentially by a factor of 32 (\(32^n\)).
- 1–4 Characters (e.g.,
wiki...): Instant to a few seconds on a standard multi-core CPU. - 5 Characters (e.g.,
forum...): A few seconds to several minutes depending on hardware. - 6 Characters (e.g.,
market...): A few hours to several days on high-performance consumer hardware. - 7 Characters (e.g.,
service...): Several weeks to months on a multi-core setup; feasible with high-end server clusters. - 8+ Characters: Computationally impractical for standard hardware, often requiring specialized mining rigs or extensive cloud clusters.
Critical Security Considerations
- Generate Locally: Never use online or third-party generation services. Anyone generating the keys on their machine possesses the private key and can hijack or impersonate your hidden service.
- Compile from Source: Build generation tools directly from verified, open-source repositories on an isolated or trusted machine.
- Secure the Output: Once a matching key is found,
the generation tool outputs the public address, the secret key, and the
public key file. Move the
hs_ed25519_secret_keydirectly to your Tor hidden service directory with strict file permissions (chmod 600orchmod 700).