Slug Generator
Turn titles into slugs with German spelling, Unicode, unique batches, and length checks.
Results update as you type. Enable batch mode to process multiple titles.
0 characters · 0 bytes when percent-encoded
Slug options
Runs locally in your browser. Nothing is uploaded or sent to a server.
Enter a title in Text input to generate a URL slug instantly, then use Copy slug. Open Slug options to choose hyphens or underscores, preserve case, set a character limit, or select Latin, German, Unicode, or ASCII handling. German mode turns für into fuer; Unicode keeps international letters. Enable batch mode for one title per line and optional unique suffixes. Conversion runs on-device, and invalid results block copying or downloading the complete list.
Updated
Related Tools
Text Case Converter
Convert headings and identifiers with acronym preservation, language options, and line-by-line controls.
text-toolsWord Counter
Count your draft with optional citation and parenthesis exclusions, then track a word goal.
text-toolsCharacter Counter
Count visible characters and UTF-8 bytes, with a letter, digit, space, and symbol breakdown.
developer-toolsURL Encode / Decode
Encode values, decode URL layers, or edit query parameters with four formats and line-by-line conversion.
How Do You Turn a Title into a URL Slug?
Enter Äpfel & Öl: für alle! in Text input. With the defaults, the result is apfel-and-ol-fur-alle. Open Slug options and choose German to ASCII (ü → ue) to get aepfel-and-oel-fuer-alle. Results update immediately; use Copy slug when the preview matches your intended path.
https://example.com/articles/writing-better-titles, the final segment is
writing-better-titles. Paste your heading into the input to see its slug
immediately. The default settings lowercase the text, convert common Latin accents to
ASCII, and replace punctuation or whitespace with hyphens. You can preserve case or use
underscores when your application's naming rules call for them.
Review a generated slug before publishing it. A useful path describes the page without
relying on an internal number or a temporary draft title. This tool performs character
conversion; it does not summarize text, translate titles, remove stop words, or decide
which words matter most. Edit the source title if you want a shorter or more descriptive
result. Use the word counter to inspect a longer title or draft.
How Can You Generate Slugs for Multiple Titles?
Enable batch mode and paste one title per line. Each nonblank line becomes one result, so a list of article headings or product names can be prepared together. Blank lines are ignored. Results retain the order of the remaining titles, which makes the TXT output suitable for pasting alongside an existing ordered list. With batch mode off, line breaks are treated as separators inside a single title instead. Enable unique slugs when several titles could produce the same path. For example,Hello! and Hello? both normally become hello.
With uniqueness enabled, the second result becomes hello-2. The generator
also checks collisions introduced by the length limit. This check covers only the
current batch: it cannot tell whether a path is already in use on your site. Compare
exported results with your existing routes before importing them.
Which Character Mode Should You Choose?
Latin to ASCII handles accented Latin letters and common exceptions such asæ → ae, ø → o, and ł → l. It normalizes composed
and decomposed accents so equivalent Latin text produces the same result. In this
mode, symbols are expanded as separate words: AT&T becomes
at-and-t, and €5 becomes euro-5.
Preserve Unicode retains letters, numbers, and combining marks from international
scripts. A title such as 你好 世界 becomes 你好-世界 rather
than an empty result. This mode does not translate or romanize the title. ASCII only
keeps ASCII letters and digits without converting accented letters: café
becomes caf. Choose the mode that matches the receiving system's rules,
and inspect the preview when changing modes.
| Characters option | Input | Generated slug |
|---|---|---|
| Latin to ASCII (ü → u) | Crème Straße | creme-strasse |
| German to ASCII (ü → ue) | für alle | fuer-alle |
| Preserve Unicode | 你好 世界 | 你好-世界 |
| ASCII only (remove accents) | café noir | caf-noir |
When Should You Use German Transliteration?
Choose German to ASCII when umlauts should become letter pairs: ä → ae, ö → oe, and ü → ue. Both transliteration modes convert ß → ss; the difference is how they handle umlauts. This is a spelling conversion, not language detection or translation. The setting applies to every title in the batch, so separate lists if they need different rules.
Spelling conversions can introduce collisions. In German mode, für and fuer both produce fuer. With Make slugs unique within this batch checked, that ordered pair becomes fuer and fuer-2. Reordering the titles can change which one receives the unsuffixed path. Keep a title-to-slug mapping when assigning permanent routes.
How Are Length Limits and Invalid Titles Handled?
The maximum character setting uses Unicode code points rather than UTF-8 byte length or the length of a percent-encoded URL. A value of zero leaves the length uncapped. A positive value truncates the generated slug and removes any trailing separator. This can split a word and does not guarantee a complete visual grapheme when a script uses combining marks. A destination with a byte-based limit needs a separate check. ForHello world, a limit of six produces hello because the trailing hyphen is removed; a limit of three produces hel.
Numeric uniqueness suffixes count toward the same maximum. If there is insufficient
room for a base and its suffix, the affected line receives a warning. Titles that
contain only unsupported characters receive warnings too. Export remains disabled
until every nonblank title has a valid result. This keeps the exported list aligned
with the input instead of silently dropping unsuccessful conversions.
Why Are Character and Percent-Encoded Lengths Different?
In single-title mode, the status line shows characters and bytes when percent-encoded. It calculates the first with Unicode code points and the second with the length of encodeURIComponent(slug). For café in Preserve Unicode mode, that is four characters and nine when percent-encoded: caf%C3%A9. The encoded representation has nine ASCII characters; the unescaped text itself occupies five UTF-8 bytes. These are different measurements.
The character limit does not cap that encoded measurement. Batch mode shows the title count and how many need attention instead of individual length totals. If your receiving system limits encoded path length, inspect a title in single mode and confirm what the system actually counts. Use the character counter for separate text inspection.
How Do You Copy or Download the Results?
Copy slug or Copy all places the output on the clipboard. If browser clipboard access fails, an explanatory message tells you to select and copy the output manually. Download TXT saves the same results asslugs.txt, with one slug per line
in batch mode and no extra column labels. The output field remains selectable, and
Clear input removes the current titles without resetting your chosen options.
All conversion runs locally in your browser. The tool sets no fixed batch-size cap,
but very large lists can take longer or use more memory on a phone. For URL escaping
rather than title conversion, use URL encode/decode.
Keep the distinction in mind: this generator creates path names; it does not encode
an entire URL or validate the availability of a published address. How to Use Slug Generator
-
Text input
Type or paste a title. Generated slug updates as you type; no Generate button is required.
-
Slug options
Open Slug options. Choose Separator and Characters, adjust Lowercase, and set Max characters (0 = no limit) if needed.
-
Batch mode: one title per line
For a list, enable Batch mode: one title per line and paste into Titles. Optionally check Make slugs unique within this batch under Slug options. Blank lines are skipped.
-
Download TXT
Fix any flagged lines. Use Copy slug for one title, Copy all for a batch, or Download TXT to save slugs.txt in input order.