Slugify · Utilities
Turn any title into a clean URL slug.
Transliterate accents, strip punctuation and join the words with your chosen separator — bounded to a max length — then copy the slug or a ready-made link. Free, no signup, and your text never leaves your device.
Runs in your browser — nothing you paste leaves this page. How we prove that
Slugify playground
Accented characters are transliterated (café → cafe); punctuation is dropped and runs of separators are collapsed.
Results update as you type — press Enter to run now.
Type a title or pick an example to see its URL-safe slug here.
The Gap
One stray accent, a broken permalink.
A title looks harmless until it becomes a URL. Leave an accented é in place and some systems percent-encode it into %C3%A9; keep the spaces, capitals and punctuation and you get a link nobody can read, share or index cleanly.
This slugify tool normalizes the text as Unicode NFKD, strips every combining mark so accents disappear instead of exploding into escapes, drops the punctuation, and joins the words with the separator you choose — bounded to a max length so the slug stays concise. Everything runs in the browser, with nothing to install and no text ever leaving your device.
Need a different transform instead of a slug? The Case Converter switches text between camelCase, snake_case, kebab-case and more.
The Pipeline
How it works.
Four deterministic steps run on every keystroke — all inside your browser tab, Unicode normalized before a single character is dropped.
-
Normalize the Unicode.
The title is decomposed to NFKD form so accents, diacritics and ligatures separate from their base letters — café becomes cafe, fi becomes fi.
-
Strip what URLs reject.
Combining marks and every character outside letters and digits — punctuation, symbols, emoji — are removed, leaving only URL-safe words.
-
Join and collapse.
Words are joined with your chosen separator; runs of separators collapse to one and any leading or trailing separator is trimmed.
-
Bound the length.
If a max length is set, the slug is cut at the last word boundary at or before the limit — or hard-cut when a single word overruns it.
Slug Rules
What makes a clean slug.
Every title runs through the same four rules — normalize, strip, join, bound. Here is exactly what each one does and how the max-length limit decides where to cut.
The four rules
Normalize to NFKD, strip combining marks with \p{M}, optionally lowercase, then map everything outside a–z 0–9 to the separator.
input "Blog post: Héllo Wörld! (2026)"
step 1 NFKD Blog post: Héllo Wörld! (2026)
step 2 strip \p{M} Blog post: Hello World! (2026)
step 3 lowercase blog post: hello world! (2026)
step 4 non-alnum → - blog-post-hello-world-2026
separators - _ . (single char, collapsed)
kept chars a–z 0–9 (A–Z 0–9 if lowercase off)
max length cut at last "-" boundary ≤ limit Where max length cuts
The limit prefers the last separator boundary at or before it; a single over-long word is hard-cut at the limit with the trailing separator removed.
slug hello-world-again (17 chars)
max 12 hello-world cut at "-" boundary ≤ 12
max 5 hello "hello-…" trimmed
max 60 hello-world-again within the limit
no boundary before the limit → hard cut:
supercalifragilistic max 5 → super Next Step
Not a slug — a case change? Convert it.
Slugify is for URLs. When you need to rename a variable or a file instead, the Case Converter switches text between camelCase, snake_case, kebab-case and more — and the Base64 Encoder / Decoder handles the encoding side, all in your browser.
Héllo Wörld! ← title
hello-world ← slug (kebab)
hello_world ← slug (underscore)
hello.world ← slug (dot) FAQ
Questions, answered.
Tap a question to expand the answer.
What is a slug?
A slug is the human-readable part of a URL that identifies a page in words rather than an opaque id — the "hello-world" in /blog/hello-world. A good slug uses only lowercase letters, digits and a single separator, so it is safe to type, share and index. Slugify turns any title or heading into one in your browser.
How are accented and non-English characters handled?
The title is Unicode-normalized (NFKD) and every combining mark is stripped, so accents and diacritics are removed rather than dropped: café becomes cafe, Zürich becomes zurich, and typographic ligatures like fi decompose to fi. Characters with no ASCII letter or digit underneath — emoji, symbols, CJK — are removed, and the remaining words are joined with your separator.
Which separators can I use?
A hyphen (-), an underscore (_) or a dot (.). Hyphen is the convention for web URLs and the one search engines treat as a word break, so it is the default. Whichever you pick, any run of disallowed characters collapses to a single separator and leading or trailing separators are trimmed.
What does the max-length option do?
It caps the slug at a number of characters. Slugify prefers to cut at the last separator boundary at or before the limit so the slug ends on a whole word; if a single word is already longer than the limit it hard-cuts at the limit and removes any trailing separator. Leave it empty (or 0) for no limit.
Why should slugs be lowercase?
URLs are case-sensitive on most servers, so /Hello-World and /hello-world can resolve to different pages — a common source of duplicate-content and broken-link problems. Lowercasing keeps every slug canonical and predictable. The Lowercase toggle is on by default; turn it off if you specifically need to preserve case.
Does my text ever leave my browser?
No. Slugify runs 100% client-side in your tab — there is no server, no account and no logging. You can paste draft titles, internal headings or private content; it never travels over the network.
Is the slug SEO-friendly?
Yes. Short, lowercase, hyphen-separated slugs that contain the page keywords are the format search engines and users read best. Slugify strips stop punctuation and accents so the words survive intact, and the max-length option keeps the slug concise instead of a wall of hyphenated text.
Can I turn a slug back into a title?
Not reliably — slugifying is lossy. Case, punctuation, accents and separators are all normalized away, so hello-world could have come from "Hello, World!" or "hello world". Keep the original title as your source of truth and generate the slug from it, not the other way around.
More free, private DevOps tools.
Slugify is one tool in OpsCanopy — a growing canopy of browser-based validators, converters and testers that never touch a server.
More in Utilities
39 free tools, every one offline-capable — opscanopy.com works with no signup and nothing uploaded.
Related text tools: the Case Converter and the Base64 Encoder / Decoder, or browse the full tools directory.
Provided as-is for convenience; slugifying is lossy — keep the original title as your source of truth. OpsCanopy is free and open.