Text
Slug Generator
Make a lowercase URL slug from a title. Spaces and tabs become hyphens, Latin accents drop, and other symbols are removed. The slug updates as you type.
Slug
No slug yet.
Output actions
Ready to copy output once your result appears.
Lowercase hyphenated URL text
Slug Generator turns Text to slugify into one lowercase line. The result updates while you type. Spaces and tabs become single hyphens. Marks that Unicode splits off a letter are removed. Characters that are not a plain letter, a digit, a space, or a hyphen are deleted. Underscores are deleted, not converted.
How to make a slug
- 1Type a title into Text to slugify. The placeholder is My New Tool Title. There is no button and no separator menu.
- 2Read the Slug panel. An empty field shows No slug yet. in the panel. Any other result is the slug itself, with no leading or trailing hyphen.
- 3Press Copy output when a slug is present. Copy uses the slug, not the words No slug yet. This tool has no download control and no length limit.
What it is good for
- • A path segment such as 10-seo-tips-for-better-metadata from a headline.
- • Dropping accents that Unicode represents as a letter plus a mark, so café becomes cafe.
- • Seeing that an underscore disappears instead of becoming a hyphen.
Example
Input
10 SEO Tips for Better Metadata
Output
10-seo-tips-for-better-metadata
Digits stay. Letters are lowercased. Each space run becomes one hyphen. The comma and other symbols never had a chance to remain, because this title had none.
What each character becomes
The field is normalized with NFKD, then every combining mark in the range U+0300 through U+036F is deleted, then the string is lowercased. café loses the acute and becomes cafe. naïve becomes naive. Letters that do not split into a base letter plus a mark are not rescued. ß stays ß through that step and is then deleted, so straße becomes strae. æ is deleted, so Æther becomes ther. The page does not have a transliteration table for those letters.
After lowercasing, every character outside a-z, 0-9, whitespace, and hyphen is removed. An underscore is outside that set, so it vanishes: Hello_World becomes helloworld, and foo_bar_baz becomes foobarbaz if there are no spaces. A hyphen that you typed is kept, then runs of whitespace, underscores that somehow remained, and hyphens are collapsed to one hyphen. In practice the underscore is already gone, so the collapse is about spaces, tabs, and hyphens. The ends are trimmed of hyphens. ---Hello, World!--- becomes hello-world. 100% becomes 100. An emoji is deleted, so emoji 🎉 title becomes emoji-title.
The live field
There is one textarea and one result labeled Slug. Every change recomputes. You cannot pick an underscore separator, a maximum length, or a stop-word list. The words for, to, and a stay. 10 SEO Tips for Better Metadata keeps for and better. Case Converter can show a kebab line too, but it keeps commas and it turns underscores into hyphens. Those are different rules. Paste the title here when the destination is a URL segment.
An empty field publishes an empty string, so Copy output says there is nothing to copy, while the panel still shows No slug yet. A field that collapses to nothing, such as a line of only punctuation, behaves the same way. A non-empty slug is the copy buffer, with no added newline and no site hostname in front of it. The page does not build a full URL.
Jobs for a URL piece
Use the slug as the path piece, then build the rest of the address elsewhere. Campaign parameters belong on the UTM builder, which will not slugify the path for you. A title tag and a description for that URL belong on the meta tag generator. If the path must be percent-encoded because a consumer still wants the raw characters, that is URL encode / decode, and it is a different result from a hyphenated slug.
The case converter is the right neighbor when you also need camelCase or CONSTANT_CASE from the same title. Its kebab panel is not this slug. Don't stop becomes dont-stop here, because the apostrophe is deleted and the space becomes a hyphen. On the case converter the apostrophe would remain inside the word.
Tabs, accents, and letters that disappear
A tab is whitespace, so a and b separated by a tab become a-b. Several spaces do the same. A hyphen next to those spaces collapses with them: foo - bar becomes foo-bar. Leading and trailing hyphens produced by the cleanup are removed, so a title that is only hyphens ends as the empty slug and the panel shows No slug yet.
İstanbul becomes istanbul because the dotted capital I splits under NFKD and the extra mark is removed before lowercasing. That is not a promise for every non-Latin script. Characters that are not a-z after this cleanup are dropped rather than approximated. If the whole title is in a script that does not decompose into a-z, the slug is empty. The page will not fall back to a percent-encoded path.
Rules and limitations
NFKD, strip combining marks U+0300–U+036F, lowercase, delete characters other than a-z, digits, whitespace, and hyphen, collapse whitespace and hyphens, then trim hyphens. Underscores are deleted.
The slug updates on each change. There is no separator choice, no stop-word list, and no length cap. Copy output is the slug, or nothing when the slug is empty. The panel text No slug yet. is not copied.
Common problems
If an underscore vanished, that is the rule. foo_bar becomes foobar. Put a space or a hyphen in the title if you wanted a break.
If ß or æ disappeared, the character did not decompose into a-z. café works because é does decompose. This page will not map ß to ss.
Frequently asked questions
Does an underscore become a hyphen?
No. Underscores are removed. Hello_World becomes helloworld. A space or a hyphen in the title is what becomes a single hyphen.
Will café keep the accent?
No. café becomes cafe, and naïve becomes naive, because the accent is a combining mark after NFKD. ß and æ are deleted instead, so straße becomes strae.
Are small words removed?
No. for, to, and a stay in the slug. 10 SEO Tips for Better Metadata becomes 10-seo-tips-for-better-metadata.
Why does Copy output fail on an empty title?
The published slug is an empty string, and copy has nothing to take. The panel sentence No slug yet. is only a placeholder. A title of pure punctuation ends the same way.
Is my input uploaded or saved?
This tool processes input in your browser and does not save its input or output to local storage. Copy and download are user actions. The site uses analytics for page and action metadata and may use ads and production error reporting; see the Privacy Policy for those services.
About this tool
Maintained by Toolbench. For large or deeply nested files, split the input into smaller batches and verify representative results before using them in an import or application. Report reproducible problems through Contact.
Next steps
Related tools
Continue the workflow with nearby tools for formatting, publishing, debugging, or follow-up checks.
Meta Tag Generator
Generate title, meta description, canonical, Open Graph, and Twitter tags.
Open Meta Tag GeneratorUTM Builder
Build campaign-ready URLs with UTM parameters.
Open UTM BuilderCase Converter
Convert text to camelCase, snake_case, kebab-case, CONSTANT_CASE, and Title Case.
Open Case ConverterURL Encode / Decode
Percent-encode or decode text with encodeURIComponent.
Open URL Encode / DecodeTrust
Policies, contact, and answers
Clear pages for how Toolbench works, what we collect, and how to reach us.