Paste or upload text
Paste text or select a TXT, Markdown, CSV, JSON, LOG, or HTML file. Files are read by the browser and are not sent to a counting server.
PRIVATE TEXT WORKBENCH
Use this character counter to paste or type text and see the exact character total, with-spaces count, letters, digits, line breaks, words, and longest line in your browser. Unicode characters are counted as visible code points rather than split JavaScript code units.
INPUT
Paste a caption, essay, form answer, message, code sample, or any plain text. The character counter updates as you edit.
Example result shown. Edit the text to calculate your own count.
Counted locally in this browser; the normal workflow does not upload your text.
LIVE RESULTS
The preview keeps line breaks visible and shows each row's length. Long inputs show 200 lines; CSV export includes every line.
Up to 500,000 characters; the first 200 logical lines are previewed. Plain text only - no OCR, document conversion, or code execution.
A SIMPLE WORKFLOW
Decide whether spaces and line breaks belong in the limit, then use the live result.
Paste text or select a TXT, Markdown, CSV, JSON, LOG, or HTML file. Files are read by the browser and are not sent to a counting server.
Keep spaces and line breaks for most limits, or turn either option off when a brief asks for a narrower count. Normalize mixed endings when comparing files.
Check total characters, characters without spaces, letters, digits, spaces, lines, words, and longest-line length. The preview makes hidden breaks easier to find.
Copy a summary for a teammate or download a line-by-line CSV when you need a record of the input.
COUNTING RULES
Different editors report different totals because they include or exclude spaces, line breaks, or Unicode details. This page shows the active rule beside the result instead of hiding it in a tooltip.
The main total includes letters, punctuation, symbols, spaces, tabs, and line breaks when both options are enabled. This is the useful default for social captions, application forms, and message limits.
The supporting total removes whitespace from the same text. It helps compare a content limit that ignores formatting with a limit that counts every typed position.
LF, CRLF, and CR are recognized. Normalize line endings to treat the same logical rows consistently; the detected ending remains visible so you can explain a difference between tools.
The counter uses JavaScript code points for its visible totals, so a common emoji is not split into two UTF-16 code units. Combining marks and grapheme clusters can still be rendered as multiple code points.
The character counter is a plain-text measurement tool. It does not interpret HTML tags, Markdown formatting, programming syntax, or rendered font width. The exact total depends on the visible input string and the selected whitespace options.
MORE THAN ONE NUMBER
The primary character count answers the limit question. Supporting metrics explain what makes up that number, so you can revise a message without guessing which spaces, digits, or line breaks are responsible.
Use the main total for captions, subject lines, form fields, profile bios, prompts, and any brief that states a maximum character count. Toggle spaces or line breaks to match the brief.
Letters and digits show content while spaces show formatting positions. This helps when a short message contains unexpected padding.
Line count and longest-line length add context for code, CSV, Markdown, logs, and terminal output. They do not change the main total.
The CSV includes line number, original line text, and code-point length. Use it when a review needs to see where a long row or blank row occurs rather than only the final total.
PRACTICAL USE CASES
A character counter helps with limits that are hard to estimate by eye. Use it for a sentence, draft, code excerpt, or supported text file without an account or editor install.
Check a caption before publishing and keep spaces included when the platform's limit counts every typed position. The live number lets you trim one phrase at a time.
Many forms show a character limit rather than a word limit. Paste the answer, leave spaces enabled, and check the result before submitting.
Measure an abstract or short response with and without spaces. The two numbers make it clear whether a requirement describes characters, letters, or the complete typed string.
Inspect source snippets, JSON, CSV, YAML, or logs as text. The tool does not run code or validate syntax; it simply reports characters, rows, and the longest line.
Compare a concise message with its formatted version. Spaces and line breaks can be switched off for a secondary view, while the original text remains editable.
The normal workflow calculates in this browser. Clear the editor on a shared device; extensions and clipboard history are outside the page's control.
PLAIN-TEXT FILES
Use Upload file or drag a supported file into the editor. The browser reads the file as text, then the same character rules and preview apply as they do to pasted content.
TXT, Markdown, CSV, JSON, LOG, and HTML text files up to 500,000 characters are accepted. PDFs, images, scans, and binary documents need extraction first; this tool does not perform OCR or document conversion.
Choose a plain-text file and check the filename shown beside the editor. If decoding fails, the original input remains available and the error explains what to try.
Watch the character counter at the bottom of the input. Oversized text is reported instead of silently truncated, so you can shorten it deliberately.
Review line endings, longest line, whitespace totals, and the first 200 rows. Export CSV when the complete file needs a line-level record.
LOCAL BY DESIGN
No account or required upload is part of the normal character-counting workflow. The page uses JavaScript to count pasted text or a selected file in the current tab. The File API reads a supported file locally, and the normal path does not send its text body to a conversion server.
Local processing is not a universal security guarantee. Extensions, clipboard history, and screenshots can expose content. Avoid restricted text and clear the editor on shared devices.
Paste text or read a supported file locally; the count is calculated in the page.
Works without sign-in, an API key, or a server-side job.
The result shows the active line ending and the options used for the main total.
COMMON QUESTIONS
Use these answers to compare Unicode counts, file limits, and privacy with another editor or platform.
Paste or type the text into the character counter. The live result shows characters with the current space and line-break settings, plus a supporting count without spaces.
Yes, the main total includes spaces by default. Turn off Include spaces when a requirement asks for a count that excludes spaces; the result always keeps a separate without-spaces value.
They do by default because they are part of the input string. Turn off Include line breaks when the limit excludes row separators, and keep Normalize line endings on when comparing CRLF and LF files.
The counter measures JavaScript Unicode code points, so common emoji are not split into two UTF-16 code units. A grapheme made from multiple code points can still occupy more than one count.
Yes. Paste or upload plain text such as source code, JSON, CSV, Markdown, configuration, or logs. The tool measures text and does not interpret syntax, execute code, or count rendered HTML width.
Yes. The result always shows Characters without spaces beside the main total, so you can compare the two without changing the original input.
The normal workflow does not need an upload or account and performs the count in the browser. Clear the editor on a shared device; extensions and clipboard history remain outside the page's control.
The published limit is 500,000 characters. Mobile memory can affect comfort, the visual preview stops at 200 lines, and the CSV export keeps the full line list.
READY TO CHECK
Paste a message, choose the rule that matches your brief, and use the live result or CSV record while keeping the original text editable.