Free Handy Tools

Slug & URL Generator

Try an example

One title per line — a whole list can be converted at once.

chr

0 for no limit. Cuts at a whole word.

Slug

how-to-bake-sourdough-bread-at-home

https://example.com/blog/how-to-bake-sourdough-bread-at-home

How this was worked out
  • TitleHow to Bake Sourdough Bread at Home
  • Words kept (7)how · to · bake · sourdough · bread · at · home
  • Joined witha hyphen
  • Length35 characters (limit 60)

Changed on the way through: capital letters, which are lowercased.

Hyphens are the recommended separator: Google’s URL structure guidance treats a hyphen as a word break and an underscore as a joiner, so learn_seo_basics reads as one long word and learn-seo-basics reads as three. Accented Latin letters are folded to their base letter — “Café” becomes “cafe” — but Greek, Cyrillic, Arabic and CJK are dropped rather than transliterated badly, because a transliteration that convincingly says the wrong thing is worse than one that is obviously missing. Emoji and symbols go the same way; “50% off ★” becomes “50-off”.

The length limit counts characters in the slug, not in the title, and it cuts back to the last whole word rather than mid-syllable — so a limit of 30 usually produces something shorter than 30. Nothing here checks whether the URL is already taken, and two titles that differ only in punctuation produce the same slug: “Vol. 2: The Sequel” and “Vol 2 — The Sequel” both come back as vol-2-the-sequel.

Turning a title into an address

A published URL is read by people and by search engines, and neither is well served by a numeric id or an encoded heading. This generator takes a title — or a whole list of titles, one per line, which is how a site migration usually arrives — and returns lowercase slugs, with a choice of separator, an optional maximum length that cuts back to a whole word, an option to drop small words such as "the" and "of", and the finished URL assembled ready to copy.

Four titles and the awkward character in each
TitleSlugThe rule it exercises
How to Bake Sourdough Bread at Homehow-to-bake-sourdough-bread-at-homeLowercase, spaces to hyphens
Café del Mar — Señor Jalapeñocafe-del-mar-senor-jalapenoAccents folded, dash treated as a separator
Straße & Grüße from Münchenstrasse-and-grusse-from-munchenß expands to ss, the ampersand is spelled out
Don’t Stop Believin’ (1981 Remaster)dont-stop-believin-1981-remasterApostrophes close up, so it is dont and not don-t

That last rule is smaller than it looks and decides whether the slug reads as a word. Length is handled the same way: with a 30-character limit, "a-very-long-title-that-needs-cutting-somewhere-sensible" comes back as "a-very-long-title-that-needs" rather than being sliced through whatever word happens to straddle the thirtieth character.

Accents, and the scripts that get dropped

Accented letters are folded rather than discarded. The text is normalised to Unicode NFD, which splits "é" into a plain "e" followed by a combining acute, and the combining marks are then removed. Letters with no decomposition at all — ß, æ, ø, ł, þ and others — cannot be reached that way, so they are mapped by hand.

Percent-encoding is the alternative, and it is perfectly legal: RFC 3986 permits it and every browser accepts "caf%C3%A9" for "café". It is also unreadable, awkward to quote in an email and impossible to say aloud, which is most of what a slug exists to do.

Greek, Cyrillic, Arabic and CJK are dropped rather than transliterated. A convincing transliteration needs a language-aware mapping for each script, and a poor one is wrong in a way the author has no means of seeing — plausible-looking Latin nonsense is worse than nothing. "Ελληνικά κείμενα" therefore comes back empty, and the tool explains why instead of presenting a blank box.

Hyphens, and why the first slug should be the last

Google’s URL structure guidance recommends hyphens between words and advises against underscores. The reason is mechanical: a hyphen is read as a word break and an underscore is not, so "learn-seo-basics" reads as three words while "learn_seo_basics" reads as one. The separator is configurable here because file names and some content systems follow other conventions, but for a public page the hyphen is the answer.

Changing a published URL costs the page its accumulated search history unless a redirect is put in place, and redirects pile up as their own form of maintenance. A minute spent on the slug at the moment of publishing is cheaper than a morning spent on redirects a year later.

That is the argument for spending the minute on the table at the top of this page before the post goes out, rather than on a redirect map afterwards.

Small words, empty results and changing a URL

Should small words be dropped from a slug?

Usually not worth forcing. Removing "a", "the" and "of" shortens an address and occasionally sharpens it, but it can also reduce a readable title to a telegram. The option is there for long headings, not as a default.

Why does my Greek title come back empty?

Because nothing in it survives the fold to Latin letters, and the tool would rather say so than hand back an empty string that looks like a fault. Write a Latin-script slug by hand, or accept a percent-encoded and unreadable one.

Can I change a slug after publishing?

Yes, provided a redirect from the old address goes up at the same time. Without one the page begins again from nothing in search results, and every link anyone has already made points somewhere that no longer exists.

Why are numbers kept when symbols are not?

Numbers carry meaning in a title — a year, a version, a count — and read perfectly well in an address. Most punctuation has no place in a readable URL, so it goes, with the ampersand written out because it genuinely is a word.

Last reviewed 27 August 2026