# Bitcoin Vanity Address Patterns: Prefix, Suffix and Base58

Source: https://www.btcvanity.io/blog/bitcoin-vanity-address-format

Published: 2026-11-06

Updated: 2026-11-12

![The P2PKH address envelope. Version: Mainnet P2PKH uses a leading version byte; Payload: A hash derived from the public key; Encoding: Base58Check adds an error-detection checksum.](https://www.btcvanity.io/images/blog/bitcoin-vanity-address-format-diagram-v2.webp)

The P2PKH address envelope. Version: Mainnet P2PKH uses a leading version byte; Payload: A hash derived from the public key; Encoding: Base58Check adds an error-detection checksum.

[Full-size diagram (SVG)](https://www.btcvanity.io/images/blog/bitcoin-vanity-address-format-diagram-v2.svg)

[Diagram download (PNG)](https://www.btcvanity.io/images/blog/bitcoin-vanity-address-format-diagram-v2.png)

A Bitcoin vanity address generator searches keypairs until the encoded address matches your pattern. BTCVanity produces mainnet P2PKH addresses beginning with 1. Enter a short Base58 prefix or suffix; the full result, not the pattern, is the receiving address.

## What the characters mean

BTCVanity searches legacy mainnet addresses whose first character is 1. The visible pattern is selected by trying keys; it is not a label appended to an existing wallet. A checksum is encoded into the result to catch many transcription errors. It does not identify the recipient.

The accepted alphabet is 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz. Zero, uppercase O, uppercase I and lowercase l are absent. A word containing those characters must be changed before searching.


## Prefix, suffix and the fixed marker

For a prefix, the worker adds the required 1 when your input does not already begin with it. A suffix is matched at the end of the full encoded address. Use one mode at a time; this interface accepts at most eight input characters.

Case-insensitive matching changes which candidates are accepted. It does not permit changing the capitalization of the address after generation. Copy the returned string exactly.


## Choose a format before searching

If your requirement is a bc1 address, this generator is not the right format. Read [the P2PKH, SegWit and Taproot comparison](https://www.btcvanity.io/blog/bitcoin-p2pkh-vs-segwit-taproot) before selecting a pattern.

A successful result includes a WIF private key. The [wallet import guide](https://www.btcvanity.io/blog/import-bitcoin-vanity-wif-wallet) explains why a receiving address and its key must be handled separately.


## Worked prefix and suffix examples

The entries below are search inputs, not addresses you can receive payments with. In prefix mode, this worker supplies the leading 1 if it is absent; suffix mode checks the end of the complete address.


| Input and mode | Requested match | What to check |
| --- | --- | --- |
| BTC, prefix | 1BTC… with exact case enabled | The 1 is the mainnet P2PKH marker; BTC is the chosen fragment. |
| 1BTC, prefix | 1BTC… with exact case enabled | Do not add a second 1 unless that second character is intentional. |
| 777, suffix | …777 | Digits have no upper/lower-case alternatives. |
| moon, prefix | 1moon… with exact case enabled | Uppercase O is unavailable, while lowercase o is allowed. |
| COOL, either mode | Invalid input | Uppercase O is absent from Base58; choose another spelling. |


## What case-insensitive matching really changes

For a valid input such as BTC, a case-insensitive search accepts the available uppercase and lowercase versions of those letters. A numeric suffix such as 777 receives no benefit from this option. Some Base58 letters have only one allowed case, so a single reduced alphabet size is not an exact model for every pattern.

Once found, preserve the address exactly as returned. Changing a letter afterward creates a different string and can break the checksum. Read the [difficulty guide](https://www.btcvanity.io/blog/bitcoin-vanity-address-difficulty) before extending a pattern.


## Move from a fragment to a complete address

Use the [Bitcoin vanity address generator](https://www.btcvanity.io/) after checking the format and alphabet. Choose one mode, start with a short fragment and keep an easier alternative. After a match, follow the [WIF import checklist](https://www.btcvanity.io/blog/import-bitcoin-vanity-wif-wallet) to compare the complete wallet-derived address.


## Explore the related mechanism

- [Bitcoin P2PKH, SegWit and Taproot Addresses](https://www.btcvanity.io/blog/bitcoin-p2pkh-vs-segwit-taproot) — The current worker generates legacy P2PKH addresses. It does not generate bc1 SegWit or Taproot addresses.
- [How Bitcoin P2PKH Addresses Are Derived](https://www.btcvanity.io/blog/how-bitcoin-addresses-are-derived) — A Bitcoin P2PKH address is derived from a secp256k1 public key, a public-key hash, a mainnet version byte and a Base58Check encoding.
- [Open the complete workflow guide](https://www.btcvanity.io/guide) to place these checks in order.
- [Open the address generator](https://www.btcvanity.io/) when you have chosen a compatible format and pattern.

## Frequently asked questions

### Should I type the leading 1 in a Bitcoin vanity prefix?

This worker accepts a prefix with or without its initial 1 and supplies the marker when it is absent. An additional 1 after the marker is part of your requested pattern.

### Can I use the same pattern to generate a bc1 address?

Not with this service. Its output is legacy P2PKH. Native SegWit and Taproot need their own address encoding and a generator supporting the intended format.

## Sources

- [Bitcoin developer transactions guide](https://developer.bitcoin.org/devguide/transactions.html)



Editorial method: https://www.btcvanity.io/about#publication-method
