DeveloperKit

Word, Character & Byte Counter

Count words, characters, sentences, lines, and bytes as you type, with reading time and length limits. Free, private, and 100% in your browser.

Words
0
Characters
0
Without spaces
0
Bytes (UTF-8)
0 B
Sentences
0
Paragraphs
0
Lines
0
Reading time
0 sec

Your Text

Size & Encoding

UTF-80 bytes
UTF-160 bytes
Latin-1 / ASCII0 bytes (pure ASCII)
Unicode code points0
JavaScript .length0
Visible characters0

Emoji and accented letters take 2–4 bytes in UTF-8, the encoding used by most databases, APIs, and files.

Details

Non-empty lines0
Average word length0.0 chars
Longest word—
Reading time0 sec
Speaking time0 sec
SMS—

Length Limits

  • SEO title0 / 60
    Google shows about 50–60 characters
  • Meta description0 / 160
    Snippets are cut around 155–160 characters
  • X (Twitter) post0 / 280
    Approximate: X counts links as 23 characters
  • Instagram caption0 / 2,200
  • LinkedIn post0 / 3,000

Top Keywords

Keywords appear when you add text.

Count Words, Characters, and Bytes

Writers need word counts, marketers need character limits, and developers need to know how many bytes a string will take in a database column or HTTP header. This counter shows all of them at once and counts emoji and accented letters correctly.

Features

  • Words and characters

    Words, characters with and without spaces, sentences, paragraphs, and lines, updated on every keystroke.

  • Exact byte size

    See how much space your text takes in UTF-8 and UTF-16, plus Unicode code points and JavaScript string length, the numbers that matter for database columns and API limits.

  • Emoji counted correctly

    Characters are counted the way people see them: 👍🏽 or a flag is one character, even though it is several code points and bytes.

  • Length limits

    Progress bars for SEO titles, meta descriptions, X (Twitter) posts, Instagram captions, and LinkedIn posts.

  • SMS segments

    Find out how many text messages your message needs, and which characters force the 70-character UCS-2 encoding.

  • Keyword density

    The most frequent words with their share of the text, optionally without common English words.

How to Count Words and Characters

  1. Type or paste your text into the box.
  2. Read the totals at the top; they update as you type.
  3. Check byte sizes, length limits, and SMS segments in the panels below.
  4. Review the top keywords to avoid repeating yourself.

Frequently Asked Questions

How are words counted?

Words are found with your browser's built-in Unicode word segmentation, the same rules used for double-click selection. Numbers and hyphenated words count as words; punctuation does not. It also works for languages without spaces, such as Chinese and Japanese.

Why is the byte count higher than the character count?

In UTF-8, the encoding used by most files, databases, and APIs, only basic Latin letters, digits, and punctuation take 1 byte. Accented letters like é take 2 bytes, most other scripts take 3, and emoji take 4 or more. A VARCHAR or API limit measured in bytes can therefore be reached before the character limit.

Why does JavaScript's .length differ from the character count?

JavaScript strings count UTF-16 code units. Emoji and some rare characters use two units, and composed emoji (skin tones, flags, families) use several. The character count here shows what a reader sees as one character.

How is reading time calculated?

Reading time assumes 238 words per minute, the average silent reading speed of adults for non-fiction. Speaking time assumes 150 words per minute, a typical pace for presentations.

How many characters fit in one SMS?

160 characters with the standard GSM-7 alphabet, or 153 per part when a message is split. A single character outside that alphabet, such as an emoji or many accented letters, switches the whole message to UCS-2: 70 characters, or 67 per part.

  • Text Diff Checker

    Compare two texts or code snippets side by side, with changed words highlighted and a downloadable patch.

  • Regex Tester

    Test JavaScript regular expressions live, with highlighted matches, capture groups, and find and replace.

  • String Case Converter

    Convert text and variable names to camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, and more.

  • JSON Formatter

    Beautify, minify, and validate JSON instantly with exact line and column error reporting.