Text Studio — Character Counter & Text Cleaner

Paste text to see characters, words, lines and bytes instantly, then clean it up in one click — change case, remove duplicate or blank lines, sort naturally, convert line breaks. Every action reports what changed and can be undone.

On-device・No upload

Your files and input are processed only inside your browser on this device and are never uploaded to our servers.

Characters
0
Without spaces
0
Lines
0
UTF-8 (bytes)
0
Shift_JIS (bytes)
0
Genkō yōshi (400)
0 sheet(s) (0 rows)
Show all counts
Characters0
Characters without line breaks0
Without spaces0
Kanji & kana0
Words (Latin script etc.)0
Code points0
UTF-16 code units (JavaScript length)0
UTF-80 bytes
Shift_JIS0 bytes
Lines0
Non-empty lines0
Paragraphs (blank-line separated)0
Line breaksnone
Genkō yōshi (400)0 sheet(s) (0 rows)
Reading time—

Japanese manuscript paper (genkō yōshi) uses 20 × 20 squares; each line break starts a new row (no kinsoku or indentation rules). Reading time assumes 500 Japanese characters or 220 English words per minute.

Text
0 charsnone
Transform & clean up

Select part of the text first to apply an action to the selection only.

Full-width / half-width

Hiragana / katakana

Letter case

Clean up lines

Sort lines

Line breaks & spaces

Line numbers & affixes

How to use

  1. Paste or type text, or click “Open file” to load a .txt or .csv file (UTF-8 and Shift_JIS are detected automatically).

  2. Read the live counts at the top: characters, characters without spaces, lines, and UTF-8 / Shift_JIS bytes. “Show all counts” adds words, paragraphs, code points and the line-break types.

  3. Pick an action in “Transform & clean up” — change case, remove duplicates, sort, convert line breaks and more. To affect only part of the text, select it first.

  4. After each action the tool tells you how many characters or lines changed. Use “Undo” if it is not what you wanted.

  5. Copy the result, or download it as UTF-8, UTF-8 with BOM (for Excel) or Shift_JIS.

What it does

Characters as people see them

Emoji sequences (👨‍👩‍👧), flags and combined characters count as one, using grapheme clusters via Intl.Segmenter. Code points and JavaScript length are shown alongside, so you can match whatever your target system counts.

UTF-8 and Shift_JIS bytes

Byte counts for both encodings, with Shift_JIS (Windows-31J) computed from the browser’s own conversion table. Characters Shift_JIS cannot store, such as emoji, are listed in a warning.

Natural sorting and deduplication

Sort A→Z, Z→A, by length, reverse or shuffle. Natural order treats numbers as numbers, so file2 comes before file10. Dedupe keeps the first occurrence and can ignore case and surrounding spaces.

Case and width conversion

UPPERCASE, lowercase, Title Case and Sentence case for any script with letter case, plus separate full-width/half-width conversion for alphanumerics, symbols and Japanese katakana.

Reports every change, with undo

Each action states how many characters or lines changed — or that nothing needed changing. Step back and forth through up to 50 actions, and apply actions to a selection only.

Line-break and whitespace repair

Detects mixed CRLF / LF / CR line breaks and normalizes them, trims line ends, collapses repeated spaces and tabs, and adds or removes line numbers, prefixes and suffixes.

Use cases

  • Check an essay, ad copy or form field against a character limit (with or without spaces)
  • Remove duplicate lines from a pasted list and sort it naturally (1, 2, 10)
  • Fix text copied from PDFs or spreadsheets: stray spaces, blank lines, mixed CRLF/LF
  • Make sure text fits a byte limit before saving it to a database or legacy system
  • Convert full-width ABC or half-width カタカナ when working with Japanese data

Supported formats

Open

.txt.csv / .tsv.md.log.srt / .vttUTF-8 / UTF-8 BOM / UTF-16 BOM / Shift_JIS (auto-detected)

Save

UTF-8UTF-8 with BOMShift_JIS (unmappable characters become “?”)

Capability matrix

FeatureSupportNotes
Characters (graphemes), without spaces / line breaksSupported—
UTF-8 / Shift_JIS byte countsSupportedShift_JIS = Windows-31J incl. NEC/IBM extensions
Word countPartialSpace-separated languages only; Chinese/Japanese text is not split into words
Japanese manuscript-paper estimatePartialSimple row count; kinsoku and indentation rules are not applied
Upper / lower / title / sentence caseSupported—
Sort, dedupe, trim, remove blank linesSupported—
Line-break conversion (CRLF / LF)Supported—
Comparing two texts (diff)Not supportedCovered by a separate diff tool
Grammar or spell checkingNot supported—
Offline useSupportedWorks without a connection once loaded

Limits & notes

  • Up to 5 million characters of text; files up to 20 MB.
  • Undo keeps the state before each action, up to 50 steps (use your browser’s Ctrl+Z for typing).
  • Shift_JIS bytes follow Windows-31J; JIS X 0213 (Shift_JIS-2004) additions count as unmappable.
  • Case conversion uses Unicode default rules; locale-specific rules such as Turkish dotted İ are not applied.
  • Reading time is an estimate based on average reading speeds.

Privacy & safety

Your text and files are processed only inside your browser. Nothing is sent to or stored on any server, so you can safely count and clean up confidential drafts or text containing personal data. Closing the page discards everything.

FAQ

Does the character count include spaces and line breaks?
Yes. “Characters” includes spaces and line breaks (a Windows CRLF counts as one). “Without spaces” excludes all whitespace, and “Show all counts” also lists characters without line breaks only.
How are emoji counted?
As they look: 👍 or 👨‍👩‍👧 is one character. Some systems count differently (for example in UTF-16 code units, where one emoji can be 2–8), so code points and UTF-16 units are shown too.
What is “natural” sorting?
It compares numbers inside text by value, so “file2” sorts before “file10”, and it follows language-aware alphabetical order. “Sort by code point” gives plain computer order if you need it.
Why would I need the Shift_JIS byte count?
Many Japanese legacy systems and forms limit fields in Shift_JIS bytes (2 bytes per full-width character). The tool counts this exactly and lists any characters that cannot be stored.
Can I undo a transformation?
Yes. Every action can be undone and redone (up to 50 steps), and the message after each action tells you exactly how much changed.
Is my text sent anywhere?
No. Counting and every transformation run in your browser; your text is never sent to LIBRA Works or any third party.

Date & Time Studio — Unix Timestamp & Time Zone Converter

Paste a Unix timestamp or almost any date string — the unit and format are detected automatically and shown in 15 formats and multiple time zones. DST gaps, month ends and Japanese era boundaries are handled precisely.

Encode / Decode Studio — Base64, URL, JWT & more

Paste %E3%81%82, an eyJ… token or any encoded string — the format is detected and decoded instantly. Errors say exactly which character is wrong and why, and nothing leaves your browser.

Markdown Studio — Live Editor & Preview

A split-view Markdown editor with instant GFM preview, a table formatter that aligns pipes, an automatic table of contents and HTML export. Output is always sanitized and external images load only when you allow them.

Unicode Inspector — Character & Invisible Text Analyzer

Paste text to break it into characters with U+ codes, byte sequences and categories. Hidden zero-width spaces, BOMs, bidi controls and look-alike letters are detected and can be removed in one click.

IT Calculator (Storage, Transfer, Uptime, RAID)

Convert storage units (SI GB vs IEC GiB), estimate transfer time from file size and line speed, turn an uptime percentage into allowed downtime, and size RAID arrays, all with the formula shown. Type values with units, like “1.5GB” or “100Mbps”.

MIME & Content-Type Studio

Search extensions and MIME types both ways, get problems in a Content-Type header pointed out, and compare a dropped file’s extension, browser file.type and real content. Server config drafts are generated too.

Last updated: