文字列長カリキュレーター
文字数、バイト数、書記素クラスターなどでテキストの長さを分析します。
JS コードユニット (UTF-16)
Unicode コードポイント
書記素クラスター
UTF-8 バイト
単語
行
なぜ数値が異なるのか?
- JS コードユニット —
.lengthJavaScript で。UTF-16 コードユニットを数えます(絵文字 = 2)。 - Unicode コードポイント —
[...str].length。各コードポイントが1エントリ。「本当の」文字に近い。 - 書記素クラスター — 人間が1文字として認識するもの。国旗、肌色絵文字、結合文字は1つとして数えます。
- UTF-8 バイト — UTF-8 エンコード時のストレージサイズ。ASCII = 1バイト、絵文字 = 4バイト。
よくある質問
The String Length Calculator reports six distinct length metrics for any text: JavaScript code units (UTF-16 .length), Unicode codepoints, grapheme clusters (perceived characters), UTF-8 byte count, word count, and line count.
JavaScript measures string length in UTF-16 code units, so characters above U+FFFF (like most emoji) count as 2. Python 3 counts Unicode codepoints, so each character counts as 1. The String Length Calculator shows both metrics simultaneously so you can see the discrepancy for any input.
A grapheme cluster is what a human perceives as a single character — for example, a flag emoji (two regional indicator letters) or a skin-tone emoji (base emoji plus a modifier) both appear as one character visually but span multiple codepoints. The String Length Calculator uses the browser's Intl.Segmenter API to count grapheme clusters accurately.
Paste your text into the String Length Calculator and read the UTF-8 Bytes metric. ASCII characters cost 1 byte each, most Latin-extended and common symbols cost 2, CJK characters cost 3, and emoji cost 4 bytes in UTF-8.
Many systems enforce byte-based limits rather than character limits — database column sizes, HTTP header values, message queue payloads, and API fields are common examples. The String Length Calculator makes it easy to check whether your text fits within such constraints.
JavaScript strings are encoded as UTF-16, and characters above U+FFFF require two code units called a surrogate pair. The .length property counts code units, not characters, so a single emoji can return 2. Unicode codepoints count actual characters using the spread operator [...str].length.
Yes — the calculator correctly handles all Unicode text including emoji, family sequences, flag sequences, and combining characters. The grapheme cluster count uses the Intl.Segmenter API for browser-native accuracy.
Yes — all whitespace characters (spaces, tabs, newlines) are included in the character and byte counts. Words are counted by splitting on whitespace, and lines are counted by newline characters, matching typical editor behavior.
UTF-16 byte size equals the JavaScript code unit count multiplied by two, since each UTF-16 code unit is 2 bytes. Characters in the supplementary planes (above U+FFFF) use two code units and therefore cost 4 bytes in UTF-16.
Yes, with caveats. Twitter counts in Unicode codepoints with special rules for URLs; SMS uses UTF-16 code units with different limits for GSM-7 versus Unicode messages. The calculator shows all relevant metrics so you can apply the platform's specific counting rules.