{
  "slug": "slugify",
  "name": "gizza-ai/slugify",
  "version": "0.1.0",
  "title": "Slugify — URL Slug Generator — gizza.ai",
  "description": "Turn any title into a clean URL-safe slug — accents transliterated to ASCII, lowercased, punctuation collapsed to hyphens. Free slug generator, in-browser.",
  "tags": [
    "slugify",
    "url slug",
    "slug generator",
    "permalink",
    "seo url",
    "url friendly",
    "transliterate",
    "ascii slug",
    "kebab case"
  ],
  "category": "text",
  "urls": {
    "page": "https://gizza.ai/tools/slugify/",
    "markdown": "https://gizza.ai/tools/slugify/index.md",
    "descriptor": "https://gizza.ai/tools/slugify/tool.json",
    "deep_link_example": "https://gizza.ai/tools/slugify/?text=10%20Tips%20for%20Cr%C3%A8me%20Br%C3%BBl%C3%A9e%21&separator=-&lowercase=true&max_length=0&per_line=true"
  },
  "cli": "gizza tool slugify \"10 Tips for Crème Brûlée!\"",
  "tool": {
    "description": "Convert a title or phrase into a clean, URL-safe slug: Unicode is transliterated to ASCII (e.g. 'Crème Brûlée' -> 'creme-brulee', '北京' -> 'bei-jing'), apostrophes are dropped so contractions join ('Bob's' -> 'bobs'), the text is lowercased, and every run of spaces and punctuation is collapsed to a single separator with no leading/trailing separators. Set separator to '_' (or another non-alphanumeric string) to change the word separator, lowercase=false to keep the original case, max_length>0 to truncate on a word boundary, or per_line=true to slugify a batch list of titles line by line.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "lowercase": {
          "default": true,
          "description": "Lowercase the slug. Default true; set false to preserve the original case.",
          "type": "boolean"
        },
        "max_length": {
          "default": 0,
          "description": "Truncate the slug to at most this many characters, cutting on a word boundary where possible. 0 (default) means no limit.",
          "maximum": 2048,
          "minimum": 0,
          "type": "integer"
        },
        "per_line": {
          "default": false,
          "description": "When true, slugify each line of the input independently (rejoined with newlines) — for a batch list of titles. Default false.",
          "type": "boolean"
        },
        "separator": {
          "default": "-",
          "description": "Word separator placed between words. Usually '-' (default) or '_'. Must not contain ASCII letters or digits.",
          "type": "string"
        },
        "text": {
          "description": "The title or phrase to convert into a slug.",
          "type": "string"
        }
      },
      "required": [
        "text"
      ],
      "type": "object"
    }
  }
}