# Text tools

- Human page: https://happytails.ai/en/text-tools/
- Markdown: https://happytails.ai/en/text-tools.md
- Structured JSON: https://happytails.ai/agents/en/text-tools/index.json
- Visibility: public

## Page guide

Find the tool you need, then open it to get started.

## All text tools

- [Add line numbers](https://happytails.ai/en/text-tools/add-line-numbers/): Number each line, starting at 1. ([Markdown](https://happytails.ai/en/text-tools/add-line-numbers.md))

- [Add prefix suffix](https://happytails.ai/en/text-tools/add-prefix-suffix/): Add a prefix or suffix to every line. ([Markdown](https://happytails.ai/en/text-tools/add-prefix-suffix.md))

- [Alternating case](https://happytails.ai/en/text-tools/alternating-case/): Alternate lowercase and UPPERCASE letters. ([Markdown](https://happytails.ai/en/text-tools/alternating-case.md))

- [Bold text](https://happytails.ai/en/text-tools/bold-text/): Turn letters and digits into bold Unicode characters. ([Markdown](https://happytails.ai/en/text-tools/bold-text.md))

- [Bubble text](https://happytails.ai/en/text-tools/bubble-text/): Turn Latin letters and digits into circled characters. ([Markdown](https://happytails.ai/en/text-tools/bubble-text.md))

- [Camel case](https://happytails.ai/en/text-tools/camel-case/): Turn words into a camelCase identifier. ([Markdown](https://happytails.ai/en/text-tools/camel-case.md))

- [Case converter](https://happytails.ai/en/text-tools/case-converter/): Switch your text between six capitalization styles. ([Markdown](https://happytails.ai/en/text-tools/case-converter.md))

- [Character counter](https://happytails.ai/en/text-tools/character-counter/): Count visible characters, words, lines and UTF-8 bytes. ([Markdown](https://happytails.ai/en/text-tools/character-counter.md))

- [Comma separated list](https://happytails.ai/en/text-tools/comma-separated-list/): Turn nonempty lines into a comma-separated list. ([Markdown](https://happytails.ai/en/text-tools/comma-separated-list.md))

- [Compare text](https://happytails.ai/en/text-tools/compare-text/): Compare two versions of text, line by line. ([Markdown](https://happytails.ai/en/text-tools/compare-text.md))

- [Dot case](https://happytails.ai/en/text-tools/dot-case/): Join lowercase words.with.dots. ([Markdown](https://happytails.ai/en/text-tools/dot-case.md))

- [Duplicate word finder](https://happytails.ai/en/text-tools/duplicate-word-finder/): List repeated words and how often they appear. ([Markdown](https://happytails.ai/en/text-tools/duplicate-word-finder.md))

- [Emoji picker](https://happytails.ai/en/text-tools/emoji-picker/): Find emoji by an English name or keyword. ([Markdown](https://happytails.ai/en/text-tools/emoji-picker.md))

- [Extract emails](https://happytails.ai/en/text-tools/extract-emails/): Find unique email-like addresses in pasted text. ([Markdown](https://happytails.ai/en/text-tools/extract-emails.md))

- [Extract phone numbers](https://happytails.ai/en/text-tools/extract-phone-numbers/): Find possible phone numbers in pasted text. ([Markdown](https://happytails.ai/en/text-tools/extract-phone-numbers.md))

- [Extract urls](https://happytails.ai/en/text-tools/extract-urls/): Find unique HTTP and HTTPS links in pasted text. ([Markdown](https://happytails.ai/en/text-tools/extract-urls.md))

- [Filter lines](https://happytails.ai/en/text-tools/filter-lines/): Keep or remove lines containing a phrase. ([Markdown](https://happytails.ai/en/text-tools/filter-lines.md))

- [Find and replace](https://happytails.ai/en/text-tools/find-and-replace/): Replace every exact match with your chosen text. ([Markdown](https://happytails.ai/en/text-tools/find-and-replace.md))

- [HTML to markdown](https://happytails.ai/en/text-tools/html-to-markdown/): Convert HTML markup into Markdown. ([Markdown](https://happytails.ai/en/text-tools/html-to-markdown.md))

- [HTML to text](https://happytails.ai/en/text-tools/html-to-text/): Extract readable plain text from HTML markup. ([Markdown](https://happytails.ai/en/text-tools/html-to-text.md))

- [Indent text](https://happytails.ai/en/text-tools/indent-text/): Add spaces at the start of every line. ([Markdown](https://happytails.ai/en/text-tools/indent-text.md))

- [Invert case](https://happytails.ai/en/text-tools/invert-case/): Swap uppercase letters to lowercase and back. ([Markdown](https://happytails.ai/en/text-tools/invert-case.md))

- [Italic text](https://happytails.ai/en/text-tools/italic-text/): Turn Latin letters into italic Unicode characters. ([Markdown](https://happytails.ai/en/text-tools/italic-text.md))

- [Join text](https://happytails.ai/en/text-tools/join-text/): Join lines with a separator of your choice. ([Markdown](https://happytails.ai/en/text-tools/join-text.md))

- [Kebab case](https://happytails.ai/en/text-tools/kebab-case/): Join lowercase words-with-hyphens. ([Markdown](https://happytails.ai/en/text-tools/kebab-case.md))

- [Line counter](https://happytails.ai/en/text-tools/line-counter/): Count all lines and nonempty lines in your text. ([Markdown](https://happytails.ai/en/text-tools/line-counter.md))

- [List combinations](https://happytails.ai/en/text-tools/list-combinations/): Generate every combination from groups of items. ([Markdown](https://happytails.ai/en/text-tools/list-combinations.md))

- [Lorem ipsum](https://happytails.ai/en/text-tools/lorem-ipsum/): Generate placeholder paragraphs for layout testing. ([Markdown](https://happytails.ai/en/text-tools/lorem-ipsum.md))

- [Lowercase](https://happytails.ai/en/text-tools/lowercase/): Convert text to lowercase as you type. ([Markdown](https://happytails.ai/en/text-tools/lowercase.md))

- [Markdown to HTML](https://happytails.ai/en/text-tools/markdown-to-html/): Convert Markdown into HTML source. ([Markdown](https://happytails.ai/en/text-tools/markdown-to-html.md))

- [Morse code translator](https://happytails.ai/en/text-tools/morse-code-translator/): Translate letters and digits to or from Morse code. ([Markdown](https://happytails.ai/en/text-tools/morse-code-translator.md))

- [Number to words](https://happytails.ai/en/text-tools/number-to-words/): Write a whole number in English words. ([Markdown](https://happytails.ai/en/text-tools/number-to-words.md))

- [Online notepad](https://happytails.ai/en/text-tools/online-notepad/): Write plain-text notes and download a copy. ([Markdown](https://happytails.ai/en/text-tools/online-notepad.md))

- [Paragraph counter](https://happytails.ai/en/text-tools/paragraph-counter/): Count paragraphs separated by blank lines. ([Markdown](https://happytails.ai/en/text-tools/paragraph-counter.md))

- [Pascal case](https://happytails.ai/en/text-tools/pascal-case/): Turn words into a PascalCase identifier. ([Markdown](https://happytails.ai/en/text-tools/pascal-case.md))

- [Randomize list](https://happytails.ai/en/text-tools/randomize-list/): Shuffle lines into a random order. ([Markdown](https://happytails.ai/en/text-tools/randomize-list.md))

- [Reading time](https://happytails.ai/en/text-tools/reading-time/): Estimate reading time at your chosen pace. ([Markdown](https://happytails.ai/en/text-tools/reading-time.md))

- [Remove diacritics](https://happytails.ai/en/text-tools/remove-diacritics/): Remove combining accents from text. ([Markdown](https://happytails.ai/en/text-tools/remove-diacritics.md))

- [Remove duplicate lines](https://happytails.ai/en/text-tools/remove-duplicate-lines/): Remove repeated lines while keeping their first occurrence. ([Markdown](https://happytails.ai/en/text-tools/remove-duplicate-lines.md))

- [Remove empty lines](https://happytails.ai/en/text-tools/remove-empty-lines/): Remove blank and whitespace-only lines. ([Markdown](https://happytails.ai/en/text-tools/remove-empty-lines.md))

- [Remove extra spaces](https://happytails.ai/en/text-tools/remove-extra-spaces/): Tidy repeated spaces without losing line breaks. ([Markdown](https://happytails.ai/en/text-tools/remove-extra-spaces.md))

- [Remove formatting](https://happytails.ai/en/text-tools/remove-formatting/): Copy pasted content as plain text. ([Markdown](https://happytails.ai/en/text-tools/remove-formatting.md))

- [Remove line breaks](https://happytails.ai/en/text-tools/remove-line-breaks/): Replace each line break with a space. ([Markdown](https://happytails.ai/en/text-tools/remove-line-breaks.md))

- [Remove line numbers](https://happytails.ai/en/text-tools/remove-line-numbers/): Remove common numeric prefixes from lines. ([Markdown](https://happytails.ai/en/text-tools/remove-line-numbers.md))

- [Remove punctuation](https://happytails.ai/en/text-tools/remove-punctuation/): Remove Unicode punctuation from your text. ([Markdown](https://happytails.ai/en/text-tools/remove-punctuation.md))

- [Repeat text](https://happytails.ai/en/text-tools/repeat-text/): Repeat text with a separator between copies. ([Markdown](https://happytails.ai/en/text-tools/repeat-text.md))

- [Reverse text](https://happytails.ai/en/text-tools/reverse-text/): Reverse the order of visible characters. ([Markdown](https://happytails.ai/en/text-tools/reverse-text.md))

- [Sentence case](https://happytails.ai/en/text-tools/sentence-case/): Capitalize the start of each sentence. ([Markdown](https://happytails.ai/en/text-tools/sentence-case.md))

- [Sentence counter](https://happytails.ai/en/text-tools/sentence-counter/): Count sentences using English text segmentation. ([Markdown](https://happytails.ai/en/text-tools/sentence-counter.md))

- [Slug generator](https://happytails.ai/en/text-tools/slug-generator/): Create a lowercase, hyphen-separated slug. ([Markdown](https://happytails.ai/en/text-tools/slug-generator.md))

- [Small text](https://happytails.ai/en/text-tools/small-text/): Convert supported letters into small-cap Unicode characters. ([Markdown](https://happytails.ai/en/text-tools/small-text.md))

- [Snake case](https://happytails.ai/en/text-tools/snake-case/): Join lowercase words_with_underscores. ([Markdown](https://happytails.ai/en/text-tools/snake-case.md))

- [Sort lines](https://happytails.ai/en/text-tools/sort-lines/): Sort lines alphabetically or in natural number order. ([Markdown](https://happytails.ai/en/text-tools/sort-lines.md))

- [Speaking time](https://happytails.ai/en/text-tools/speaking-time/): Estimate speaking time at your chosen pace. ([Markdown](https://happytails.ai/en/text-tools/speaking-time.md))

- [Split text](https://happytails.ai/en/text-tools/split-text/): Split text at an exact separator, placing each part on a new line. ([Markdown](https://happytails.ai/en/text-tools/split-text.md))

- [Strikethrough text](https://happytails.ai/en/text-tools/strikethrough-text/): Add a strikethrough mark to visible characters. ([Markdown](https://happytails.ai/en/text-tools/strikethrough-text.md))

- [Subscript](https://happytails.ai/en/text-tools/subscript/): Convert supported letters into subscript Unicode. ([Markdown](https://happytails.ai/en/text-tools/subscript.md))

- [Superscript](https://happytails.ai/en/text-tools/superscript/): Convert supported letters into superscript Unicode. ([Markdown](https://happytails.ai/en/text-tools/superscript.md))

- [Tabs to spaces](https://happytails.ai/en/text-tools/tabs-to-spaces/): Replace each tab with a fixed number of spaces. ([Markdown](https://happytails.ai/en/text-tools/tabs-to-spaces.md))

- [Text to image](https://happytails.ai/en/text-tools/text-to-image/): Create an SVG image from your text. ([Markdown](https://happytails.ai/en/text-tools/text-to-image.md))

- [Title case](https://happytails.ai/en/text-tools/title-case/): Capitalize each word in your text. ([Markdown](https://happytails.ai/en/text-tools/title-case.md))

- [Trim text](https://happytails.ai/en/text-tools/trim-text/): Remove spaces from the start and end of each line. ([Markdown](https://happytails.ai/en/text-tools/trim-text.md))

- [Underline text](https://happytails.ai/en/text-tools/underline-text/): Add combining underlines to non-whitespace characters. ([Markdown](https://happytails.ai/en/text-tools/underline-text.md))

- [Uppercase](https://happytails.ai/en/text-tools/uppercase/): Convert text to UPPERCASE as you type. ([Markdown](https://happytails.ai/en/text-tools/uppercase.md))

- [Upside-down text](https://happytails.ai/en/text-tools/upside-down-text/): Flip text into an upside-down Unicode style. ([Markdown](https://happytails.ai/en/text-tools/upside-down-text.md))

- [Wide text](https://happytails.ai/en/text-tools/wide-text/): Convert basic Latin characters to fullwidth Unicode. ([Markdown](https://happytails.ai/en/text-tools/wide-text.md))

- [Word counter](https://happytails.ai/en/text-tools/word-counter/): Count words, characters and lines as you type. ([Markdown](https://happytails.ai/en/text-tools/word-counter.md))

- [Word frequency](https://happytails.ai/en/text-tools/word-frequency/): Count word occurrences, starting with the most frequent. ([Markdown](https://happytails.ai/en/text-tools/word-frequency.md))

- [Wrap text](https://happytails.ai/en/text-tools/wrap-text/): Wrap text at word boundaries. ([Markdown](https://happytails.ai/en/text-tools/wrap-text.md))

## Choose the change your text actually needs

Text tools help with three different jobs: measuring a piece of writing, changing its appearance, and cleaning up its structure. A character counter is useful for a field limit; a word counter is useful for a draft. Case converters change capitalization, while cleanup tools deal with repeated spaces or lines.

## How to choose your next step

Start with the original text and choose one operation. Compare the result before copying it elsewhere. If you want to combine operations, clean spaces first, then change case or remove repeated lines.

## Common questions about text tools

### Does changing case remove formatting?

These utilities work with plain text. They do not preserve document fonts, colors or rich-text formatting. Identifier styles such as camelCase also remove word separators and punctuation, which is different from simply making letters uppercase.

### Why do counters sometimes disagree?

A visible character can contain several Unicode code points. Emoji, accents, whitespace and word-segmentation rules can produce different counts. Use the measure required by the destination field, and check its own limit before submitting.
