Slug Generator
Turn titles into clean URL slugs as you type — one at a time or a whole list, one slug per line. Handles accents, Cyrillic and Greek, German umlauts and stop words.
What Is a URL Slug?
A slug is the human-readable part of a URL that identifies a specific page in a way that is easy to read and safe to put in a web address. It is the segment that usually follows the domain and any folders, such as what-is-a-url-slug in example.com/blog/what-is-a-url-slug. Because URLs can only safely contain a limited set of characters, a slug strips out spaces, punctuation, and other symbols and replaces them with a single separator, leaving only letters, numbers, and that separator behind.
Slugs matter beyond the address bar. The same cleaning process is useful for generating file names, database keys, anchor IDs, CSS class names, image names, and API identifiers — anywhere you need a predictable, lowercase, space-free string derived from arbitrary human text. A good slug stays readable to a person while remaining valid everywhere a machine has to handle it. This tool turns any title, headline, or sentence into that kind of clean identifier in real time.
How to Use This Slug Generator
Type or paste your text into the Enter Text box and the slug appears instantly in the Generated Slug field as you type. Use the Separator dropdown to switch between a hyphen, underscore, or dot between words. Set a Max length (0 means unlimited) to cap the slug — it truncates at the nearest separator boundary so words are never cut in half. The Lowercase checkbox forces everything to lowercase, and Transliterate converts accented Latin letters, Cyrillic and Greek to plain ASCII. German umlauts writes ä, ö, ü as ae, oe, ue, and Remove stop words drops short filler words such as “a”, “the” and “of”.
The character count under the field updates live. Copy puts the result on your clipboard, Download .txt saves it as a file, and Copy link gives you a URL that reopens the tool with the same text and settings. Nothing is sent anywhere — the conversion runs entirely in your browser.
Generate Slugs in Bulk
Tick One slug per line (or simply paste several lines into the empty box) and every line of the input becomes its own slug, in the same order. Empty lines stay empty, so you can paste a column from a spreadsheet, convert it, and paste the result back next to the original titles without the rows shifting.
In bulk mode, Make duplicates unique appends -2, -3 and so on when two lines produce the same slug — the same way WordPress and most CMSs handle a second post with an existing permalink. That matters when you import products or articles, because two identical slugs either collide or silently overwrite each other. The counter below the output shows how many slugs were created, the longest one, and how many were made unique.
Accents, Umlauts, Cyrillic and Greek
Accented Latin letters are reduced to their base letter: é → e, ő → o, ñ → n, ç → c. A few letters have no base letter and are spelled out instead: ß → ss, æ → ae, ø → o, ł → l, þ → th.
German has its own convention: Müller is usually written Mueller, not Muller, when umlauts are not available. Turn on German umlauts for German-language sites so Größe becomes groesse. Leave it off for other languages — in Finnish, Swedish or Turkish, ä, ö and ü are separate letters for which “ae” would look wrong.
Cyrillic (Russian, Ukrainian, Belarusian, Bulgarian, Serbian) and Greek are transliterated letter by letter: Привет мир → privet-mir, Ελληνικά → ellinika. The mapping is a simple, readable romanization, not a formal standard such as ISO 9, so check names of people and places where an established English spelling exists. Scripts without an alphabet-to-Latin mapping — Chinese, Japanese, Korean, Arabic, Hebrew, Thai — are removed; for those, write the slug in a romanized form yourself.
Should You Remove Stop Words?
Stop words are short, common words like “a”, “the”, “and”, “of” and “for”. Removing them shortens the-complete-guide-to-the-best-running-shoes-for-beginners to complete-guide-best-running-shoes-beginners. Shorter slugs are easier to read and share, but Google does not require it, and removing words can change meaning: “to be or not to be” or the band “The Who” need their small words. The tool never removes every word of a title, but read the result before you publish it.
Real-World Use Cases
- Blog and article URLs — turn a post title like “10 Tips for Better Sleep!” into
10-tips-for-better-sleepfor a clean, shareable permalink. - File and asset names — generate safe names for uploads, exports, or downloads that work across operating systems.
- Anchor links and IDs — create stable
idvalues for headings so you can link directly to a section of a page. - Product and category handles — produce consistent store URLs and SKUs from product names that contain spaces or symbols.
- API keys and config values — derive predictable string identifiers from labels for use in code, YAML, or JSON.
Tips for Creating Good Slugs
- Prefer hyphens over underscores for web URLs — search engines treat hyphens as word separators but read underscores as joining characters.
- Keep slugs short and meaningful; trim filler words that add length without adding clarity before you generate.
- Leave transliteration on if your text contains accented characters so
cafébecomescaferather than being dropped. - Use the max length cap for sites or systems that limit URL or identifier length, and let it break on a word boundary.
- Once a slug is published, avoid changing it — set up a redirect instead, since changing a live URL breaks existing links and bookmarks.
Features
- Real-time conversion — the slug updates instantly as you type, with no button to press.
- Transliteration — converts accented Latin (é→e, ñ→n, ß→ss), Cyrillic (ж→zh) and Greek (θ→th) to ASCII.
- German umlauts — optional ä→ae, ö→oe, ü→ue for German-language URLs.
- Stop-word removal — optionally drop filler words like “a”, “the” and “of”.
- Bulk mode — one slug per line, lines stay aligned, duplicates made unique with -2, -3.
- Download and share — save the slugs as a .txt file or copy a link with your text and settings.
- Selectable separator — choose a hyphen, underscore, or dot between words.
- Smart max length — truncate long slugs at a separator boundary so words stay intact.
- Optional lowercasing — force lowercase output or keep the original case.
- One-click copy — copy the result to your clipboard with the Copy button.
- 100% client-side — your data never leaves your browser.
Frequently Asked Questions
What characters does the slug generator keep?
It keeps letters, numbers, and your chosen separator. Spaces and existing hyphens or underscores are collapsed into a single separator, and all other punctuation and symbols are removed entirely.
Should I use hyphens or underscores in URLs?
For web URLs, hyphens are the safer choice because search engines treat them as word separators while underscores are read as joining the words together. The tool defaults to a hyphen but lets you pick an underscore or dot when another system requires it.
How does the transliteration option work?
When enabled, it maps accented and special Latin characters to their closest plain ASCII letters, so Müller becomes muller (or mueller with the German umlauts option) and naïve becomes naive. Cyrillic and Greek letters are romanized as well. With it disabled, all of those characters are simply stripped out instead of converted.
What does setting a maximum length do?
A max length caps the slug at that number of characters. Rather than cutting in the middle of a word, the tool trims back to the last separator before the limit, so the result ends on a complete word whenever possible. Leaving it at 0 means no limit.
Is my text uploaded to a server?
No. The entire slug is generated by JavaScript running inside your browser. Nothing you type is sent over the network, which makes the tool private and able to work offline.
Can I generate slugs from non-English text?
Yes for languages written in the Latin alphabet with accents, and for Cyrillic and Greek, which are romanized letter by letter. Chinese, Japanese, Korean, Arabic, Hebrew and other scripts without a letter-to-letter mapping are removed, so for those provide a romanized version of the text.
How do I create many slugs at once?
Paste your list with one title per line and tick “One slug per line” (it switches on automatically when you paste several lines into the empty box). Each line becomes a slug on the same line of the output; copy or download the result as a .txt file.
How long should a URL slug be?
There is no fixed limit, but three to six meaningful words is a good target — long enough to describe the page, short enough to read in a search result or a shared link. Use the max length option if your CMS or database column has a hard limit.