Text to Slug bulk conversion with Text To Slug accepts up to 100,000 UTF-16 code units per conversion, runs entirely in the browser, and lets you download the exact result as UTF-8 plain text without ever sending your titles to a server. The converter processes one input into one slug, so a bulk workflow means pasting a large title block, iterating through a long list of titles one at a time, or running many single conversions back to back with the same options. Every conversion is deterministic under the browser's Unicode implementation, so the same title and the same settings always produce the same slug, which matters when you are turning dozens of CMS drafts into URL segments.

What "Bulk" Means for a Slug Converter
Most readers who search for a bulk slug tool expect a multi-line field where each line becomes its own slug, copied as a block. The Text To Slug tool follows a stricter contract: one input field, one output slug, with a deliberately large input ceiling so you can paste substantial text without splitting it first. That ceiling is 100,000 UTF-16 code units, which is wide enough for very long titles, abstract paragraphs, or a CSV-style block that you would normally split before slugging.
The practical bulk workflow has three shapes. The first is a single large title or paragraph that you want collapsed into one identifier. The second is a long list of titles that you feed through the tool one at a time, copying each result into your CMS, spreadsheet, or filename list. The third is repeating the same settings across many titles so the conversion stays consistent. Because processing happens locally, the per-title cost is essentially typing speed, not upload time or API quota.
How Text To Slug Handles Large Inputs
The tool rejects empty input, malformed Unicode, and any string over 100,000 UTF-16 code units before normalization begins. Malformed UTF-16 with an isolated surrogate is rejected on purpose, so the preview and the UTF-8 download never silently disagree through replacement characters. Ordinary text typed or pasted in a browser is well formed, but the validation keeps the transformation contract explicit when you paste from unusual sources.
Once the input passes validation, the converter applies Unicode NFKD normalization, which is the form that decomposes compatibility characters such as ligatures and accented letters into their base components. Combining marks are then removed, and the remaining letters are lowercased. That single normalization pass is what makes "Crème brûlée" become "creme brulee" in ASCII mode, without any hand-written transliteration dictionary. The behavior comes from the browser's built-in Unicode data, which is documented on the MDN String.normalize reference page and in Unicode Standard Annex #15 on normalization forms.
Convert Many Titles in a Few Clicks
- Enter the title or phrase to convert in the input field. You can paste a single long title or the first item from a list you are working through.
- Choose a separator: hyphen or underscore. Any existing hyphens, underscores, spaces, or punctuation in the title are normalized to whichever character you pick, so mixed separators collapse into a single style.
- Set the maximum length as a whole number from 1 through 200. The limit is measured in Unicode code points of the generated slug, not the input string.
- Decide whether to keep non-Latin Unicode letters and numbers. Leave this off for ASCII mode and turn it on for Unicode mode.
- Generate the slug and inspect the exact characters and the reported length in the preview. The preview is the same value that will be downloaded.
- Download the result as UTF-8 plain text. The download is a temporary Blob URL that the browser revokes as soon as the transfer begins.
- Repeat for the next title. Editing any field clears the previous result, so each iteration starts from the current input and options.
ASCII Mode vs Unicode Mode for Mixed-Language Lists
If your bulk list mixes English, accented Latin, and non-Latin scripts, the mode choice changes what survives. The two modes follow explicit rules rather than guessing at transliteration, which is the point of the tool: no language dictionary is loaded, and no language choices are made on your behalf. Use the comparison below to pick the mode that matches your destination system.
| Aspect | ASCII Mode | Unicode Mode |
|---|---|---|
| Retained letters after NFKD | Lowercase a-z only | All Unicode letters the browser classifies as letters |
| Retained digits | 0-9 | All Unicode numbers |
| Accented Latin such as "Crème brûlée" | Reduces to "creme-brulee" | Reduces to "creme-brulee" via NFKD, diacritics removed |
| Chinese, Arabic, Cyrillic, Greek | Removed; surrounding runs become the separator | Preserved as-is after combining marks are removed |
| Punctuation and symbols | Become one separator, then collapsed | Become one separator, then collapsed |
| Empty result handling | Returns an explicit error instead of an empty slug | Returns an explicit error instead of an empty slug |
The tool deliberately does not transliterate languages. It does not convert Chinese characters to Pinyin, Cyrillic to Latin, or German sharp s to ss, because those mappings require language choices and reference tables that can be surprising. ASCII mode is more portable across older tools and email clients; Unicode mode preserves language identity for CMSes and analytics that handle non-Latin URLs.
Maximum Length, Surrogate Pairs, and Truncation
Maximum length counts Unicode code points in the generated value, not bytes and not UTF-16 code units. Truncation happens after conversion, which means the input can be any size up to the 100,000 code unit ceiling while the output is bounded by your stated limit. If the retained portion ends with a separator, that trailing separator is trimmed, so a slug never finishes on a hyphen or underscore. The tool does not try to preserve a complete last word, because doing so could push the final length past the stated ceiling or stop well short of it.
Surrogate pairs are handled explicitly. A character encoded as a UTF-16 surrogate pair in the input still counts as one Unicode code point in the output, and truncation never cuts a pair in half. Malformed input with an isolated surrogate is rejected before normalization, which keeps the preview and the UTF-8 Blob encoder from producing different strings through replacement characters.
Separators, Boundaries, and Disallowed Characters
Every consecutive run of spaces, punctuation, symbols, and disallowed characters becomes at most one separator. Leading and trailing separators are removed, so a title that starts or ends with punctuation does not produce a slug that starts or ends with a separator. Existing hyphens and underscores in the input are treated like any other boundary character, which means a title like "Draft - v2_final" with hyphen selected becomes "draft-v2-final" rather than carrying mixed separators into the output.
In ASCII mode, a letter that does not decompose to an ASCII base letter is removed as part of its surrounding separator run. That is why a script such as Greek or Devanagari can produce an empty result in ASCII mode and trigger the explicit error: every character in the title falls outside the retained set, and the tool refuses to return an empty slug. Switch to Unicode mode to keep those characters, or pre-filter the list to titles that contain at least one ASCII letter or digit after normalization.
Downloading and Reusing Bulk Results
The download step creates a temporary UTF-8 Blob URL at the moment you click and revokes it immediately after the browser starts the transfer. The downloaded file contains the exact slug shown in the preview, with no domain, no leading slash, no file extension, and no percent encoding. That makes the file easy to paste into a CMS field, a spreadsheet column, a filename rename script, or an anchor list for documentation.
For bulk reuse, the cleanest pattern is to keep a running text file open beside the tool: paste each title, generate, download, then copy the slug into the file. Because processing is local and deterministic, you can re-run any title later with different settings and the result will be reproducible. If you are working with related bulk text tasks, the bulk prefix-to-each-line guide covers the inverse shape of turning a list into a prepared column without uploading it.
What the Tool Does Not Check
A slug does not reserve a URL or guarantee uniqueness. Two different titles can normalize to the same value, and truncation increases the collision risk because shorter ceilings leave more room for overlap. The tool does not check reserved routes, filesystem names, database constraints, case-insensitive collisions, or an existing site's URL inventory. Your destination system, whether a CMS router, a static site generator, or a database unique index, should enforce uniqueness or append its own stable identifier.
The tool also does not add a domain, a path slash, a file extension, or percent encoding. Search engines can handle Unicode URLs, but browsers and copy-paste flows between systems may display percent-encoded forms, which is a reason to prefer ASCII mode when portability across older tools matters. Choose the mode according to the actual CMS, router, analytics setup, and editorial policy rather than assuming one mode is universally better. Editing any field clears the old result, and no title, output, history, account, dictionary, or network service participates in the conversion, which is why the same input and options produce a deterministic value under the browser's Unicode implementation.