Result
This page has no server side at all. The table you paste is parsed by JavaScript inside your own browser, the chart is drawn on a canvas element on your machine, and the export file is assembled locally. Nothing is uploaded, stored or written to any log. You can disconnect from the network after the page has loaded and everything will still work — which is the simplest way to verify the claim yourself.
Facts and limits of this method
| Word | A run of non-whitespace characters between spaces and line breaks |
|---|---|
| Line breaks | Not preserved — the whole text turns into a single stream of words |
| Dash by default | A ready-made slug format: "text-as-a-slug" |
| Case | Unchanged — letters stay exactly as they were in the input |
When it misleads you
- The tool doesn't change letter case or transliterate Cyrillic — if you need a slug made only of Latin letters and digits (a common CMS requirement), run the text through a transliterator and case converter first.
- Punctuation attached to a word ("word,", "word.") is carried into the result as part of the word — it isn't stripped or separated automatically before joining.
- Multi-line text fully loses its paragraph and line structure — every word from every line is merged into one flat list with no record of which line it came from.
- If the text already contains a character matching the chosen delimiter (a dash inside a word like "well-known"), it becomes visually indistinguishable from the delimiter between words after joining.
How it is calculated
The text is searched for the pattern "a run of non-whitespace characters" — this produces a list of words regardless of which line they were originally on.
The words are merged into one string with the chosen delimiter: space, underscore, dash, or the value from the "custom delimiter" field.
Punctuation and other characters sitting right next to a word remain part of it and carry over into the result unchanged.
The counter shows how many individual words were found and joined.
Questions and answers
How do I make a proper URL slug?
First lowercase the text and transliterate Cyrillic to Latin with separate tools, then use this tool with a dash as the delimiter.
Are line breaks taken into account?
No, the whole text is treated as one continuous stream of words — the line and paragraph structure isn't preserved in the result.
Is punctuation removed before joining?
No, it stays attached to its word. If you need a clean result without punctuation, run the text through the punctuation-remover tool first.
Is my text sent anywhere?
No, all the processing runs in your browser.