Open Tools LibraryOpen Tools Library
Text & Writing Tools

Slug Generator

Turn titles into clean URL slugs — one at a time, or hundreds at once.

Also known as: URL slug maker, Slugify tool, Permalink generator

100% FreeNo Signup RequiredBatch Mode IncludedAccent & Unicode Aware
100% local — nothing you enter here ever leaves this browser tab
Loading tool…
Step by step

How it works

  1. 1Type or paste a title into the single-slug box, or switch to Batch mode and paste a list of titles, one per line.
  2. 2Choose a separator (hyphen or underscore), and optionally enable stop-word removal or a maximum length.
  3. 3Watch the slug (or full batch table) generate instantly, with a live URL preview in single mode.
  4. 4Copy a slug with one click, or download the full batch as a CSV file.
Why OTL

Why use Slug Generator

Handles accents and symbols correctly

Accented and many non-Latin characters are normalized to plain ASCII instead of being dropped or breaking the slug entirely.

Never cuts a word in half

Length limiting always truncates at the nearest complete word, never mid-word, when you set a maximum slug length.

Optional stop-word removal

Strip filler words like "a", "the", and "of" for noticeably shorter, cleaner SEO-friendly slugs.

True batch mode

Slugify an entire list of titles at once — not available on most single-slug tools — with automatic numbered de-duplication.

Live URL preview

See exactly how your slug looks inside a full URL before you use it anywhere.

CSV export for batches

Download original-title-to-slug mappings as a CSV, ready to import into a CMS or spreadsheet.

Real-world use

Who uses Slug Generator

Publishing a new blog post

Generate a clean, keyword-friendly slug from a post title before publishing.

Migrating a site's content

Batch-generate slugs for hundreds of existing titles at once when moving content to a new CMS.

Naming a file or repository

Turn a descriptive title into a clean, hyphenated filename or folder name.

Building a product URL

Generate a consistent, URL-safe slug for an e-commerce product listing.

Creating an anchor link or ID

Generate a clean id-safe string from a heading for in-page anchor links.

Auditing existing URLs

Paste in a batch of page titles to check what their slugs should look like against what's currently live.

Deep dive

About Slug Generator

A slug is the part of a URL that identifies a specific page — the "best-coffee-shops-in-sao-paulo" in yoursite.com/blog/best-coffee-shops-in-sao-paulo. Getting it right matters more than it looks: search engines give some weight to keywords in a URL, broken slugs with double hyphens or stray punctuation look unpolished, and a slug that's needlessly long is harder to share and remember. Most basic slugify tools handle the easy case — spaces to hyphens, lowercase everything — and then quietly fall over on anything harder.

The harder cases are common. A title like "Café Costa Rica — 20% Off!" has an accented letter, an em dash, a percent sign, and an exclamation mark. Run it through a naive slugifier and you'll often get something broken — an empty string, a slug full of stray dashes, or "caf" where "café" should be. This tool normalizes accented and many non-Latin characters down to their closest plain-ASCII equivalent (café becomes cafe, not an empty gap), strips punctuation cleanly, and collapses everything else into single, evenly spaced hyphens or underscores, whichever separator you choose.

Two options go further than most slugifiers bother to: stop-word removal, which drops short filler words like "a", "the", and "of" to produce a noticeably shorter, punchier slug for long titles; and word-boundary-safe length limiting, which truncates a slug down to a maximum character count without ever cutting a word in half — so a 90-character title trimmed to 60 characters ends cleanly at a word boundary instead of mid-word.

Batch mode is built for a different kind of job entirely: migrating a spreadsheet of blog post titles, generating slugs for a bulk CMS import, or auditing a whole list of URLs at once. Paste in a list of titles, one per line, and every option above applies to the whole batch simultaneously. Duplicate titles are automatically handled by appending a numbered suffix (so two posts both called "Getting Started" become getting-started and getting-started-2), and the whole result can be copied per row or exported as a CSV file for use anywhere else. Like every tool here, all of this runs locally — your titles are never uploaded anywhere to be processed.

Compare

Slug Generator vs. other options

How Open Tools Library compares to desktop software and other online tools.

FeatureOpen Tools LibraryDesktop softwareOther online tools
PriceFree, unlimitedN/A (usually a code snippet)Often free
Batch modeYes, with CSV exportRequires a scriptRare, usually single-slug only
Accented character handlingAutomatic, ASCII-normalizedDepends on implementationOften dropped or broken
Word-safe length limitingYesDepends on implementationRare, often cuts mid-word
Data privacyNever leaves your deviceStays localOften sent to a server
SpeedInstant, live as you typeInstant, once writtenVaries by site
Pro tips

Pro tips

  • Enable stop-word removal for long titles when you want the shortest possible slug that's still readable and keyword-relevant.
  • A max length around 50–60 characters is a common sweet spot — long enough to stay descriptive, short enough to display fully in search results.
  • In batch mode, duplicate titles automatically get a numbered suffix (-2, -3, and so on) so you never end up with two identical slugs.
  • Accented characters (café, naïve, São Paulo) convert to their closest plain-letter equivalent automatically — no need to manually rewrite titles first.
  • Underscore separators are less common for URLs (search engines generally treat hyphens as word breaks but not always underscores) — hyphens are the safer default for SEO.
Under the hood

Technical specs

Modes
Single slug, or batch (one title per line)
Separator options
Hyphen (-) or underscore (_)
Accent/Unicode handling
Normalized to plain ASCII
Length limiting
Word-boundary-safe truncation
Batch export
CSV download
Processing location
100% local, in your browser

Privacy & security

A batch of titles waiting to become URLs is often unpublished content — draft post names, unreleased product titles — so it's worth knowing that list never has to leave your device just to get slugified.

Every slug, single or batch, is generated locally in your browser — no title list is ever uploaded to a server.

No account or signup is needed to use single or batch mode.

Batch results and CSV exports are generated and downloaded directly from your browser — nothing passes through a remote server first.

Equally private for one public blog title or a spreadsheet of unreleased product names.

FAQ

Frequently asked questions

Is my title list uploaded anywhere, even in batch mode?

No. Both single and batch slug generation run entirely in your browser — nothing is ever sent to a server, no matter how many titles you paste in.

Does it handle non-English titles?

Yes for accented Latin-script languages (Spanish, French, German, Portuguese, and similar) — accented characters are normalized to their plain-letter equivalent. Non-Latin scripts without a direct ASCII equivalent may be stripped.

How are duplicate slugs handled in batch mode?

Automatically — the second occurrence of a slug gets a -2 suffix, the third gets -3, and so on, so every row ends up with a unique slug.

Can I choose underscores instead of hyphens?

Yes, there's a separator toggle for both. Hyphens are the more SEO-common choice, but underscores are supported for cases like filenames or internal identifiers.

What happens to numbers and existing hyphens in my title?

Numbers are preserved as-is; existing hyphens and multiple consecutive spaces are collapsed into single separators so the output never has doubled-up dashes.

Is there a limit on how many titles I can batch-process?

No hard limit — larger batches just take a fraction of a second longer, entirely on your device.

Stuck?

Troubleshooting

My slug came out empty

This usually happens when stop-word removal strips every word in a very short title (e.g. "The A to Z"). Disable stop-word removal for very short titles, or add a bit more descriptive text.

An accented character turned into something unexpected

Most accented Latin characters (é, ñ, ü, and similar) convert cleanly to their plain-letter equivalent. Characters from non-Latin scripts without an ASCII equivalent may be dropped — for those, consider keeping the separator-only conversion and adding a manual translation if needed.

Two rows in batch mode have the same slug

This shouldn't happen — duplicate slugs are automatically given a numbered suffix (-2, -3, etc.). If you're seeing an exact duplicate, check whether the original titles are being treated as identical after normalization (e.g. differing only in a symbol that gets stripped).

My max length is cutting off in an odd spot

Length limiting always trims at the last complete word that fits inside your limit, which can make the actual result a few characters shorter than the limit — that's expected behavior, not a bug.

Ready to use Slug Generator?

Free, private, and ready right now — no signup required.

Scroll to Slug Generator