Need to encode data to Base58 format in your application? This guide covers everything you need to know about Base58 encoding via API, including its use in Bitcoin and cryptocurrency, and implementation examples in multiple languages.
What is Base58 Encoding?
Base58 encoding is a binary-to-text encoding scheme designed by Satoshi Nakamoto for Bitcoin. It uses a 58-character alphabet that excludes easily confused characters (0, O, I, l) making it ideal for human-readable identifiers.
The Base58 alphabet: 123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz
How Base58 Encoding Works
Base58 encoding differs from Base64:
No Confusing Characters
Excludes 0 (zero), O (uppercase o), I (uppercase i), and l (lowercase L) to prevent visual confusion.
No Special Characters
Only uses alphanumeric characters, making it safe for URLs and file names without escaping.
Leading Zeros Preserved
Leading zero bytes in the input are preserved as '1' characters in the output.
Using the Base58 Encode API
TinyFn provides a simple endpoint to encode data to Base58:
POST https://api.tinyfn.io/v1/encode/base58
Headers: X-API-Key: your-api-key
Content-Type: application/json
{
"data": "Hello, World!"
}
{
"encoded": "72k1xXWG59fYdzSNoA",
"original_length": 13,
"encoded_length": 18
}
Parameters
| Parameter | Type | Description |
|---|---|---|
data |
string | Data to encode (required) |
alphabet |
string | Base58 alphabet variant (default: bitcoin) |
Code Examples
JavaScript / Node.js
const response = await fetch('https://api.tinyfn.io/v1/encode/base58', {
method: 'POST',
headers: {
'X-API-Key': 'your-api-key',
'Content-Type': 'application/json'
},
body: JSON.stringify({ data: 'Hello, World!' })
});
const result = await response.json();
console.log(result.encoded); // "72k1xXWG59fYdzSNoA"
Python
import requests
response = requests.post(
'https://api.tinyfn.io/v1/encode/base58',
json={'data': 'Hello, World!'},
headers={'X-API-Key': 'your-api-key'}
)
result = response.json()
print(result['encoded']) # "72k1xXWG59fYdzSNoA"
cURL
curl -X POST "https://api.tinyfn.io/v1/encode/base58" \
-H "X-API-Key: your-api-key" \
-H "Content-Type: application/json" \
-d '{"data": "Hello, World!"}'
Common Use Cases
- Bitcoin Addresses: Encoding Bitcoin wallet addresses
- IPFS Hashes: Content identifiers in IPFS
- Short URLs: Creating human-readable short identifiers
- File IDs: Generating easy-to-share file identifiers
- Cryptocurrency: Various blockchain applications
Best Practices
- Use for human input: Base58 is designed for manual entry and reading
- Preserve leading zeros: Important for certain cryptographic applications
- Add checksums: Use Base58Check for error detection when needed
- Consider alternatives: Use Base64 for machine-to-machine communication
Use via MCP
Your AI agent can call this tool directly via Model Context Protocol — no HTTP code needed. Add TinyFn to Claude Desktop, Cursor, or any MCP client:
{
"mcpServers": {
"tinyfn-encode": {
"url": "https://api.tinyfn.io/mcp/encode/",
"headers": {
"X-API-Key": "your-api-key"
}
}
}
}
See all encoding tools available via MCP in our Encoding MCP Tools for AI Agents guide.
Try the Base58 Encode API
Get your free API key and start encoding data in seconds.
Get Free API Key