100% client-side wallet data preparation tool with enterprise-grade validation
- π 100% Client-Side β Zero backend, zero network requests
- π No External Dependencies β All code runs locally
- π No Data Storage β Nothing saved to disk or cloud
- π Offline Ready β Works without internet connection
- π Open Source β Fully auditable single HTML file
- π₯ Burn Session β Nuclear option to clear all data
- β EIP-55 Checksum β Proper Ethereum address validation
- β Private Key Format β 64-char hex with optional 0x prefix
- β Real-Time Errors β Shows exact line numbers of invalid entries
- β Count Mismatch Detection β Warns when PKs β Addresses
- β Zero-Key Detection β Prevents all-zero private keys
- β BIP-39 Mnemonic Validation (v2.1) β Checks every word against the real 2048-word BIP-39 list and verifies the cryptographic checksum bits (via the browser's built-in Web Crypto SHA-256) β not just "is this 12 or 24 words"
- π Multi-Chain Address Detection β Recognizes Ethereum (
0x...), Bitcoin (legacy1.../3...and bech32bc1...), Tron (T...), and Solana addresses, with a per-chain breakdown next to the Addresses field - π± Mnemonic / Seed Phrase Field β Optional dedicated field for 12/15/18/21/24-word seed phrases, kept separate from private keys/addresses
- π Extra Column β Optional free-text column for tags, labels, or amounts
- ποΈ Custom Column Headers β Rename output columns to match whatever a downstream tool expects
- π§Ή Auto-Clean β Removes labels, quotes, and extra whitespace
- π² Shuffle β Fisher-Yates randomization for security
- π Deduplicate β Remove duplicate wallet pairs
- π Normalize β Lowercase and trim all entries
- π§ 0x Formatting β Add or remove 0x prefix from private keys (v1.3)
- π Default β
private_key, address(CSV) - π Keys Only β Private keys (one per line)
- π Addresses Only β Addresses (one per line)
- π± Mnemonics Only (v2.0) β Seed phrases (one per line)
- π’ Indexed β With row numbers for tracking
- π TSV (v2.0) β Tab-separated, for tools that choke on commas
- π§Ύ JSONL (v2.0) β One JSON object per line, useful for streaming into a bot/script
- π JSON β Import/export structured wallet data (objects, or a flat array of keys/addresses)
- π CSV / TSV β Standard spreadsheet formats
- π TXT β Plain text lists (one per line)
- π±οΈ Drag & Drop (v2.0) β Drop a file anywhere on the page to import it
- πΎ Individual Downloads β Export keys or addresses separately
Visit the deployed version: wallet-forge.vercel.app
# 1. Clone the repository
git clone https://github.com/CryptoExplor/Wallet-Forge
cd Wallet-Forge/public
# 2. Disconnect from internet (optional but recommended)
# 3. Open in browser
open index.html # macOS
start index.html # Windows
xdg-open index.html # LinuxWorks 100% offline β no internet required after download.
git clone https://github.com/CryptoExplor/Wallet-Forge
cd Wallet-Forge
vercel deploy --prodgit clone https://github.com/CryptoExplor/Wallet-Forge
cd Wallet-Forge
# Enable Pages: Settings β Pages β Source: main β Folder: /public
git push origin main- Visit app.netlify.com/drop
- Drag the
publicfolder - Done!
- Import or paste wallet data (keys, addresses, or both)
- Validation runs automatically β see errors in real-time
- Process as needed β clean, shuffle, dedupe
- Select export format β choose the output you need
- Export in your preferred format
Input:
0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb β Invalid (missing char)
0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 β
Valid
Result:
β Valid: 1 β Invalid: 1
Bad lines: 1
- Remove Duplicates β Enabled by default
- Normalize β Lowercase + trim (enabled by default)
- Pad Empty Values β Fill mismatched rows with blanks
Choose how private keys are exported:
- Keep As-Is β No modification (default)
- Ensure 0x prefix β Add 0x to all keys
- Remove 0x prefix β Strip 0x from all keys
Perfect for different tool compatibility (ethers.js, hardhat, etc.).
Perfect for bot integration:
- Default β Full wallet pairs for record keeping
- Keys Only β For ethers.js signer arrays
- Addresses Only β For recipient lists
- Indexed β For batch operations with tracking
Nuclear option for maximum security:
π₯ Burn Session β Clears all data + reloads page
Use after sensitive operations.
Wallet Forge is designed to be maximally safe by default:
- Runs entirely in your browser β No server-side processing
- No backend β Zero API calls, zero data transmission
- No analytics β Zero tracking or telemetry
- No wallet connections β Doesn't interact with MetaMask, WalletConnect, etc.
- No signing or transaction logic β Pure data preparation only
- Can be used fully offline β Download once, use forever
For maximum security when handling sensitive data:
- Download the files (
index.html+sha3.min.js) - Disconnect from the internet (turn off WiFi/unplug ethernet)
- Open in browser (works perfectly offline)
- Use Wallet Forge normally (import, validate, export)
- Burn session when done (clears all data + reloads)
- β No API calls to any server
- β No external CDN dependencies (v1.2+)
- β No analytics, cookies, or tracking
- β No localStorage (except burn session)
- β No wallet signing or transactions
- β No network requests of any kind
Verify it yourself:
# 1. Download the app
git clone https://github.com/CryptoExplor/Wallet-Forge
cd Wallet-Forge/public
# 2. Disconnect from internet
# (turn off WiFi or unplug ethernet)
# 3. Open in browser
open index.html
# 4. Tool works perfectly offline β
See SECURITY.md for complete verification guide.
- Single HTML file (~54KB as of v2.1 β see SECURITY.md for exact byte counts)
- Local crypto library (sha3.min.js ~9.6KB)
- No build process
- No obfuscation
- Fully inspectable source code
- Content Security Policy enforced
- β Private key management
- β Airdrop preparation
- β Multi-wallet operations
- β Dev/test workflows
- β Offline environments
- β Air-gapped systems
- Import wallet sets
- Validate all addresses
- Shuffle for randomness
- Export for bot consumption
- Export keys-only for ethers.js
- Export indexed for batch tracking
- Export addresses for recipient lists
- Prep data before automation
- Clean messy CSV exports
- Normalize address formats
- Prepare test wallets
- Generate structured data
- Merge multiple sources
- Remove duplicates
- Validate checksums
- Export unified lists
- ~54KB uncompressed (grew with v2.0's multi-chain/mnemonic support and the v2.1 BIP-39 wordlist)
- ~19KB gzipped
- Single file deployment
- Chrome/Edge (latest)
- Firefox (latest)
- Safari (latest)
- All modern browsers
- EIP-55 address checksum (js-sha3)
- BIP-39 mnemonic wordlist + checksum (Web Crypto SHA-256, v2.1)
- RFC 4180 CSV format
- JSON structured output
- Shows
β Offline Safewhen disconnected - Shows
β οΈ Online (no network calls)when connected - Real-time status updates
[
{
"private_key": "0x...",
"address": "0x..."
}
]Default:
private_key,address
"0x...","0x..."Indexed (new in v1.2):
index,private_key,address
1,"0x...","0x..."Keys Only:
0x...
0x...
Addresses Only:
0x...
0x...
- β Real BIP-39 Validation β Mnemonic badge now checks every word against the official 2048-word list and verifies the checksum bits (via Web Crypto SHA-256), instead of just counting words
- β Fixed BTC/Tron addresses being misclassified as Solana in the chain-breakdown display (regex ordering)
- β Fixed a text-cleanup edge case where a quoted CSV value followed by a trailing comma kept a stray quote character
- β
Fixed JSON import silently corrupting data when given a flat array of strings (e.g.
["0xabc...", "0xdef..."]) instead of objects - β Preview/Download now report how many duplicate rows were removed, instead of dropping them silently
- β "Include Mnemonic column" on export now defaults off (opt-in) since a seed phrase is more sensitive than a single private key
- β Debounced live validation so pasting very large lists doesn't stall the tab
- β Accessibility: form labels are now properly associated with their fields
- β Mobile layout fix for the Custom Column Names section
- β Multi-chain address detection β Ethereum, Bitcoin (legacy + bech32), Tron, Solana
- β Mnemonic / seed phrase field (12/15/18/21/24 words)
- β Custom column headers for exported data
- β Drag & drop file import
- β TSV and JSONL export formats
- β Fully offline β no CDN, no build step
- β 0x Prefix Toggle β Add or remove 0x from private keys on export
- β Tool compatibility for ethers.js, hardhat, and other frameworks
- β Footer logo updates (GitHub, Farcaster icons)
- β Proper EIP-55 checksum validation (js-sha3)
- β Export format presets (4 modes)
- β Burn Session button
- β Network status indicator
- β Removed CDN dependencies (fully offline)
- β Zero-key detection
- Real-time validation
- Line number error reporting
- Deduplication
- Shuffle function
- Count mismatch warnings
- Basic import/export
- CSV/JSON support
- Auto-clean
Contributions welcome! Please:
- Fork the repo
- Create a feature branch
- Submit a PR
No build process needed:
# Edit index.html directly
# Test in browser
# Commit changesMIT License - see LICENSE file
- Live App: wallet-forge.vercel.app
- Repository: github.com/CryptoExplor/Wallet-Forge
- Report Bug: GitHub Issues
- Request Feature: GitHub Issues
- Security Guide: SECURITY.md
This tool handles sensitive data (private keys). While it runs entirely client-side with no network access:
- Always verify the source code before use
- Use on a secure, malware-free machine
- Never share private keys with anyone
- Test with small amounts first
- For maximum security: download and run offline
See SECURITY.md for complete verification instructions.
Use at your own risk. No warranties provided.
v2.1 β Made with π₯ by CryptoExplor
Trust through transparency. Security through simplicity.