99tools

Slug Generator

runs in your browser

Turn a title into a clean URL slug, with accents unpicked rather than stripped, optional stop word removal and a length limit.

Joined by

Accents are unpicked rather than stripped, so Café Münster becomes cafe-munster instead of caf-nster. One line in, one slug out.

Text

Slug

The slug appears here.

about this tool

Accents are unpicked, not thrown away

The usual way to build a slug is to delete everything outside the ASCII range with a regular expression. That turns Café Münster into caf-nster and Título into tulo, quietly destroying the words it was meant to preserve.

This tool separates each letter from its accent first, so the letter survives: café becomes cafe, Münster becomes munster, naïve résumé becomes naive-resume. A handful of letters carry no separable accent and need an explicit equivalent instead, which is why Straße becomes strasse, Ørsted becomes orsted and Æsop becomes aesop.

Symbols that mean words

An ampersand is not punctuation to be dropped, it is the word and. Deleting it turns Rock & Roll into rock-roll, which reads wrong. The same applies to a percent sign, a currency symbol and an at sign, so each is spelled out: 50% Faster becomes 50-percent-faster.

Other writing systems

By default the slug keeps only Latin letters and digits, because that is what a URL handles without escaping and what most systems expect. Turn that off and Chinese, Cyrillic, Greek and the rest are kept as they are. Modern browsers display those correctly in the address bar, though they travel as percent encoding underneath, and some older software still mishandles them.

Small words

Dropping words like the, of and a makes a slug shorter and slightly better for search, at the cost of readability. It is off by default because the gain is small and the loss is real. If every word in the title is a small word, nothing is removed, since an empty slug is worse than a long one.

What the checks mean

URL safe means every character can sit in an address without being escaped.

Length flags anything past about 60 characters, which is roughly where a search result stops showing the address.

Repeated separator and leading or trailing separator catch the two things that make a slug look machine-generated rather than chosen.