Creating Personalized Crypto Addresses


One of the least appealing things in crypto are the long public addresses that you’ll have to use for your transactions. These addresses are calculated from your private key, and sometimes they seem like they’re not that random because they contain some kind of word in them. For example, the below addresses are all valid bitcoin public addresses, you can import their private keys to the wallet of your choice to check it (do not use them for storing assets, you’re going to lose them in a matter of seconds):

  1. 1CatCHyfDrEA5uqLPVXHgoypwEcqNWdaCN (private key is: L1SZnQj5CSZPVddwmTkHXGKzVvh6hh5ahffyVE2QoRxqaF2wMY1w)
  2. 1XBox9xdhjcY5y1gNJDafYofUbCmKeoFE (private key is: 5JKGHswxr7uvNHdr9estQvDUBZDdzM5bR9MgiGX19mJrBtdzfhD)
  3. 1NokiainQQVBt3GBHa1DVmis8ueBJ9GyV5 (private key is: 5KDTYSBgqLia1RoBEHYfZJ7autcoXxQo62obHGXP9Fy1Do4q9U1)

We’re going to see how you can create your own public addresses with some custom words in them which may be useful for various reasons or you just want to stand out from all of your crypto friends! For this purpose, we are going to use vanity address generators which can generate many private keys per second till they end up to the public address that contains the word that we want to use.


VanityGen PLUS! This tool can generate customized addresses for bitcoin and for many altcoins. The following article is based on this tool.
VanitySearch A faster vanity tool but it only supports bitcoin.

Ethereum has also a vanity address generator called profanity but since ETH addresses are in hexadecimal form (0-9 and A-F), it isn’t as much exciting as a customized bitcoin address.

Let’s go and create our first bitcoin vanity address. After downloading vanitygen plus!, extract the zip file inside an empty folder, right click to the empty folder while holding the shift button, and choose “Open command window here”.

After opening the command prompt, the first command you should run is vanitygen.exe -h which will give you a list with all available vanitygen commands.

By default, vanitygen creates bitcoin addresses. Bitcoin is using the Base58 format for addresses / keys which cannot include 4 very specific characters: Zero, Upper case o (O), Upper case i (I) and lowercase L (l). We are going to create our first customized bitcoin address with the name Clark in it which contains the forbidden lowercase L character, and so we type:

vanitygen.exe -i -a 2 -t 7 -o myvanityaddresses.txt 1Clark

The -i parameter tells to the program that you don’t care if the customized word will be case sensitive. This will make the program to ignore the lowercase L inside the Clark name and instead, look for an uppercase L version. If you don’t include the -i parameter, you’ll get an invalid character message. If your word doesn’t contain one of the 4 forbidden characters, you don’t have to include it. Zero cannot be included, no matter what.

The -a parameter defines the number of results that you want to get. If you don’t include a specific number, you’re going to get an infinite number of results unless you shut down the command prompt.

The -t parameter defines the number of CPU cores that we want to use, this is crucial since the discovery of a private key with the right public address is a demanding process and using most or all of our cores will help a lot. No matter the power of you CPU, don’t expect to find addresses with more than 7-8 specified letters in them.

The -o parameter defines the name of the file with the saved results, in our example a text file named myvanityaddresses.txt is going to be created with all of the address results in it.

Finally, the 1Clark, is the word that we want to include in our public address. 1 is the prefix for Bitcoin and we always have to include it.

Now let’s run it, it might take a while to find 2 results, both will be saved inside the myvanityaddresses.txt file. The below screenshot is from after finding 2 public addresses with 1CLARK in them.

We can also open the newly created txt file which contains our addresses in it.


Now let’s do the same for a supported altcoin. To see the list of supported altcoins, we have to run the command:

vanitygen.exe -C LIST

We’re going to create a vanity address for Litecoin. Each coin has an argument and a prefix that we will have to type, Litecoin argument is LTC and the prefix is the letter L. The rest of the commands are exactly the same. Let’s create the same vanity address (Clark) for the Litecoin.

vanitygen.exe -C LTC -i -a 2 -t 7 -o myvanityaddresses.txt LClark

We should include the -C command for altcoins, followed by the altcoins argument. We also replaced bitcoin prefix (1) with Litecoin prefix (L) before the Clark word. Let’s run it and…


Don’t forget that all of the generated addresses are inside the text file too, including the previous ones.

There is also a useful option to encrypt the private key by using the -e or -E parameters (the lowercase will ask for a password on the fly while the uppercase demands for a password beforehand). Let’s create a bitcoin vanity address using the word Dog and encrypt the private key.

vanitygen.exe -e -a 1 -t 7 -o myvanityaddresses.txt 1Dog

Notice that we didn’t include the -i parameter because the word Dog doesnt contain any of the Base58 prohibited characters. We could still include it but the result would be a combination of uppercase and lowercase letters, for example 1DoG or 1doG. Also notice that after we run the above command, we have to give a password for the encryption. You’ll also get an estimated cracking time based on the strength of your password.

Instead of getting a private key, we got a protected key. This is our encrypted private key. It’s also saved in the text file so no worries but we should never forget the password that we used for the encryption. Let’s decrypt it to see how it’s done. We should give the command keyconv -d Protkey, so:

keyconv -d PsRfEc1ox4omweBgtvDJkzUguYrfprZiRRCDkpcY6U699zpEo5NumaveVvzhM3iHaKdF

We’ll get asked for the encryption password. After successfully typing it, we will get the private key.

There are more commands to play with but these are probably the most important. Don’t forget to experiment a lot before you start generate addresses for everyday usage and before using a public address, import the corresponding private key to an offline wallet just to make sure that the generated keys are right.

Have fun!


Please enter your comment!
Please enter your name here