{
  "slug": "base85-codec",
  "name": "gizza-ai/base85-codec",
  "version": "0.1.0",
  "title": "Base85 Encoder & Decoder (Ascii85, Z85, RFC 1924) — gizza.ai",
  "description": "Encode text or hex bytes to Base85 and decode Base85 back. Supports Ascii85, ZeroMQ Z85, and RFC 1924 variants with optional Adobe framing. Free, private, browser-local.",
  "tags": [
    "base85",
    "ascii85",
    "z85",
    "rfc1924",
    "base85 encoder",
    "base85 decoder",
    "adobe ascii85",
    "zeromq z85",
    "binary encoder",
    "url safe"
  ],
  "category": "encoding",
  "urls": {
    "page": "https://gizza.ai/tools/base85-codec/",
    "markdown": "https://gizza.ai/tools/base85-codec/index.md",
    "descriptor": "https://gizza.ai/tools/base85-codec/tool.json",
    "deep_link_example": "https://gizza.ai/tools/base85-codec/?input=Hello%20World%21&mode=encode&variant=ascii85&format=text&adobe_frame=true"
  },
  "cli": "gizza tool base85-codec \"Hello World!\"",
  "tool": {
    "description": "Encode text or hex bytes to Base85, or decode Base85 back to text or hex. Supports Ascii85 (Adobe/btoa with z shortcut and optional framing), Z85 (ZeroMQ), and RFC 1924 variants.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "adobe_frame": {
          "default": false,
          "description": "Ascii85 encode only: wrap output in Adobe <~ and ~> delimiters. Ignored for Z85/RFC 1924; decode strips Ascii85 framing automatically.",
          "type": "boolean"
        },
        "format": {
          "default": "text",
          "description": "How to read input when encoding, or render decoded output. 'text' (default) is UTF-8; 'hex' is a hex byte string for binary data.",
          "enum": [
            "text",
            "hex"
          ],
          "type": "string"
        },
        "input": {
          "description": "The text or hex bytes to encode, or the Base85 string to decode.",
          "type": "string"
        },
        "mode": {
          "default": "encode",
          "description": "Direction: 'encode' (default) turns data into Base85, 'decode' reverses it.",
          "enum": [
            "encode",
            "decode"
          ],
          "type": "string"
        },
        "variant": {
          "default": "ascii85",
          "description": "Base85 flavour. 'ascii85' is Adobe/btoa with the z zero shortcut and optional <~ ~> framing; 'z85' is ZeroMQ Z85 and requires byte lengths divisible by 4; 'rfc1924' uses the RFC 1924 alphabet.",
          "enum": [
            "ascii85",
            "z85",
            "rfc1924"
          ],
          "type": "string"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}