Bulk Text to Slug Converter

Turn many titles into URL slugs at once.

Free bulk text-to-slug converter — paste one title per line and get clean, lowercase, hyphenated URL slugs with accents stripped. Runs entirely in your browser, so nothing is uploaded. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

How are accents and special characters handled?

Accented letters are normalized to their base form, so "Café" becomes "cafe", and any run of non-alphanumeric characters collapses to a single separator.

Convert text to URL slugs in bulk

This bulk converter turns a list of titles into clean, web-safe URL slugs — one slug per line. It is built for content teams and developers slugifying a batch of blog posts, product names, page titles, or filenames in a single pass rather than one at a time.

How it works

Each line is processed independently. First, accents are removed by Unicode normalisation (NFKD) so Café becomes cafe. The text is optionally lower-cased, then any run of non-alphanumeric characters (spaces, punctuation, symbols) is collapsed into a single separator — a hyphen by default, or an underscore if you choose. Finally, leading and trailing separators are trimmed so no slug starts or ends with one.

slug = deaccent → (lowercase) → non-alphanumeric runs → separator → trim ends

Worked example with varied input

Input:

Hello, World!
10 Tips for Better Sleep
Café René — Opening Soon
The £1,000 Question
What Is JSON-LD? A Beginner's Guide

Output with the hyphen separator and lowercasing on:

hello-world
10-tips-for-better-sleep
cafe-rene-opening-soon
the-1000-question
what-is-json-ld-a-beginners-guide

Key things to notice:

  • The £ sign is a non-alphanumeric character and is removed (collapses into the hyphen around it).
  • JSON-LD becomes json-ld — the existing hyphen is preserved because hyphens are alphanumeric separators that survive the collapse.
  • Beginner's loses its apostrophe and becomes beginners, not beginner-s — single punctuation characters in the middle of a word collapse into the separator only if there are no alphanumeric characters on at least one side.

Hyphen vs underscore: when to use each

The choice of separator affects more than aesthetics:

Hyphens (-) are the standard separator for public URLs and are strongly recommended for SEO. Google’s documentation historically treats hyphens as word separators, which means best-running-shoes is indexed as containing “best”, “running”, and “shoes” as separate words.

Underscores (_) were historically not treated as word separators by some crawlers, though Google has stated it handles underscores correctly in modern indexing. Underscores are the conventional separator for Python variables, database column names, filenames in some contexts, and URL query parameters. Use underscores when the slug will be used as a code identifier or filename rather than as a public URL path.

Common situations and how the tool handles them

Input titleHyphen slugUnderscore slug
Product Review 2026product-review-2026product_review_2026
FAQ: What is OAuth?faq-what-is-oauthfaq_what_is_oauth
C++ Tutorialc-tutorialc_tutorial
100% Organic100-organic100_organic
Leading spaces leading-spacesleading_spaces

Note that C++ loses both plus signs and produces c-tutorial — the ++ run collapses to a single separator. If you need to preserve the meaning, edit the slug after conversion to cpp-tutorial.

Keeping uppercase

Lowercasing is on by default because most CMS and routing systems treat URLs as case-sensitive and lowercase slugs are the de facto standard. Toggle it off if you need to preserve the original casing — for example when generating CamelCase identifiers or when a content system normalises case itself.

Everything runs locally in your browser — nothing is uploaded, so your draft titles stay private.