Convert list items to slugs

Convert list items to slugs in one step: paste your list and each line becomes a clean URL slug, lowercased with spaces and punctuation collapsed to hyphens. Accented letters are stripped to plain ASCII, so café becomes cafe.

Input
Ready
Output
Live

Make URL-safe slugs from titles and names

Convert list items to slugs when you need URL-safe strings from a column of titles, product names, or headings. Each line is lowercased, and every run of spaces or punctuation becomes a single hyphen, with leading and trailing separators trimmed off.

Accented and non-ASCII letters are normalised and their diacritics removed, so Café Déjà Vu becomes cafe-deja-vu rather than dropping the words entirely. Runs of separators collapse to one, so extra spaces or symbols never produce a double hyphen.

Switch Separator to underscore for file-name style slugs, or turn off Lowercase to keep the original casing. It runs entirely in your browser. For code identifiers instead of URL slugs, see camelCase List Items.

How to use convert list items to slugs

  1. 1Paste your list into the input panel, one title or name per line.
  2. 2Leave Separator on Hyphen for URL slugs, or pick Underscore for file names.
  3. 3Keep Lowercase on for standard slugs, or turn it off to preserve casing.
  4. 4Watch each line collapse to a clean slug as you edit the input.
  5. 5Copy the result, or hit Download to save it as a plain text file.

Keyboard shortcuts

Drive ListShift without touching the mouse.

Shortcut Action
Ctrl ZUndo last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor
EscExit fullscreen
Ctrl KOpen the command palette to jump to any tool
Ctrl SSave current pipeline draft Plus
Ctrl PRun a saved pipeline Plus

What the slugify tool does

Five concrete behaviours behind the slug output.

Accents are stripped to plain ASCII

Text is Unicode-normalised and combining marks are removed, so Café Déjà Vu becomes cafe-deja-vu. The letters survive as their base ASCII form rather than being dropped as unknown characters.

Non-alphanumerics collapse to one separator

Every run of spaces, punctuation, or symbols becomes a single separator. Multiple Spaces becomes multiple-spaces, and Product Name (2024) becomes product-name-2024 with no double hyphens.

Leading and trailing separators are trimmed

A slug never starts or ends with the separator, even if the line began or ended with spaces or punctuation, so the result is always clean at both ends.

Lowercase is on by default but optional

By default the whole slug is lowercased. Turn Lowercase off to keep the original casing when you need case-preserving anchors or IDs.

Empty results are dropped

A line that has no letters or digits (only punctuation, say) produces nothing and is skipped, so you never get an empty slug or a bare separator in the output.

Worked example

Punctuation, accents, extra spaces, and parentheses all resolved into clean hyphenated slugs.

Input
Hello, World!
Café Déjà Vu
  Multiple   Spaces  
Product Name (2024)
Output
hello-world
cafe-deja-vu
multiple-spaces
product-name-2024

Settings reference

How each option changes the output, using the sample list above as the input.

Setting What it does Effect on the sample
Separator: Hyphen (default) Joins words with hyphens Hello, World! gives hello-world
Separator: Underscore Joins words with underscores Hello, World! gives hello_world
Lowercase: on (default) Lowercases the whole slug Café gives cafe
Lowercase: off Keeps the original casing Café gives Cafe
Accents (automatic) Normalised and stripped to ASCII Déjà gives deja
Extra separators (automatic) Runs collapse to one; ends trimmed Multiple Spaces gives multiple-spaces

FAQ

What happens to accented characters?
They are normalised and their diacritics removed, so Café Déjà Vu becomes cafe-deja-vu. The base letters are kept as ASCII rather than dropped, so the words stay readable.
Can I use underscores instead of hyphens?
Yes. Set Separator to Underscore for file-name style slugs like hello_world. Hyphen is the default because it is the usual convention for URL slugs.
Can I keep the original capitalisation?
Yes. Turn off Lowercase and the slug keeps its original casing, which is handy for case-sensitive anchors or IDs. By default the whole slug is lowercased.
Why did a line disappear from the output?
A line with no letters or digits (only punctuation or symbols) slugifies to nothing and is dropped, so you never get an empty slug or a stray separator.
Is my list uploaded anywhere?
No. Slugs are built locally in your browser with JavaScript. Nothing is sent to a server.