{
  "slug": "add-line-numbers",
  "name": "gizza-ai/add-line-numbers",
  "version": "0.1.0",
  "title": "Add Line Numbers — number every line of text — gizza.ai",
  "description": "Add line numbers to every line of text online, like nl or cat -n — custom start, step, separator, and alignment. Free and private, runs in your browser.",
  "tags": [
    "add line numbers",
    "number lines",
    "line numbering",
    "nl",
    "cat -n",
    "prefix line numbers"
  ],
  "category": "text",
  "urls": {
    "page": "https://gizza.ai/tools/add-line-numbers/",
    "markdown": "https://gizza.ai/tools/add-line-numbers/index.md",
    "descriptor": "https://gizza.ai/tools/add-line-numbers/tool.json",
    "deep_link_example": "https://gizza.ai/tools/add-line-numbers/?text=Paste%20text%20to%20number%E2%80%A6&start=1&step=1&separator=tab&pad=spaces&number_nonblank=true"
  },
  "cli": "gizza tool add-line-numbers \"Paste text to number…\"",
  "tool": {
    "description": "Prefix every line of text with a sequential line number, like `nl` or `cat -n`. Set start to the first line's number (default 1) and step to the increment between numbers (default 1). separator is placed between the number and the line content (default a tab). pad aligns numbers to a common width: spaces (right-align, default), zeros (zero-pad), or none. Set number_nonblank=true to skip blank lines (they keep no number and don't consume one, like `cat -b`). Returns the numbered text plus total/numbered line counts. Runs locally.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "number_nonblank": {
          "default": false,
          "description": "When true, blank (whitespace-only) lines keep no number and don't consume one (like `cat -b`).",
          "type": "boolean"
        },
        "pad": {
          "default": "spaces",
          "description": "Align numbers to a common width: spaces (right-align), zeros (zero-pad), or none.",
          "enum": [
            "none",
            "spaces",
            "zeros"
          ],
          "type": "string"
        },
        "separator": {
          "default": "\t",
          "description": "The string inserted between each number and the line content. Default a tab.",
          "type": "string"
        },
        "start": {
          "default": 1,
          "description": "The number given to the first line. Default 1.",
          "type": "integer"
        },
        "step": {
          "default": 1,
          "description": "The increment between consecutive line numbers. Default 1.",
          "minimum": 1,
          "type": "integer"
        },
        "text": {
          "description": "The text whose lines should be numbered (split on newlines).",
          "type": "string"
        }
      },
      "required": [
        "text"
      ],
      "type": "object"
    }
  }
}