> For the complete documentation index, see [llms.txt](https://docs.j.tools/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.j.tools/tools/wallets/wallet-generator.md).

# Solana Wallet Generator: Bulk Keypairs

[Wallet Generator](https://j.tools/en/tools/wallet-generator) builds new Solana wallets in bulk, right in your browser. Each one comes with a public address, a private key in three formats, and a 24-word [recovery phrase](/getting-started/glossary.md). You decide how many you need, generate them locally, and export the whole set to CSV, XLSX, or JSON without anything ever leaving the page.

## What it is

Wallet Generator is a client-side keypair factory for Solana, 1 to 5000 wallets in a single run. Every wallet is a standard Solana account, so the keys work in Phantom, Solflare, the Solana CLI, and any library that speaks the same key formats.

Nothing is created on-chain. A generated wallet is just a key pair until you fund it. The tool hands you the keys and the export file, and from there the wallets are yours to manage.

## Why use this tool

Making wallets one at a time in a browser extension is slow and error prone once you need more than a handful. Here a set of 500 takes the same effort as a set of 5, and the keys arrive in every common shape at once (Base58, Base64, JSON byte array, plus the 24-word phrase), so nothing has to be converted by hand.

## How it works (under the hood)

Generation happens entirely in your browser. When you click generate, the page creates a 24-word BIP39 mnemonic and derives each Solana keypair from it using the standard derivation path `m/44'/501'/{index}'/0'`. None of this touches a server. There is no request that carries a key, no signing step, and no on-chain transaction, because a wallet does not exist on the chain until it receives its first lamport.

You choose between two modes. With a shared mnemonic off, the tool generates a brand new 24-word phrase for every single wallet, so each one is fully independent down to its own seed. With it on, one phrase is generated once and every wallet is derived from it, which means one backup phrase restores the whole set while each address still holds its own balance. The row index advances in both modes, so the third row sits at `m/44'/501'/2'/0'` whichever phrase backs it.

The export is built in the browser too. Whichever format you pick, the file is assembled on the page from the keys already in memory and downloaded directly. J Tools never sees the contents, which is why your exported file is the only complete copy that exists.

## When to use it

* You need a large set of Solana wallets for a test environment, a payout run, or a campaign setup.
* You want repeatable bulk creation with a clean export instead of making wallets one at a time.
* You need the keys in more than one format (Base58, Base64, or a JSON array) for import into Phantom or Solflare, or for scripting.
* You want a single recovery phrase to back up an entire set, which is what shared mnemonic mode is for.

Once you have the set, a payout run pairs well with [Multi Sender](/tools/wallets/multi-sender.md), and sweeping leftovers back later is what [Batch Collector](/tools/wallets/batch-collector.md) is for.

## Before you start

* No wallet connection is needed. The tool is fully client-side, so there is no SOL to spend and no transaction to sign.
* Have a safe place ready to store the exported file. The private keys and recovery phrases inside it are sensitive, and there is no way to recover them if the file is lost.
* Decide your mnemonic mode up front. Separate phrases give maximum isolation. A shared phrase gives one backup for the whole set. You cannot change the mode after a run, only generate again.

{% hint style="danger" %}
The export includes full private keys and 24-word recovery phrases in plain text. Treat the file like cash. Store it offline, never share it, and never paste a private key back into chat or any web form.
{% endhint %}

## Step by step

{% stepper %}
{% step %}

### Set the wallet count

Enter how many wallets you want, anywhere from 1 to 5000. The field defaults to 10. Large runs are processed in batches of 100 so the page stays responsive.
{% endstep %}

{% step %}

### Choose your mnemonic mode

Leave **Use Shared Mnemonic** off to give each wallet its own 24-word phrase. Turn it on to derive every wallet from a single phrase, each at its own index. Either way, every wallet is independent and holds its own balance.
{% endstep %}

{% step %}

### Generate

Click **Generate Wallets**. Keys are created locally in your browser from a 24-word BIP39 mnemonic and the standard Solana derivation path `m/44'/501'/{index}'/0'`. Nothing is sent to a server.
{% endstep %}

{% step %}

### Review the results

Check the Summary panel for Requested, Generated, and Failed counts. The preview terminal shows the first 150 rows. Use the per-row Copy Public, Copy Private, and Copy All buttons as needed.
{% endstep %}

{% step %}

### Export the full set

Download the complete batch as CSV, XLSX, or JSON. Files are named `wallet-generator-{timestamp}.{ext}` and built in the browser. The preview only shows the first 150 wallets, so the export is the only place the full set lives.
{% endstep %}
{% endstepper %}

[**Open Wallet Generator in the app →**](https://j.tools/en/tools/wallet-generator)

## The options, explained

* **Wallet Count:** how many wallets to generate, any whole number from 1 to 5000. It defaults to 10, and input is clamped to that range, so a value outside the limits is pulled back in.
* **Use Shared Mnemonic:** off by default, so each wallet gets its own fresh 24-word phrase. Turn it on and one phrase is generated once, then reused. Either way each wallet is derived at its own index on `m/44'/501'/{i}'/0'`, which is why the export carries a Derivation Path column. Derived wallets are still separate accounts, and each must hold its own SOL.
* **Export format (CSV / XLSX / JSON):** the file type for the full batch download. CSV and XLSX suit spreadsheets and manual review, while JSON suits scripts and bulk import. All three carry the same key material.

{% hint style="info" %}
Shared mnemonic mode is handy when you want one phrase to back up a whole set. It does not pool funds. Each derived address is a distinct wallet with its own balance.
{% endhint %}

What you get per wallet: the public address, the private key in Base58, Base64, and JSON-array form, the 24-word recovery phrase, and the derivation path. The export carries all of these, which is why the file holds everything needed to control the wallets.

## Fees and costs

{% hint style="warning" %}
**About fees.** Every action has two costs: the Solana **network fee** paid to validators, and the **J Tools platform fee**. The platform fee always shows in the app before you confirm, and nothing is charged until you sign. Fees can change over time, so trust the in-app summary rather than a number you saw once.
{% endhint %}

**This tool is free.** There is no platform fee. Wallet Generator runs locally in your browser and signs nothing, so you pay nothing to generate wallets.

| Cost                 | Amount                                 |
| -------------------- | -------------------------------------- |
| J Tools platform fee | Free (0 SOL)                           |
| On-chain cost        | None, it runs entirely in your browser |

There is also no network fee here. Generating a keypair is an offline operation, so no Solana transaction is sent and no gas is paid. Network fees only start once you fund or use the wallets in another tool, where a small amount of SOL covers transaction fees and any account rent.

## Security and custody

The keys are created on your device and never reach a J Tools server, so nobody here can recover them for you. Back the export up offline, on a USB drive or in an encrypted vault rather than an email draft or a cloud note. If that file is ever lost or exposed, treat every wallet in it as compromised and stop using those addresses.

## Common mistakes and troubleshooting

* **The count changed on its own.** The valid range is 1 to 5000. Values outside it are clamped, so check the field if the number changed on you.
* **The preview looks incomplete.** That is expected. The preview caps at 150 rows. The full batch is in the export file, not the on-screen list.
* **You closed the page before exporting.** The keys live only in the page while it is open. If you navigate away without downloading the export, the set is gone and must be generated again.
* **The browser slows on a big run.** Large batches generate in chunks of 100. Give it a moment and let the Summary panel finish counting.

For the full list, see the [Error codes reference](/reference/error-codes.md).

## Advanced tips

* Export to JSON when the next step is a script. The JSON-array private key drops straight into the Solana web3.js `Keypair.fromSecretKey` flow and bulk import routines.
* Importing into Phantom or Solflare? Bring in the Base58, Base64, or JSON-array private key and you land on exactly that row's address. Import the 24-word phrase instead and the wallet defaults to index 0, which is the right address only for the first row; for any other row, point the wallet at the index shown in the export's Derivation Path column.
* If you want a memorable address pattern instead of random output, generate a single key with the [Vanity Wallet Generator](/tools/wallets/vanity-wallet-generator.md) and use Wallet Generator for the rest of the set.

## Related tools

{% content-ref url="/pages/mWQIUBQRJfkUsesYGSHo" %}
[Vanity Wallet Generator](/tools/wallets/vanity-wallet-generator.md)
{% endcontent-ref %}

{% content-ref url="/pages/ABVX2mBQDoCv7DEdVmKp" %}
[Multi Sender and Airdrop](/tools/wallets/multi-sender.md)
{% endcontent-ref %}

{% content-ref url="/pages/7CPBHR61Y6akMdkeSBGW" %}
[Batch SOL and Token Collector](/tools/wallets/batch-collector.md)
{% endcontent-ref %}

{% content-ref url="/pages/eyvl1w0Ri5KEBHvrUAxz" %}
[Many-to-Many Transfers](/tools/wallets/many-to-many.md)
{% endcontent-ref %}

{% hint style="success" %}
**J Tools is non-custodial.** We never store or transmit your private keys and never ask for your seed phrase. Every transaction is signed in your own browser, and nothing about a key ever reaches our servers. A few multi-wallet tools do let you paste private keys for throwaway hot wallets, which stay in your browser tab and are used only to sign locally. Never paste a key tied to long-term holdings, and if a page ever asks for your seed phrase, stop and close it.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.j.tools/tools/wallets/wallet-generator.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
