Skip to main content

Unslugify — Slug, snake_case and camelCase to readable text

Turn my-blog-post, user_first_name and parseHTMLContent back into readable text, browser-only

  • Runs locally
  • Category Text
  • Best for Removing repetitive cleanup work from everyday writing and operations.
Readable text

What this tool does

Unslugify reverses a slug, snake_case, dotted or camelCase string back into plain readable text. Paste my-blog-post and read My Blog Post; paste user_first_name and read User First Name. It recognises four kinds of word boundary at once: dashes, underscores, dots and the case transitions inside camelCase or PascalCase (so parseHTMLContent splits into Parse, HTML and Content without breaking the acronym). Pick the output casing you need: Title Case for headings, sentence case for prose, all lowercase, or a raw mode that only swaps separators for spaces and leaves your original casing alone. A Title Case toggle keeps small words like of, the and and lowercase the way real headlines are written. Drop in many lines and each one converts on its own line for batch work, then copy the whole result with one click. Everything runs in your browser tab, nothing is uploaded.

Tool details

Input
Text
The page exposes text boxes, numeric controls, file pickers, or structured inputs depending on the tool.
Output
Live result + Copy
The result area focuses on usable output, with copy, download, or preview actions when supported.
Privacy
Browser-side processing
The main tool logic does not call an external API, so inputs normally stay in the current tab.
Save / share
Shareable URL state
Key settings are encoded in the URL so another person can reopen the same setup.
Performance budget
Initial JS <= 9 KB
No WASM budget is declared, keeping the tool quick to open on mobile.
Best fit
Text · Developer
Category and role tags drive related tools, internal links, and quick fit checks.

How to use

  1. 1. Input

    Paste or drop your content into the tool panel.

  2. 2. Process

    Click the button. All processing is local in your browser.

  3. 3. Copy / Download

    Copy the result or download to disk in one click.

How Unslugify fits into your work

Use it to clean, compare, reshape, or extract plain text before it goes into a document, CMS, spreadsheet, or prompt.

Text jobs

  • Removing repetitive cleanup work from everyday writing and operations.
  • Making text easier to compare, paste, publish, or feed into another tool.
  • Working with content locally when the text is private or unfinished.

Text checks

  • Scan for unintended whitespace, duplicate lines, and lost punctuation.
  • For long text, test the first few lines before applying the whole change.
  • Copy the final output only after checking the preview.

Good next steps

These links move the current task into a more complete workflow.

  1. 1 URL Slug Generator Turn any title into a clean URL slug — lowercase, dashes, ASCII-safe transliteration, multiline batch — browser-only Open
  2. 2 Case Converter Convert text between camelCase, snake_case, kebab-case, PascalCase, Title Case, UPPER, lower — instant, browser-only Open
  3. 3 Find and Replace Text Batch find-and-replace on big text — regex, $1 capture groups, whole-word, case toggle, multiple chained rules — runs entirely in your browser Open

Real-world use cases

  • Generate page titles from URL slugs

    Your CMS exports a list of URL slugs like getting-started-with-vue and you need a column of human titles for a sitemap or a navigation menu. Paste the whole column, leave Title Case on, and read back Getting Started With Vue line by line. The small words toggle keeps of and the lowercase so the titles look hand written rather than machine stamped.

  • Turn database column names into form labels

    A table has columns like first_name, date_of_birth and is_active and you are building a form by hand. Drop the column names in, switch the output to Title Case, and you have First Name, Date of Birth and Is Active ready to paste as field labels, with no manual editing of every underscore.

  • Read API or code identifiers out loud in a review

    During a code walkthrough you hit identifiers like parseHTTPResponse and shouldRetryRequest. Paste them and the tool shows Parse HTTP Response and Should Retry Request, which is far easier to say in a meeting and to drop into a comment or a commit message that a non-coder will read later.

  • Clean up exported file names for a caption list

    A folder of screenshots named summer_trip_2024 and beach.sunset.final needs friendly captions for a gallery. Batch the file names through, pick sentence case, and read Summer trip 2024 and Beach sunset final, then copy the lot in one click instead of retyping each caption.

Common pitfalls

  • Expecting raw mode to split camelCase. Raw mode only swaps separators for spaces, so myBlogPost stays myBlogPost. Use Title, sentence or lowercase mode if you want camelCase boundaries split into separate words.

  • Wondering why an acronym is not split letter by letter. parseHTMLContent reads Parse HTML Content on purpose, because a run of capitals is treated as one word. That is the correct behaviour for HTML, API, URL and similar, not a bug.

  • Forgetting that the small words toggle only affects Title Case. In sentence case, lowercase and raw modes the toggle does nothing, so flipping it while in sentence case will look like it has no effect. Switch to Title Case first to see of and the change.

Privacy

Every step runs as plain JavaScript inside your browser tab: the word splitting, the casing and the small word rules. The slugs you paste and the text that comes out never leave the page and nothing is logged. One thing to know: the input and your style choice are written into the page URL so a share link reproduces your exact result, which means a shared link records that text in the recipient server access log. For anything sensitive, use the copy button and paste the text rather than the URL.

FAQ

Tool combos

Folks in your role tend to reach for these alongside this tool.

Made by Toolora · 100% client-side · Updated 2026-07-02