Open-source project
bokub/vanity-eth avatar
bokub/vanity-eth

vanity-eth: an ETH vanity address generator that runs in a browser tab

đź’Ž Browser-based ETH vanity address generator

827 stars282 forksVueMIT

At a glance

What is it?
Vanity-ETH generates Ethereum addresses with a chosen prefix or suffix entirely in the browser, doing the key derivation and secp256k1 work locally, and never sending anything to a server. The limits are the ones the README names: browser speed varies a lot, and a long prefix takes longer than you want it to.
Who is it for?
Adopt vanity-eth if you want a vanity Ethereum address without installing a command line tool and without handing your private key to a website, and if the prefix length you need is short enough to find in a browser tab. Do not adopt it if you need a long prefix, since the README says browser-based tools have inherent limitations on performance and that dedicated command line tools offer better speed even though they are harder to use.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 23 days ago.
What is it written in?
Mainly Vue, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.

Editorial analysis

The whole search runs in your browser tab

Vanity-ETH is a browser-based ETH vanity address generator, and the README is direct about where the work happens. All computations occur solely within your browser, nothing ever leaves your machine or even your browser tab, there is no database and no server-side code, and everything vanishes when you close the tab. That is a genuinely different trust model from the usual vanity address service, where a server generates the key and hands you the result. Here the private key is created in the same process that displays it, and the server has no opportunity to see it. The security section backs this with a cryptographic claim rather than a policy statement. Addresses are generated with a cryptographically secure pseudorandom number generator, and the keystore file is encrypted with an AES-128-CTR cipher using PBKDF2-SHA256 derivation with 65536 hashing rounds. The way to verify that is not to take the word for it, and the README says so, offering three ways to check: disconnect from the internet after loading the page, download a build and run it on an offline computer, or read the open source on GitHub.

A prefix or a suffix, found by generating until one matches

The workflow is short. You visit vanity-eth.com, type a short prefix and/or suffix of your choice, and click Generate. Your browser then generates lots of random addresses until it finds one matching your input. A vanity address is simply an address in which you can choose a part of it to make it appear less random, and the README gives two examples with a repeated pattern in the leading hex digits. The search is brute force by nature. Each candidate requires deriving a public key from a fresh random private key and hashing it to get the address, then comparing the leading characters against your target. There is no shortcut around that work, which is why the length of the prefix is the dominant factor in how long you wait. The tool exposes a thread count control, and the README notes that adjusting the number of working threads can increase or decrease the speed depending on your computer's capabilities, which is the honest way to put it: more threads help until they saturate the machine.

The export formats are the compatibility story

Once a match is found you have two ways to take it. You can reveal the private key, or you can click Save to download a password-encrypted keystore file. That second option is the one most people should use, and it is interoperable. The README states that any address generated with Vanity-ETH is ERC-20 compatible, so it can be used for an ICO, an airdrop, or to withdraw funds from an exchange, and that the keystore file is 100% compatible with MyEtherWallet, MetaMask, Mist and geth. Four independent wallets agreeing on the file format means the artefact is not tied to this project. The dependencies explain how the pieces are assembled. secp256k1 and keccak do the elliptic curve and hashing work, crypto-js provides the cipher, downloadjs handles the file download, blockies renders the little identicon blocks that represent an address, and humanize-duration and bootstrap are presentation. A Vue 2 frontend with vue-cli-service and webpack ties it together, with worker-loader in the dev dependencies for the worker that does the search.

Building it yourself needs Node.js 16

A GitHub Action builds and deploys Vanity-ETH to GitHub pages automatically, but the README also documents a local build, and the requirement is worth noting because it is old. You will need Node.js 16:

sh
git clone https://github.com/bokub/vanity-eth
cd vanity-eth
npm i
npm run build

The scripts in package.json show what the build actually is. The build script runs vue-cli-service build through the node --openssl-legacy-provider flag, and the serve script does the same for the development server, which is the standard workaround for the OpenSSL 3 hash error in older webpack setups. A separate build:deploy script installs prerender-spa-plugin without saving it and sets DEPLOY=true before building, so the deployed site is pre-rendered for search engines. The test script is vue-cli-service lint with --nofix, which is worth being precise about: the test command is a lint run, not a unit test suite, so the repository has no automated behaviour tests that you would inherit. The formatting and hooks are set up properly regardless, with prettier using the author's shared @bokub/prettier-config, husky for git hooks and pretty-quick for staging formatting.

Performance varies by browser, and the README says so

The performance section is unusually candid. Vanity-ETH's performance may vary significantly across different browsers, and Chrome currently provides the best results. You can use it on a phone or tablet, but it is unlikely to match the speed of a traditional computer. The stated reason is structural rather than a bug: the tool is designed to be a user-friendly thing that runs directly in the browser, providing accessibility without the need to download or install additional software, but browser-based tools have inherent limitations that may affect their performance and efficiency, and some dedicated command-line tools are more difficult to use while offering better performance. The practical framing is that this is a convenience trade. If you want an address with a six hex character prefix and you are not in a hurry, the browser is the easiest path. If you want something longer, or you want to search overnight, you want a command line tool, and the README points at that trade-off rather than pretending it does not exist.

Clones are the main threat to this project

The README devotes a section to other browser-based tools and to a problem that is worth taking seriously. Because of its popularity and open-source nature, Vanity-ETH has been widely copied, leading to the existence of websites claiming to provide the same functionality, sometimes perfect clones hosted on very similar domains. Most of them do not credit the original code, are not open source, and may contain malicious code. The verification advice is concrete: search for Vanity-ETH on GitHub, find the repository with the most stars, which the README puts at more than 800, and click the link in the description. The domain also changed, from vanity-eth.tk to vanity-eth.com, and the README flags that, which means both an old domain and a proliferation of lookalikes are in circulation. For a tool whose entire pitch is that your private key never leaves your machine, a malicious clone is the one failure mode that undoes the whole argument, because the cloned page would be running the key generation on your machine while sending it somewhere else. The MIT licence and the public source are what make that check possible at all.

A Vue 2 codebase with an older toolchain

The technical shape of the repository is worth recording for anyone planning to extend it. The primary language is listed as Vue, and the framework version is Vue 2.6.11, with vue-template-compiler pinned to the same version. The build runs on the Vue CLI 4.5 toolchain with webpack behind it, alongside a separate webpack.config.js and vue.config.js at the root, an .eslintrc.js, a babel.config.js and a .browserslistrc. The library dependencies are modern in one respect and dated in another: crypto-js 3.3, secp256k1 5.0 and keccak 3.0.3 are current enough, while the Vue 2 line and the Vue CLI 4 tooling are the parts that will age badly. The dependency set also includes core-js 3.6.5, randombytes 2.1.0, downloadjs 1.4.7 and register-service-worker 1.7.1 for the PWA support, remodal for modals and humanize-duration for the time estimates. The package is marked private with version 1.0.0, so it is distributed as a hosted site rather than as a library, and the repository has no GitHub releases at all, with the last push on 2026-09-30.

Editorial conclusion

Adopt vanity-eth if you want a vanity Ethereum address without installing a command line tool and without handing your private key to a website, and if the prefix length you need is short enough to find in a browser tab. Do not adopt it if you need a long prefix, since the README says browser-based tools have inherent limitations on performance and that dedicated command line tools offer better speed even though they are harder to use. Before you commit, build it yourself with npm run build and read the source, and confirm you are on the vanity-eth.com domain rather than one of the many copies that do not credit the original code.

Frequently asked questions

What is vanity-eth?

It is a browser-based Ethereum vanity address generator, MIT licensed and published at vanity-eth.com. You type a prefix and/or suffix, the browser generates random addresses until one matches, and the result can be revealed as a private key or saved as a password-encrypted keystore file.

Does vanity-eth send my private key to a server?

The README states that all computations occur solely within your browser, nothing leaves your machine or browser tab, there is no database and no server-side code, and everything vanishes when you close the tab. It also states that Vanity-ETH cannot and will never store your private key.

Which wallets can import a vanity-eth keystore file?

The keystore file is described as 100% compatible with MyEtherWallet, MetaMask, Mist and geth. The file is encrypted with an AES-128-CTR cipher using PBKDF2-SHA256 derivation with 65536 hashing rounds.

How do I build vanity-eth from source?

Clone the repository, run npm i and then npm run build, with Node.js 16 required. A GitHub Action builds and deploys the site to GitHub pages automatically, and the build:deploy script uses prerender-spa-plugin with DEPLOY=true for the deployed version.

Official sources

  1. bokub/vanity-eth on GitHub
  2. Issues
  3. License: MIT
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/bokub-vanity-eth.svg)](https://hysenlabs.com/projects/bokub-vanity-eth)

Was this useful?