{
  "slug": "outline-to-json",
  "name": "gizza-ai/outline-to-json",
  "version": "0.1.0",
  "title": "Outline to JSON Converter — gizza.ai",
  "description": "Turn an indented text outline into nested JSON in your browser — spaces or tabs, children-array or nested-object shape, pretty or minified. Free, private.",
  "tags": [
    "outline to json",
    "indented text to json",
    "tree to json",
    "nested json",
    "text outline",
    "json converter",
    "tab to json",
    "bullet list to json"
  ],
  "category": "data",
  "urls": {
    "page": "https://gizza.ai/tools/outline-to-json/",
    "markdown": "https://gizza.ai/tools/outline-to-json/index.md",
    "descriptor": "https://gizza.ai/tools/outline-to-json/tool.json",
    "deep_link_example": "https://gizza.ai/tools/outline-to-json/?outline=Project%0A%20%20Frontend%0A%20%20%20%20UI%0A%20%20Backend%0A%20%20%20%20API&format=children&tab_size=4&pretty=true"
  },
  "cli": "gizza tool outline-to-json \"Project\n  Frontend\n    UI\n  Backend\n    API\"",
  "tool": {
    "description": "Convert an indented text outline into nested JSON. Each non-blank line becomes a node and its leading whitespace (spaces or tabs) sets the nesting: a more-indented line is a child of the nearest preceding less-indented line. format='children' (default) returns an array of {\"text\":…,\"children\":[…]} node objects, preserving order; format='nested' returns an object keyed by node text like {\"a\":{\"b\":{}}}. tab_size sets how many columns a tab counts for (default 4) so tabs and spaces can be mixed. Blank lines are ignored and the first line must be unindented. Set pretty=false for compact output.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "format": {
          "default": "children",
          "enum": [
            "children",
            "nested"
          ],
          "type": "string"
        },
        "outline": {
          "type": "string"
        },
        "pretty": {
          "default": true,
          "type": "boolean"
        },
        "tab_size": {
          "default": 4,
          "maximum": 16,
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "outline"
      ],
      "type": "object"
    }
  }
}