{
  "slug": "random-token-generator",
  "name": "gizza-ai/random-token-generator",
  "version": "0.1.0",
  "title": "Random Token Generator — gizza.ai",
  "description": "Generate cryptographically secure random tokens, API keys, and secrets with a configurable length and character set — entirely in your browser, nothing uploaded, free.",
  "tags": [
    "random token generator",
    "api key generator",
    "secret generator",
    "random string generator",
    "secure token"
  ],
  "category": "data",
  "urls": {
    "page": "https://gizza.ai/tools/random-token-generator/",
    "markdown": "https://gizza.ai/tools/random-token-generator/index.md",
    "descriptor": "https://gizza.ai/tools/random-token-generator/tool.json",
    "deep_link_example": "https://gizza.ai/tools/random-token-generator/?length=32&count=1&charset=hex&custom_chars=BCDFGHJKMNPQRSTVWXYZ23456789"
  },
  "cli": "gizza tool random-token-generator 'length=32'",
  "tool": {
    "description": "Generate one or more cryptographically random tokens locally with a CSPRNG. Each token is `length` characters drawn uniformly (no modulo bias) from a `charset` preset — 'hex' (default), 'hex-upper', 'base64url', 'alphanumeric' (base62), 'alphabetic', 'numeric', or 'safe' (alphanumeric without look-alike characters) — or from `custom_chars` when provided. `count` returns a batch. Returns the tokens, their per-token entropy in bits, and the alphabet size.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "charset": {
          "default": "hex",
          "description": "Character set: 'hex' (default), 'hex-upper', 'base64url', 'alphanumeric' (base62), 'alphabetic', 'numeric', or 'safe' (alphanumeric minus look-alike 0/O/1/l/I). Ignored when custom_chars is set.",
          "enum": [
            "hex",
            "hex-upper",
            "base64url",
            "alphanumeric",
            "alphabetic",
            "numeric",
            "safe"
          ],
          "type": "string"
        },
        "count": {
          "description": "How many tokens to generate (default 1).",
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "custom_chars": {
          "default": "",
          "description": "Optional custom alphabet: when non-empty, tokens are drawn from these characters (duplicates removed, min 2 distinct) instead of the charset preset.",
          "type": "string"
        },
        "length": {
          "description": "Token length in characters (default 32).",
          "maximum": 4096,
          "minimum": 1,
          "type": "integer"
        }
      },
      "type": "object"
    }
  }
}