{
  "slug": "html-outline-analyzer",
  "name": "gizza-ai/html-outline-analyzer",
  "version": "0.1.0",
  "title": "HTML Outline Analyzer — Heading Hierarchy and Tag Counts — gizza.ai",
  "description": "Paste HTML to extract the H1-H6 heading outline, flag outline issues, and count the element tags written in the source.",
  "tags": [
    "html outline",
    "heading hierarchy",
    "h1 h2 h3",
    "html headings",
    "tag count",
    "seo audit",
    "accessibility",
    "html parser"
  ],
  "category": "developer",
  "urls": {
    "page": "https://gizza.ai/tools/html-outline-analyzer/",
    "markdown": "https://gizza.ai/tools/html-outline-analyzer/index.md",
    "descriptor": "https://gizza.ai/tools/html-outline-analyzer/tool.json",
    "deep_link_example": "https://gizza.ai/tools/html-outline-analyzer/?html=%3C%21doctype%20html%3E%0A%3Chtml%3E%0A%3Cbody%3E%0A%3Ch1%3EGuide%3C%2Fh1%3E%0A%3Ch2%20id%3D%22install%22%3EInstall%3C%2Fh2%3E%0A%3Cp%3ESteps...%3C%2Fp%3E%0A%3Ch3%3EmacOS%3C%2Fh3%3E%0A%3Ch2%3EConfigure%3C%2Fh2%3E%0A%3C%2Fbody%3E%0A%3C%2Fhtml%3E&format=tree&min_level=1&max_level=6&include_issues=true&include_counts=true&top_tags=20"
  },
  "cli": "gizza tool html-outline-analyzer '<!doctype html>\n<html>\n<body>\n<h1>Guide</h1>\n<h2 id=\"install\">Install</h2>\n<p>Steps...</p>\n<h3>macOS</h3>\n<h2>Configure</h2>\n</body>\n</html>'",
  "tool": {
    "description": "Analyze pasted HTML markup. Extracts an h1-h6 heading outline with text, id, line/column and hidden-state metadata; flags structure issues such as missing h1, multiple h1s, skipped levels, empty or duplicate headings, and hidden headings; and reports literal element/tag counts from the source. format='tree' (default) is a readable report; 'markdown', 'json', and 'csv' are available for docs and automation. min_level/max_level filter the rendered outline; include_issues/include_counts toggle report sections; top_tags caps the tag-count list.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "format": {
          "default": "tree",
          "description": "Output format. 'tree' is a readable outline with issues and tag counts; 'markdown' is a Markdown report; 'json' returns structured headings/issues/counts; 'csv' returns one row per heading.",
          "enum": [
            "tree",
            "markdown",
            "json",
            "csv"
          ],
          "type": "string"
        },
        "html": {
          "description": "The HTML document or fragment to analyze. Paste the literal markup; the scanner reports headings from h1 through h6 plus counts of the element tags written in the source.",
          "type": "string"
        },
        "include_counts": {
          "default": true,
          "description": "When true, include element/tag counts: total element tags, distinct tags, and the most common tag names.",
          "type": "boolean"
        },
        "include_issues": {
          "default": true,
          "description": "When true, include outline-quality issues such as no h1, multiple h1s, skipped heading levels, empty headings, duplicate heading text, and hidden headings.",
          "type": "boolean"
        },
        "max_level": {
          "default": 6,
          "description": "Highest heading level to include in the rendered outline, from 1 to 6. Must be greater than or equal to min_level.",
          "maximum": 6,
          "minimum": 1,
          "type": "integer"
        },
        "min_level": {
          "default": 1,
          "description": "Lowest heading level to include in the rendered outline, from 1 to 6. Use with max_level to focus on part of a large document.",
          "maximum": 6,
          "minimum": 1,
          "type": "integer"
        },
        "top_tags": {
          "default": 20,
          "description": "How many distinct tag names to list in the tag-count section, from 1 to 500. Counts are sorted by frequency, then tag name.",
          "maximum": 500,
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "html"
      ],
      "type": "object"
    }
  }
}