A little help goes a long way. Find a tool/

Text FIELD NOTES · 4 MIN READ

Slugifying a Column of Titles in One Pass

The four-step slug pipeline — lowercase, de-accent, strip, join — applied to a whole list, plus hyphens versus underscores and empty-slug edge cases.

Migrating two hundred product titles into a content management system means producing two hundred clean URLs, and doing it by hand is neither feasible nor consistent. A slug is a title with everything ambiguous removed — and batch slug generation is that same cleanup rule applied to a whole column at once, identically, every time.

The pipeline inside one slug

Every line that enters the Slugify Batch tool runs through the same four steps: lowercase everything, strip accented characters, delete anything that is not a letter, number, or separator, then collapse every run of spaces, underscores, and hyphens into one separator and trim any separators off the ends. Watch the pipeline consume a messy title:

input:      Café & Crème Brûlée!
lowercase:  café & crème brûlée!
de-accent:  cafe & creme brulee!
strip:      cafe  creme brulee
collapse:   cafe-creme-brulee

The ampersand and exclamation mark vanish in the strip step, the double space where the ampersand used to be collapses into a single hyphen, and the output is a URL you could paste into an address bar without encoding anything. De-accenting works by Unicode decomposition: é is split into "e" plus a combining accent mark, and the accent mark is discarded — which is why Crème becomes creme rather than disappearing (the same trick powers the single Slug Generator).

What survives and what is deleted

Numbers and existing hyphens survive the strip step, which is what makes product codes and years work naturally:

input:   WiFi-6 Router (2026)                 ->  wifi-6-router-2026
input:   How to Save Money — and Still Travel!  ->  how-to-save-money-and-still-travel

In the second line the em dash — a character that appears constantly in real headlines — is deleted, and the spaces on either side of it collapse into a single hyphen. The output never contains doubled separators or stray edge hyphens, no matter how exotic the punctuation in the input.

Hyphens or underscores?

The tool offers both separators, but they are not equivalent in the eyes of a search engine. Google has stated for years that it treats a hyphen as a word separator while an underscore glues words together — cafe-creme-brulee reads as three words, cafe_creme_brulee nominally reads as one. That is why hyphens are the default and the SEO standard, and underscores exist for the niche systems — some legacy frameworks and file layouts — that require them. Pick hyphens unless something downstream forces the other choice.

Empty results and position guarantees

Two behaviors matter when the input is a real column. First, a line with no letters or numbers at all produces an empty slug — feed it !!! and the strip step deletes everything, leaving nothing to join. Second, every input line maps to an output line at the same position: line 7 in is line 7 out, empty lines stay empty in place, and blank lines at the start or end of the paste are dropped. That one-to-one mapping is what makes the tool safe for CMS imports — slugify the column, paste it back over the original, and nothing misaligns.

Batch versus single, and where slugs fit in cleanup

The single Slug Generator converts one string and is the right tool when you are naming one page interactively. The batch tool is for the import job: a whole column of titles, one consistent rule, one pass. Conceptually, slugging is just a cleanup pipeline with a URL-shaped output — strip, normalize, join — which is why the skills transfer directly from general text hygiene (The Text Cleanup Pipeline) and from identifier conventions like kebab-case (Camel vs Snake vs Kebab). The full anatomy of a slug — and why search engines care less than you might hope — is in How URL Slugs Work.

Try it yourself

Paste a column of real headlines or product names into the Slugify Batch tool and run it twice — once with hyphens, once with underscores — to see the separator change ripple through the whole list. Then run your favorite single title through the Slug Generator to compare the interactive workflow, and read How URL Slugs Work for what those slugs are actually doing for you in a URL.

Frequently asked questions

How is the batch tool different from the Slug Generator?
The Slug Generator converts one string, which suits naming a single page interactively. The batch tool runs the identical slug algorithm on every line of a list, so a whole column of titles becomes clean slugs in one pass with positions preserved.
Should slugs use hyphens or underscores?
Hyphens. Search engines treat a hyphen as a word separator but read an underscore as part of the word, so "cafe-creme-brulee" is three words and "cafe_creme_brulee" is nominally one. Hyphens are the default; keep underscores only for systems that require them.
How are accented characters handled?
Each line is decomposed with Unicode normalization, so é splits into "e" plus a combining accent mark, and the accent is discarded: "Crème" becomes "creme". Characters that are not letters, numbers, or separators — including em dashes and ampersands — are removed outright.
Why did a line produce an empty slug?
A line containing no letters or numbers — for example "!!!" — has everything stripped in the cleanup, leaving nothing to join, so the result is an empty string. Check for punctuation-only rows when importing from spreadsheets.
Do existing hyphens in the title survive?
Yes. Hyphens count as separators, so "WiFi-6 Router (2026)" becomes "wifi-6-router-2026": the existing hyphen is kept, the parentheses are stripped, and the spaces collapse into single separators with no doubling at the edges.