字數統計

即時檢查 17 個平台、38 個欄位的字數限制,超出時一鍵修正。

0 / 280
0字元數
0字元數(不含空白)
0字數(單字)
0句數
0段落數
0行數
0 秒閱讀時間
0 秒朗讀時間
0字素(看得見的字)
0UTF-16 單位
0UTF-8 位元組

這段文字還放得進哪裡 — 所有限制即時比對

所有計算都在你的瀏覽器裡完成 — 輸入的內容不會上傳,也不會被儲存。想順便換個字體嗎?UltraTextGen 產生器可以轉換成 100 種以上可複製貼上的字體。

硬性限制與軟性限制

被稱作「字數限制」的其實有兩種,超過之後的代價完全不同。

類型超過會怎樣例子
硬性限制
(真正的上限)
平台直接拒絕。貼文送不出去,名稱存不起來。 X 貼文 280 · Discord 暱稱 32 · TikTok 使用者名稱 24 · SMS 單則
軟性限制
(收合截斷)
你還是可以繼續打,但讀者不點「更多」就看不到後面的內容。 Instagram 貼文說明 125 字後 · LinkedIn 貼文行動版約 140 字、電腦版約 210 字後 · YouTube 說明約 157 字後

大多數人真正在對付的其實是軟性限制,卻幾乎沒有字數工具會把它顯示出來。一則 LinkedIn 貼文可以打 3,000 個字元,但真正有用的大約只有前面 140 個,其餘都藏在沒人會點的那一下之後。所以上方的工具直接把收合的位置畫出來 — 打字進去,你會看到「顯示更多」之前實際出現的那段文字,切線之後的部分會變淡,同時也看得到同一個開頭在其他會收合的版位撐不撐得住。

這裡要特別講清楚:收合是用畫面上看得到的字數來算的。中文字在 UTF-8 佔 3 個位元組,但在收合的計算裡,一個字就是一個字。Instagram 的 125 字元收合,中文一樣放得下 125 個字,不會因為位元組而縮水。位元組會卡住你的是「送不送得出去」的硬性限制那一邊,跟收合是兩回事。

各個版位在哪裡收合,用什麼裝置看:

版位手機電腦對開頭的意義
LinkedIn 貼文 約 140 約 210 寫在 140 個字元以內,兩邊都撐得住 — 這是表中裝置落差最大的一個版位。
Instagram 貼文說明 約 125 約 125 表中最緊的收合 — 大概只有一句話,就到「⋯更多」了。
YouTube 說明 約 157 約 157 標題底下、「顯示更多」之前會露出的那一段;搜尋結果抓的通常也是這裡。
Facebook 貼文 約 477 約 477 最寬鬆的收合 — 一個短段落可以整段落在切線之前。

兩點要老實講。這些是從實際介面觀察到的行為,不是平台公布的限制,所以請把它們當成「穩定會顯示出來的長度」,而不是精確的門檻 — 而且這些版位也會依行數收合,開頭連換三行,可能還沒碰到任何字數就先被截斷了。如果你的開頭靠的是條列,請也到真正的發文框裡試一次。

為什麼你算的字數和平台算的不一樣

「這段有幾個字?」不只有一個正確答案,因為每個系統計算的單位不同。對中文使用者來說最關鍵的一點是:一個中文字是 1 個碼位、1 個 UTF-16 單位,但換成 UTF-8 是 3 個位元組。所以用字元數來看明明還有空間,遇到以位元組設限的欄位或系統卻會被擋下來。同一段文字,可以有四種長度:

計算方式算的是什麼中文的情況
字素眼睛看到的樣子 — 帶膚色的表情符號也算 1「字」= 1。Bluesky 採用
碼位(code point)Unicode 字元數 — 👍🏽 算 2(手+膚色)「字」= 1。多數網路平台,以及本工具的「字元數」
UTF-16 單位JavaScript 與許多應用程式儲存文字的方式「字」= 1,但特殊字體的英數字每個算 2。HTML 表單的 maxlength、遊戲與應用程式後端
UTF-8 位元組儲存大小「字」= 3 個位元組。資料庫 VARCHAR、電商商品欄位、Steam 名稱、舊式系統與 CSV 介接

這個落差在實務上很有感:一個標示「上限 255 位元組」的欄位,中文其實只放得下 85 個字。上方的「字素(看得見的字)」「UTF-16 單位」「UTF-8 位元組」三格會隨著輸入同步更新,當表單說你的文字太長、你自己算卻還沒滿時,可以當場看出它是用哪一種單位在算。至於全形與半形的換算,是中文表單特有的另一個問題,另外寫在全形與半形字元的計算方式

除了這四種之外,還有兩個地方有自己的規則。X(推特)不是數字元、而是算加權,中文字每個計 2(詳見X(推特)的中文字數)。SMS 是以「則」計算,中文不在 GSM-7 字元集內,所以一律以 Unicode 編碼處理,每則降到 70 個字元(被拆開時是 67 個);只用半形英數字的話則是每則 160 個字元。

中文字數怎麼算 — 請看「字元數」

中文的「字數」幾乎都是指字元數:一個中文字就是一個字。上方的字元數那一格就是你要的數字 — 每一個中文字、每一個全形標點都各計 1。作業與報告的字數規定、投稿的字數上限、社群平台的字數限制,看這一格就對了。

這裡要老實說明一件事:上方的「字數(單字)」不是給中文用的。它算的是以空白分隔的詞組數量,這對英文有意義(英文的單字本來就以空白分隔),但中文寫作不會在字與字之間放空白,所以一整段中文常常只會被算成 1 個「單字」。

同樣的道理,「句數」是以半形句號、問號、驚嘆號(. ! ?)判斷斷句的,中文的全形句號「。」不會被當成句子結尾;「閱讀時間」與「朗讀時間」則是以英文每分鐘閱讀字數推估的。中文內容請一律以「字元數」為準,其餘幾格當作英文文字的參考即可。

全形與半形字元的計算方式

這個工具以 Unicode 碼位(code point)為單位計算,因此全形與半形一律各算 1 個字元:中文字「字」是 1、全形標點「,」是 1、半形英文字母「a」是 1、半形數字「1」也是 1。X、Instagram、Discord 等目前大多數的網路服務都採用同一種數法,所以拿這裡的「字元數」去對社群平台的限制是準確的。

不過並不是所有系統都這樣算。部分報名表單、投稿系統與舊式的中文排版慣例,會把一個全形字視為 2 個單位(也就是半形算 0.5 個字),在標示「限 500 字」的欄位裡實際只放得下 250 個中文字。如果對方明確寫了計算方式,請以對方的規定為準。

需要看位元組的時候,上方的「UTF-8 位元組」那一格會顯示同一段文字換算後的儲存大小 — 一個中文字通常是 3 個位元組,半形英數字是 1 個。有些商品上架欄位與資料庫欄位是以位元組設限的,那一格就是拿來對照它們的。

X(推特)的中文字數 — 實際上約 140 字

X 的貼文上限常被說成「280 個字」,但正確地說是 280 個計數單位。依照 X 公開的演算法(twitter-text),半形英數字每個計 1,中文、日文、韓文字元與大多數的表情符號、特殊符號每個計 2。所以整篇用中文寫的貼文,實際上大約只能打到 140 個字。

另外,URL 不論實際多長,一律計為 23 個計數單位:貼一個很短的網址是 23,貼一個帶著一長串追蹤參數的網址也是 23。上方檢查器裡的「X(推特)貼文」選項就是照這套加權演算法計算的,發文前可以先確認還剩下幾個計數單位。

檢查器收錄的所有字數限制

下表就是上方檢查器實際使用的那一份字數限制,供你查閱。快速跳至:X/推特 · Discord · Instagram · TikTok · SMS · 各平台的計算方式

貼文與訊息

平台上限補充
X(推特)貼文280加權計算:URL 一律計 23,中文字、表情符號與特殊字體每個計 2,中文貼文實際約 140 字
Discord 訊息2,000訂閱 Nitro 為 4,000;更長的訊息會被轉成 .txt 附件
Instagram 貼文說明2,200前幾行之後會收合成「更多」
TikTok 貼文說明2,200
LinkedIn 貼文3,000依裝置不同,約 200–700 個字元後收合成「查看更多」
Facebook 貼文63,206
YouTube 影片說明5,000
Pinterest 圖釘說明500
Telegram 訊息4,096照片/影片說明為 1,024
Threads 貼文500
Bluesky 貼文300以字素(看得見的字)計算,不是碼位
Reddit 貼文標題300
Zalo 貼文/動態2,000

個人簡介與檔案

欄位上限
Instagram 個人簡介150
TikTok 個人簡介80
LinkedIn 標題(Headline)220
WhatsApp 個人狀態139
Telegram 個人簡介70
VK 狀態140

使用者名稱、標題與 SMS

欄位上限補充
Discord 暱稱32
TikTok 使用者名稱24只能使用半形英文字母、數字、底線與句點
Instagram 使用者名稱30
YouTube 影片標題100
網頁標題(SEO meta title)約 60Google 以像素寬度截斷,請當作參考值
網頁描述(SEO meta description)約 155同樣是以像素寬度截斷
SMS 簡訊每則 160全部使用 GSM-7 字元時。中文一律以 Unicode 編碼處理,實際每則只有 70 個字元(被拆開時為 67)

台灣常用的服務中,LINE 狀態消息上限為 500 個字元。LINE 未包含在上方的檢查器中,請直接以「字元數」那一格對照即可。

關於字數統計的常見問題

中文的字數要看哪一個數字?

中文請看「字元數」這一格。中文的「字數」幾乎都是指字元數,一個中文字就算一個字,全形標點也各算一個。上面的「字數(單字)」算的是以空白分隔的詞組數量,對英文有意義,但中文不會在字與字之間加空白,所以整段中文常常只會被算成 1,不要拿它當中文的字數。

全形和半形字元怎麼計算?

這個工具以 Unicode 碼位為單位計算,全形與半形一律各算 1 個字元 — 中文字、全形標點、半形英文字母、半形數字都是 1。不過部分表單與報名系統仍沿用一個全形字算 2 的舊規則,在「限 500 字」的欄位裡實際只放得下 250 個中文字。對方若有明確規定計算方式,請以對方的規定為準。

在 X(推特)上中文可以打幾個字?

X 的上限是 280 個計數單位,而中文、日文、韓文字元與大多數表情符號每個計為 2,所以整篇用中文寫的貼文實際上大約只能打 140 個字。URL 不論實際多長一律計為 23。在上方的檢查器選擇「X(推特)貼文」,就是照 X 實際使用的加權演算法計算的。

空白和換行算字元嗎?

「字元數」會把空白(全形與半形)和換行一起算進去,「字元數(不含空白)」則把它們扣掉。X、Instagram、Discord 等大多數平台都把空白當成一般字元計算,所以拿貼文或個人簡介去對平台限制時,請用含空白的「字元數」。

表情符號算一個字元嗎?

通常不是。單純的表情符號在碼位上是 1,但在 UTF-16 是 2 個單位;帶膚色或由多個符號組合而成的(例如全家人的表情符號)可能是 4、7 個單位甚至更多。在 X 上每個表情符號計為 2,在 SMS 裡只要放進一個表情符號,整則訊息每則可容納的字元數就會改變。「字素(看得見的字)」顯示你眼睛看到的數量,「字元數」與「UTF-16 單位」則是實際被扣掉的額度。

為什麼我算的字數和表單顯示的不一樣?

因為各家系統計算的單位不同。中文最常見的原因是:一個中文字是 1 個碼位、1 個 UTF-16 單位,但換成 UTF-8 是 3 個位元組。以字元數設限的服務看起來還很寬鬆,但在以位元組設限的資料庫欄位、內部系統或電商商品欄位裡,額度會以三倍的速度被吃掉,於是被判定「太長」。舉例來說,上限 255 位元組的欄位,中文只放得下 85 個字。除此之外,X 使用加權計算(中文字每個算 2),Bluesky 則以字素計算。在工具最上方選好文字要發到哪裡,它就會照那裡的算法計算,而不是給你一個籠統的數字;上方的「字素(看得見的字)」「UTF-16 單位」「UTF-8 位元組」三格也會同步更新,可以直接對照。

超過限制時要怎麼把字數縮下來?

一旦超過,工具會用該平台自己的計算單位列出可以刪掉什麼、各能省下多少:把特殊字體的英文字母與數字還原成一般字元、刪除表情符號、把彎引號與長破折號改成一般符號、合併多餘空白、拿掉主題標籤,或是直接在詞的邊界截斷到剛好符合限制。每一項都只要按一下,而且都能還原,所以可以先試代價最小的做法,不必一開始就重寫。

特殊字體會被多算字數嗎?

通常會多算一倍。粗體、花體、哥德體等特殊 Unicode 英數字大多位於 U+FFFF 之上,因此看得見的每一個字母會用掉 2 個 UTF-16 單位、4 個 UTF-8 位元組,以及 X 那 280 個額度中的 2 個。這就是為什麼 10 個特殊字體字母組成的名稱,會被上限 12 字元的欄位擋下來。貼進來之後按「把特殊字體的英數字還原成一般字元」,就能立刻看到並拿回這段差距。這個轉換只作用在英文字母與數字上,中文字會原封不動保留。

隱形字元也會被算進去嗎?

會,而且這是字數莫名比看起來多的最常見原因。零寬空白、位元組順序記號(BOM),以及從其他應用程式複製時夾帶進來的填充字元,什麼都不顯示卻照樣吃掉你的額度。這個工具會把它們標示在文字框正下方,並提供一鍵移除。

輸入的文字會被儲存嗎?

不會。計算、檢查與修改都是純瀏覽器端運算,由頁面上的 JavaScript 在你的裝置上完成,輸入的文字不會上傳、不會記錄,也不會儲存到任何伺服器。工具完全免費,也不需要註冊。

想把數好的文字變成特殊字體嗎?

UltraTextGen 可以把一般文字轉換成粗體、斜體、花體等 100 種以上的 Unicode 字體,複製貼上到個人簡介、貼文或聊天室都能正常顯示,完全免費、免註冊。

開啟 UltraTextGen →