New paste Use cases Explore public pastes Text tools Developer API The Paste Library Journal Security Sign in with Google

Online word, character, line and byte counter

Measure visible writing and actual UTF-8 storage size as you type. Counts update locally and help you check a text block before creating a paste.

Count text as you type

Add text below to measure characters, whitespace-separated words, lines, and UTF-8 bytes.

0

Characters

0

Words

0

Lines

0

UTF-8 bytes

How to use the text counter

The text counter keeps its input on this device. Review the result using the steps below before sharing or relying on it.

Add the exact text

Paste the final block rather than an earlier draft. Whitespace and line breaks affect several counts.

Compare the four measurements

Characters count JavaScript string units, words count non-whitespace groups, lines follow line breaks, and bytes measure UTF-8 encoding size.

Use bytes for upload limits

Emoji and non-ASCII scripts often require multiple bytes, so character count alone does not predict storage or request size.

What the text counter does not do

Word counting is whitespace-based rather than language-aware. It does not estimate reading level, tokens for a specific AI model, grapheme clusters, or rendered page length.

Before sharing the result, read Plain-text paste guide for the matching context and privacy checks.

Text counter questions

Privacy, limits, and correct interpretation.

Does the counter upload my text?+

No. All four counts are calculated locally in the browser.

Why can bytes exceed characters?+

UTF-8 represents many non-ASCII characters with multiple bytes.

Does the word count match every editor?+

Not necessarily. This tool counts non-whitespace groups; language-aware editors may use different rules.

Related browser tools

After using the text counter, choose another tool only if the next task changes to formatting, comparison, encoding, or measurement.

Format and validate JSON in your browser

Pretty-print compact JSON, minify a valid document, or locate a syntax error without uploading the input. The formatter runs entirely in this browser.

Open tool →

Online text diff for line-by-line comparison

Compare an original and changed block line by line without sending either version to the server. Use the result for a quick inspection, not as a replacement for version-control history.

Open tool →

Encode and decode Base64 text locally

Convert UTF-8 text to Base64 or decode a Base64 value locally. Base64 is a transport representation, not a confidentiality or access-control mechanism.

Open tool →

Secret scanner for finding and redacting credentials

Check code, logs, configuration, and HTTP transcripts for common credential shapes before sharing. Detection and redaction run in this browser, and no input is uploaded.

Open tool →

Online URL encoder and decoder

Percent-encode a URL component or decode an encoded value without uploading it. Use this tool for query values, paths, callback parameters, and sanitized HTTP examples.

Open tool →

Free local JWT decoder for headers and claims

Inspect the Base64URL-encoded header and payload of a three-part JSON Web Token in this browser. The decoder never verifies the signature and never proves that a token is authentic or safe to trust.

Open tool →

Unix timestamp converter for logs and APIs

Convert Unix seconds, Unix milliseconds, or an ISO 8601 date into UTC, local time, seconds, and milliseconds. Processing stays in the browser for safer log analysis.

Open tool →

Generate a SHA-256 hash of any text

Create a lowercase SHA-256 digest from the exact UTF-8 bytes of a text block. Hashing runs through the browser Web Crypto API and does not upload the input.

Open tool →

Local text cleaner for lines and whitespace

Prepare a text list or copied diagnostic block locally by trimming trailing spaces, compacting blank lines, removing duplicate lines, or sorting lines. Every action changes text, so review the result before replacing a source artifact.

Open tool →