Slug Generator
Turn a list of titles into clean, URL-safe slugs without leaving the browser tab.
What this tool does
Slug Generator rewrites each line you paste into something a URL can carry. It transliterates the characters it has a mapping for into plain ASCII, removes apostrophes without leaving a gap behind them, collapses every other run of non-alphanumeric characters into a single separator, and joins the surviving words back up. A few symbols are spelled out rather than discarded: & becomes and, @ becomes at, % becomes percent, and $, £ and € become usd, gbp and eur.
It works a line at a time, so a whole column of headlines converts in one pass, blank lines are skipped and surrounding spaces are trimmed. When two lines produce the same result the second is numbered — hello-world, then hello-world-2 — which keeps a batch internally unique. Four settings shape the output: hyphen or underscore, lowercase or keep as typed, a maximum length in characters, and a switch that drops common English words such as the, of and with.
The transliteration table is where the honest limit sits. Latin diacritics, the 33 Russian Cyrillic letters and the Greek alphabet are mapped, so Café and Привет come back as cafe and privet. The Cyrillic letters used outside Russian are absent: Ukrainian і and ї, Serbian ј and њ and the rest are treated as punctuation, so Київ comes back as ki-v rather than kyiv. Chinese, Japanese, Korean, Arabic, Hebrew and the Indic scripts are missing too, and since everything outside A–Z and 0–9 is stripped, a title written entirely in one of them produces an empty line rather than a slug. The duplicate numbering is similarly narrow: it only sees the lines in the box, and cannot know a permalink is already in use on your site. All of it happens in your browser — the titles are never uploaded.
How to use it
- Paste one title per line. Leading and trailing spaces are trimmed and blank lines are ignored, so a name column copied straight out of a spreadsheet works as it is.
- Choose the separator and the letter case. Hyphen produces the kebab case most content systems expect; underscore is there for the ones that insist on it. Lowercase is the default, and Keep as typed leaves capitals where you put them.
- Set a maximum length if the URLs must stay short. 0 means no limit. Above that, the slug is cut at the limit and then pulled back to the previous separator, provided that separator falls past the halfway mark.
- Drop common words for a tighter slug. The switch removes a fixed list of 32 English stop words. If a title consists of nothing but those words, they are kept rather than handing you an empty result.
Processing & privacy
Runs on your device. Your file is processed directly in this browser.
Common use cases
Publishing a post with a readable permalink
A headline carrying a colon, an em dash and a percent sign becomes a slug you can paste into the CMS without tidying it by hand first.
Preparing URLs before a site migration
Convert the old page titles in bulk, sit the slugs beside the paths they replace, and you have both sides of a redirect map before anything moves.
Naming product or category pages from a spreadsheet
Paste the name column, take the slug column, and the URLs stay consistent instead of depending on who typed them that week.
Turning non-English titles into ASCII addresses
Russian, Greek and accented European headlines come back as readable Latin text rather than a line of percent-encoded escapes.
Questions
Are my titles uploaded anywhere?
What happens to accents and non-Latin alphabets?
Why did the length limit cut a word in half?
Does it check whether the slug is already used on my site?
Which words does the drop-common-words option remove?
Should I use hyphens or underscores?
Can I keep capital letters?
Related tools
- JSON Formatter — Pretty-print, collapse and inspect JSON instantly.
- Base64 Encoder Decoder — Encode and decode Base64 text and files.
- JWT Decoder — Inspect the header, payload and claims of a JWT.
- Hash Generator — Compute MD5, SHA-1, SHA-256 and SHA-512 digests.
- Regex Tester — Test patterns against sample text with live matches.
- Unix Timestamp Converter — Convert between epoch seconds and readable dates.