I once found a program that was capable of creating Bitcoin addresses with specific words in them, but can't find it now. Is there a trusted program, in the Ubuntu repositories for example, that can generate these 'vanity' addresses?

  • 2
    It's really not very clear what you're asking for. A hash function, such as SHA256 or MD5 takes a variable length input and returns a fixed length output. The output is completely determined by the input, so for a particular input you can't "beautify" its hash. Mar 10, 2012 at 7:11
  • 1
    @ChrisMoore: ....perhaps they are just hoaxes or scams? Well, I do not know. I found once sites that claimed that you can make "personal" bitcoin hashes. Perhaps, I have mixed out things here. Perhaps, it was about personal hash generation, it should be possible!? But you cannot beautify an already-done hash?
    – user893
    Mar 10, 2012 at 7:12
  • 1
    You must mean Vanity Addresses, right? Still, I'm not sure what question you are asking.
    – ripper234
    Mar 10, 2012 at 8:32
  • 1
    OK, that makes sense. Vanitygen generates random Bitcoin addresses over and over until it finds one that contains the word you're looking for. I once wrote a program to do the same kind of thing, and to keep all addresses that started with dictionary words. It found things like 1EditEDiK4CKWsr3xKDjRChKu6XFMvVrpC but took a long time to run. Mar 10, 2012 at 20:21
  • I found this while googling. It lets you select the prefix of your git commit hash when submitting a change: github.com/vog/beautify_git_hash/blob/master/… Seems people all over want 'beautiful' hashes... Mar 10, 2012 at 20:47

9 Answers 9


I guess you mean Vanitygen: https://bitcointalk.org/index.php?topic=25804.0

From that page:

Vanitygen is a command-line vanity bitcoin address generator.

Vanitygen accepts as input a pattern, or list of patterns to search for, and produces a list of addresses and private keys. Vanitygen's search is probabilistic, and the amount of time required to find a given pattern depends on how complex the pattern is, the speed of your computer, and whether you get lucky.


!WARNING! The vanity address site below was hacked in December, 2013, but the site owner only recently posted an update admitting the hack: https://bitcointalk.org/index.php?topic=118968.0

More than 4 Bitcoins total have been stolen to date, as you can see from Blockchain records (note the number of vanity addresses dumping coins, and you'll see that probability alone is proof, supported by all of the users who lost their BTC): https://blockchain.info/tx/9e95fd443621d3d9fc150f290144401feb1627573c9161beb08edb472069a819

The site owner has taken down the site, but for how long is up in the air. As Stack Exchange keeps long archives, I wanted to make sure this warning stuck here for all to see, but did not want to edit the original response.

You can also use https://bitcoinvanity.appspot.com All done for you on their website and nothing to install. Is secure as they never know the private key - see help on site for how this is possible!

  • 7
    I don't recommend using an online website to generate private keys. Sure, the current code could do everything client side, but they (or their hosting provider, or your ISP, ...) could easily change that at some point in the future. You could save the site locally, and use that, if you trust the code, though. Oct 20, 2012 at 16:37
  • 3
    Hello nibor and welcome to the StackExchange. I assume you are the owner of that website. In that case, please edit your answer to indicate that you are affiliated with that website as per SE's FAQ - bitcoin.stackexchange.com/faq#promotion .
    – ThePiachu
    Oct 21, 2012 at 9:42
  • I don't recommend this method.
    – Scott
    Sep 15, 2013 at 2:33
  • Currently the site does what it says. You can see the javascript source in there (key = new Bitcoin.ECKey(false)), and verify the private key never was transmitted afterward (form action). But yes, it could be hacked/changed later. Nov 25, 2013 at 8:13
  • This does not even attempt to answer the question in any way… in fact, this (let’s just call it “comment”) is totally unrelated and merely expresses a (personal?) opinion about a (dead and gone) website. #Flagged it accordingly.
    – e-sushi
    Nov 24, 2014 at 10:48

You can generate a vanity address using various generators, such as Vanitygen for example. This option assumes you have a computer with decent GPU, as creating a long vanity address requires a lot of computation.

If you don't have a particularly good piece of hardware and would still like to own a lengthy address, recently split-key vanity address mining became a bit popular. You can use online websites, such as my Vanity Pool, to request a vanity address to be mined for you for a fee. If you want to understand how this option is possible and risk-free, you can find the discussion of this problem on the Vanity Pool Bitcoin Talk topic.


You can use something like VANITYGEN.

Vanitygen is a command-line vanity bitcoin address generator.

If you're tired of the random, cryptic addresses generated by regular bitcoin clients, you can use vanitygen to create a more personalized address. Add unique flair when you tell people to send bitcoins to 1stDownqyMHHqnDPRSfiZ5GXJ8Gk9dbjO. Alternatively, vanitygen can be used to generate random addresses offline.

Vanitygen accepts as input a pattern, or list of patterns to search for, and produces a list of addresses and private keys. Vanitygen's search is probabilistic, and the amount of time required to find a given pattern depends on how complex the pattern is, the speed of your computer, and whether you get lucky.

The example below illustrates a session of vanitygen. It is typical, and takes about 10 sec to finish, using a Core 2 Duo E6600 CPU on x86-64 Linux:

$ ./vanitygen 1Boat Difficulty: 4476342 Pattern: 1Boat
Address: 1BoatSLRHtKNngkdXEeobR76b53LETtpyT Privkey: 5J4XJRyLVgzbXEgh8VNi4qovLzxRftzMd8a18KkdXv4EqAwX3tS Vanitygen includes components to perform address searching on your CPU (vanitygen) and your OpenCL-compatible GPU (oclvanitygen). Both can be built from source, and both are included in the Windows binary package. Also included is oclvanityminer, the vanity address mining client. Oclvanityminer can be used to automatically claim bounties on sites such as ThePiachu's Vanity Pool.

Current version: 0.22

Windows x86+x64 binaries here. PGP signature here.

Get the source from GitHub. Includes Makefiles for Linux and Mac OS X.

Main discussion at BitCoinTalk

The latest source doesn't work properly for high-end AMD cards (7XXX and greater). Solution is to change line 459 in oclengine.c from: return quirks; to: return quirks & ~VG_OCL_AMD_BFI_INT; Windows x86+x64 binaries that solve this problem plus provide support for compressed keys here. PGP signature here. If you have any problems with the binaries, join the relevant BitCoinTalk discussion.

Proper syntax for VanityGen is:

Usage: vanitygen [-vqrikNT] [-t <threads>] [-f <filename>|-] [<pattern>...]
Generates a bitcoin receiving address matching <pattern>, and outputs the
address and associated private key.  The private key may be stored in a safe
location or imported into a bitcoin client to spend any balance received on
the address.
By default, <pattern> is interpreted as an exact prefix.

-v            Verbose output
-q            Quiet output
-r            Use regular expression match instead of prefix
              (Feasibility of expression is not checked)
-i            Case-insensitive prefix search
-k            Keep pattern and continue search after finding a match
-N            Generate namecoin address
-T            Generate bitcoin testnet address
-X <version>  Generate address with the given version
-t <threads>  Set number of worker threads (Default: number of CPUs)
-f <file>     File containing list of patterns, one per line
              (Use "-" as the file name for stdin)
-o <file>     Write pattern matches to <file>
-s <file>     Seed random number generator from <file>

The important options to know are -i and -r which cause the search to be case-insensitive and use regex, repsectively. In its simplest format, you issue a command like:

vanitygen.exe 1david

Which tells vanity gen to look for an address with the exact prefix "1david." On a single core of my core i5 this runs at about 325,000 keys per second as shown by the status display (which does show a time estimation.):

[324.43 Kkey/s][total 15166208][Prob 0.1%][50% in 9.1h]

Using the -i option drastically decreases generation time. vanitygen.exe -i 1david produced the following results in just a few seconds:

Difficulty: 36384905
Pattern: 1david
Address: 1DAVid3iW7XhDBzdoj8FbnaSaqWCjeTgUP
Privkey: 5JvtXtpUbwbNNqRoQjF3w2nyXHhphJk6LX1pWkPYEkBr4nnnBeL

The -r option allows the specification of a regex value instead of the default pattern option. If, for example, I demanded that my address contain all lowercase letters but I don't care if the "D" in "David" is uppercase or not, I could use vanitygen.exe -r 1[Dd]avid. One downside to specifying a regex prefix is that you will not be given any estimated time or probability data since such calculations are not as trivial as matching a simple prefix.

The more specific your matching criteria (and the longer the pattern) the longer it will take to generate your address(es). This can be sped up considerably if you have an ATI/AMD video card since there is also an OpenCL version of VanityGen which can try millions of keys per second on a decent GPU.

  • I've had a lot of trouble with vanitygen compiling from source on OS X El Capitan. The openSSL libraries aren't linked properly even after Xcode is installed. You can fix this by running brew install openssl then running brew link openssl --force but you're still going to have errors. Using brew, run the following commands: brew tap WyseNynja/bitcoin and then brew install vanitygen This will get it up and running on OS X with brew for you. May 3, 2016 at 2:57

If you want to create an impressive vanity address, it might be easier to outsource it. https://vante.me is a service that calculates Bitcoin Vanity Addresses. As they use split-key address generation, you are sure that you are the only owner of the private key. More info here: https://www.reddit.com/r/Bitcoin/comments/4iaifs/vanteme_a_secure_and_convenient_service_for/


A more current answer (the question was originally asked in 2012 and it says it was bumped again by Community today despite having an accepted answer) is to use vanitygen-plus. This distribution is freely available on GitHub here and is still currently maintained with support (even for building) available in the issue tracker.

Note that for a partially pre-determined address there are far fewer possible addresses.

NEVER send coins to pre-existing addresses published with their private keys even if you load them in your wallet, there are people with scripts running only waiting for that to happen to snavel the Bitcoins.


You can also use VanitySearch which is 2x faster than VanityGen (GPU kernel written in CUDA to take advantages of inline PTX Assembly). VanitySearch is also fully open source and released under GPL v3.

  • I suggest people do not download utterly random software links, they're very likely coin stealing malware.
    – Claris
    Feb 27, 2019 at 12:24
  • VanitySearch is open source and the link refer to github, You can read the source code and compile by yourself if you want. The only way to generate safe address is to use this kind of software. Feb 28, 2019 at 14:39

The democratization of GPU technology has allowed more elaborate vanity addresses to be created in a way that was unthinkable a few years ago.

Bitcoin Vanity Address uses Vanity Search (mentioned above) to generate a personalized prefix of up to seven characters case sensitive.


The problem is if someone else manages to generate the same vanity address with the same private key, then that person will have access to your bitcoins.

So I personally prefer giving out the "ugly" addresses as it would be unlikely someone else will have the private key to that one.

  • 4
    It's very unlikely that any randomly generated addresses will ever be the same. And you don't need to have the same private key as someone else to spend their coins. All you need is that your public key has the same RIPEMD-160 hash as theirs. That's a 1-in-2^160 chance, or about 1-in-1.5*10^48. Mar 20, 2012 at 2:38
  • I'd like to second Chris's comment. The chance of someone getting the same address as you is 0 for all intents and purposes. Mar 20, 2012 at 11:05
  • 3
    All the vanity generator does is generate a lot of addresses randomly looking for one that matches a pattern. The "ugly" addresses are no more random than vanity addresses. They both have equally insignificant chance of matching someone else's keys.
    – Erv Walter
    Mar 20, 2012 at 23:21
  • 1
    I think the point the OP was trying to make is that you are effectively reducing the amount of entropy in they key when you generate vanity addresses. The take-home from the comments is that you aren't reducing it by an amount that (currently) matters. Apr 24, 2012 at 5:25
  • @DavidPerry you aren't reducing the entropy at all. Not even 0%. Vanitygen tries random keys and throws away the ones which don't match your pattern. It has no less entropy than simply trying a single random key and using that one. The private key is still a random 256bit number in both cases. Nov 6, 2012 at 3:00