{
  "slug": "ip-range-expand",
  "name": "gizza-ai/ip-range-expand",
  "version": "0.1.0",
  "title": "IP Range Expander — CIDR & Range to IP List (IPv4 & IPv6) — gizza.ai",
  "description": "Expand a CIDR block (192.168.1.0/24) or start-end IP range into the full list of addresses, or just count them — IPv4 and IPv6, free and private in your browser.",
  "tags": [
    "ip range expander",
    "cidr to ip list",
    "cidr expander",
    "ip range to list",
    "expand cidr",
    "subnet calculator",
    "ipv4",
    "ipv6",
    "list ip addresses",
    "cidr to range"
  ],
  "category": "network",
  "urls": {
    "page": "https://gizza.ai/tools/ip-range-expand/",
    "markdown": "https://gizza.ai/tools/ip-range-expand/index.md",
    "descriptor": "https://gizza.ai/tools/ip-range-expand/tool.json",
    "deep_link_example": "https://gizza.ai/tools/ip-range-expand/?input=192.168.1.0%2F24%20%20or%20%2010.0.0.1-10.0.0.5&output=list&limit=65536"
  },
  "cli": "gizza tool ip-range-expand \"192.168.1.0/24  or  10.0.0.1-10.0.0.5\"",
  "tool": {
    "description": "Expand a CIDR block or a start-end IP range into the full list of addresses (or just the count), for both IPv4 and IPv6. Set 'input' to a CIDR like '192.168.1.0/24' or '2001:db8::/126', or to a range like '192.168.1.10-192.168.1.20', '10.0.0.1-10.0.0.5', or '2001:db8::1-2001:db8::5' (IPv4 ranges also accept a bare final octet, e.g. '192.168.1.10-20'). A CIDR expands the WHOLE block, including the network and broadcast addresses, and a non-aligned base is normalized to its network address (192.168.1.130/29 -> 192.168.1.128). Set 'output' to 'list' (default, one address per line) or 'count' (total number of addresses; exact even for an IPv6 /64). 'limit' caps how many addresses 'list' will enumerate (default 65536); a larger range errors with its size rather than truncating, so use output='count' for huge ranges.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "input": {
          "description": "The CIDR block or IP range to expand. A CIDR like '192.168.1.0/24' or '2001:db8::/126', or a 'start-end' range like '192.168.1.10-192.168.1.20', '10.0.0.1-10.0.0.5', or '2001:db8::1-2001:db8::5'. IPv4 ranges also accept a bare last octet on the right (e.g. '192.168.1.10-20'). Works for both IPv4 and IPv6.",
          "type": "string"
        },
        "limit": {
          "default": 65536,
          "description": "For output='list', the maximum number of addresses to enumerate. If the range is larger the call errors with its actual size instead of truncating. Ignored for output='count'. Default 65536 (a /16).",
          "minimum": 1,
          "type": "integer"
        },
        "output": {
          "default": "list",
          "description": "What to return. 'list' (default) gives every address in the range, one per line. 'count' gives just the total number of addresses (exact and unbounded, so it works even for an IPv6 /64 or /0).",
          "enum": [
            "list",
            "count"
          ],
          "type": "string"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  }
}