Text & Writing Tools
Four tools for working with prose rather than data — counting it, recasing it, faking it and escaping it.
Counting is the one every writer needs
Word and character limits are everywhere — meta descriptions, UCAS statements, tweets, abstracts, essay briefs. The Word Counter gives words, characters with and without spaces, sentences, paragraphs and an estimated reading time, which is the figure that matters if you are writing to a slot rather than a page count. Reading time assumes roughly 200–250 words a minute for silent adult reading; speaking aloud is closer to 130, so halve it for a script.
Case conversion is not just cosmetic
Changing case by hand is where typos come from. The Case Converter handles sentence, title, upper, lower, camel, snake and kebab in one pass — the last three matter because they are the naming conventions code and URLs expect, and mixing them is a common source of broken links and failed lookups. Note that true title case has rules about short words that a naive capitalise-every-word cannot know; check the result before publishing a headline.
Placeholder text buys you a layout decision
Designing with real copy is better, but real copy is rarely ready first. The Lorem Ipsum produces paragraphs, sentences or words at the length you ask for, so a layout can be tested at the density it will actually carry. Generate the amount you expect to ship, not a comfortable amount — most layouts break on too much text, not too little.
When text has to survive HTML
An ampersand, angle bracket or quote pasted straight into markup can silently break a page or, worse, open an injection hole. The HTML Entities escapes text so it renders as characters rather than markup, and unescapes entity-encoded text back to something readable. If your text is heading into a URL rather than a page body, use the URL Encoder instead — the two encodings are not interchangeable.
Everything here runs in your browser
All four tools process text locally in JavaScript — nothing you paste is uploaded, logged or stored, and the pages work with the network disconnected. That matters more than it sounds for text tools, because the text people need to count, recase or escape is often a draft, a client document, a password hint or something else that should not travel to a third-party server just to have its words tallied. If you want to confirm it, open your browser developer tools, switch to the network tab and use any tool on this page: no requests are made after the page itself loads. The counting definitions are worth knowing too — a word is a whitespace-delimited token, so hyphenated compounds count once and an em dash surrounded by spaces counts as nothing.
Frequently asked questions
Does my text get uploaded anywhere?+
No. All four tools run entirely in your browser in JavaScript — the text never leaves the page, and nothing is stored or logged. You can confirm it by opening your browser network tab and using any tool: no requests are made once the page has loaded.
How does the word counter define a word?+
As a whitespace-delimited token. A hyphenated compound counts as one word, an em dash with spaces either side counts as one token that is not a word, and numerals count as words. Most word processors use the same convention, so counts should agree within a word or two, though the treatment of footnotes and headings can differ.
Why does title case sometimes look wrong?+
Because true title case has style rules that a mechanical converter cannot resolve — short prepositions and articles are usually lowercase unless they start or end the title, and different style guides disagree about which words qualify. Treat the output as a first pass and correct the small words yourself.
When should I escape text rather than URL-encode it?+
Escape when the text is going into HTML markup, so that angle brackets, ampersands and quotes render as characters instead of being parsed as tags. URL-encode when it is going into a link, query string or path. The two encodings are not interchangeable, and using the wrong one either breaks the page or breaks the link.