{
  "slug": "base58-codec",
  "name": "gizza-ai/base58-codec",
  "version": "0.1.0",
  "title": "Base58 Encoder & Decoder (Bitcoin / IPFS) — gizza.ai",
  "description": "Encode text or bytes to Base58 and decode Base58 back in your browser — Bitcoin/IPFS, Ripple (XRP) and Flickr alphabets, hex I/O. Free, private, no sign-up.",
  "tags": [
    "base58",
    "base58 encode",
    "base58 decode",
    "bitcoin base58",
    "ipfs base58",
    "ripple base58",
    "xrp",
    "flickr base58",
    "encoder",
    "decoder",
    "hex"
  ],
  "category": "encoding",
  "urls": {
    "page": "https://gizza.ai/tools/base58-codec/",
    "markdown": "https://gizza.ai/tools/base58-codec/index.md",
    "descriptor": "https://gizza.ai/tools/base58-codec/tool.json",
    "deep_link_example": "https://gizza.ai/tools/base58-codec/?input=Hello%20World%21&mode=encode&variant=bitcoin&format=text"
  },
  "cli": "gizza tool base58-codec \"Hello World!\"",
  "tool": {
    "description": "Encode text or bytes to Base58, or decode a Base58 string back to the original data. Use mode='encode' (default) or mode='decode'. variant selects the alphabet: 'bitcoin' (default) is the Satoshi/IPFS alphabet (e.g. 'Hello World!' -> '2NEpo7TZRRrLZSi2U'); 'ripple' is the XRP Ledger alphabet; 'flickr' is Flickr's short-URL alphabet. Base58 omits the ambiguous characters 0 O I l, has no padding, and preserves leading-zero bytes (each becomes a leading '1'). format='text' (default) treats the data as UTF-8; format='hex' reads/writes a hex byte string for binary data that isn't valid UTF-8.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "format": {
          "default": "text",
          "description": "How to read the bytes when encoding, or render them when decoding. 'text' (default) is UTF-8; 'hex' is a hex byte string (e.g. '48 65 6c' or '0x48656c') — use 'hex' for binary data that isn't valid UTF-8.",
          "enum": [
            "text",
            "hex"
          ],
          "type": "string"
        },
        "input": {
          "description": "The data to encode (text or hex bytes), or the Base58 string to decode.",
          "type": "string"
        },
        "mode": {
          "default": "encode",
          "description": "Direction: 'encode' (default) turns data into Base58, 'decode' reverses it.",
          "enum": [
            "encode",
            "decode"
          ],
          "type": "string"
        },
        "variant": {
          "default": "bitcoin",
          "description": "Base58 alphabet. 'bitcoin' (default) is the Satoshi/IPFS alphabet (also used by Monero); 'ripple' is the XRP Ledger alphabet; 'flickr' is Flickr's short-URL alphabet (lowercase before uppercase). All exclude the ambiguous 0 O I l and never pad.",
          "enum": [
            "bitcoin",
            "ripple",
            "flickr"
          ],
          "type": "string"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}