# Turn a Solana private key into the form you need

> Paste a key as base58, a byte array or hex. See the wallet it opens, then copy it in the other form. Nothing leaves this page.

Page: https://ravenwallet.pro/tools/solana-private-key-converter
Updated: 2026-11-03

## What each form is

A Solana private key is 64 bytes: the 32-byte secret seed, then the wallet's 32-byte public key. The same 64 bytes get written down three ways.

| Form | Looks like | Where you see it |
| --- | --- | --- |
| Base58 | 87 or 88 letters and numbers | Phantom, Solflare and Backpack, when you export or import a key |
| Byte array | `[174,47,154,...]`, 64 numbers from 0 to 255 | Keypair files from the Solana command line (`id.json`) and most code |
| Hex | 128 characters, 0 to 9 and a to f | Some scripts and libraries |

A **32-number array** is just the seed. It still opens a wallet, because the public half can be worked out from it, and this tool does that.

The tool also checks the key: the second half of a 64-byte key must be the public key the first half makes. If it is not, the key was copied wrong or is not a Solana key, and the tool says so instead of giving you something that will not work.

## Why this is safe to use

The key is read in this page by your browser's own Web Crypto. Nothing is sent: no key, no address, nothing about what you pasted. The page works with the internet switched off, so you can load it, go offline, and paste. Nothing is kept either; leave the page and the key is gone from it.

Two rules still apply to any key, on any site:

- **Anyone with the private key controls the wallet.** Only paste a key on a page you trust, and close the tab when you are done.
- **A real wallet never asks you for a key out of the blue.** Pages that do are how most wallets get drained. See [how Solana wallet drainers work](/blog/solana-wallet-drainers).

## "Invalid private key format"

Wallet apps and trading bots say this when the text is not the form they read. The usual causes:

1. **A byte array where base58 is wanted.** Phantom and most apps only take base58. Paste the array here and copy the base58.
2. **An EVM key.** 64 hex characters, often starting with `0x`, is an Ethereum, Base or BNB key. It is a different kind of key and opens no Solana wallet; it belongs in MetaMask or Rabby. The tool says so when you paste one.
3. **A public address.** 32 to 44 characters is the wallet's address, which anyone can see. It cannot be imported as a key.
4. **A recovery phrase.** 12 or 24 words go in the wallet's "import recovery phrase" screen, not the private key one.

## How to use it

1. **Paste the key** in the box. The wallet it opens shows at the top; check it is the one you expect.
2. **Copy the other form.** A byte array comes back as base58, and base58 comes back as a byte array. Show lets you look at it first.
3. **Or save a keypair file.** Keypair file downloads the 64 numbers as a `.json` file, the form `solana-keygen` makes and the Solana command line reads with `--keypair`.

To import the base58 key into Phantom: open the account menu, then Add Account, Import Private Key, choose Solana and paste it. See [importing and exporting Phantom private keys](/blog/phantom-private-key-import-export) for the rest.

## Questions

### Is it safe to paste a private key here?

It is as safe as the device you use. The page reads the key with your browser's built-in Web Crypto and sends nothing, and it works offline. Anything that can read your screen or clipboard can still see the key, so use a computer you trust.

### What is a Solana keypair file?

A text file holding the 64 bytes of a private key as a list of numbers, like `[174,47,...]`. `solana-keygen new` makes one, usually at `~/.config/solana/id.json`, and the command line signs with it.

### Why is a Solana private key 64 bytes when Ed25519 keys are 32?

The secret itself is the first 32 bytes, the seed. Solana keeps the public key next to it, so a 64-byte key is the seed and the address together. That is why the tool can check one half against the other.

### Can I turn a recovery phrase into a private key here?

No. A phrase unlocks every wallet made from it, so this page will not read one. Import the phrase into a wallet app instead; it shows each account's private key if you need it.

## Sources

- [Anza docs: File system wallets (keypair files)](https://docs.anza.xyz/cli/wallets/file-system)
- [RFC 8032: Ed25519 keys](https://www.rfc-editor.org/rfc/rfc8032)
- [Phantom help: Import a private key](https://help.phantom.com/hc/en-us/articles/15079894392851-Importing-an-Existing-Wallet-into-Phantom)
- [MDN: Web Crypto importKey](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey)
