یک شمارنده کلمات به شما میگوید که یک متن چه تعداد کلمه، کاراکتر، جمله و پاراگراف دارد. ابزار ورودی را بر اساس فاصلهها تقسیم میکند و قوانین مبتنی بر الگو را برای تشخیص جمله و پاراگراف اعمال میکند. تعریف «کلمه» بر اساس زبان، خط و زمینه متفاوت است. در فارسی و انگلیسی، توکنهای مبتنی بر فاصله بهخوبی کار میکنند. در زبانهای CJK (چینی، ژاپنی، کرهای)، کلمات با فاصله از هم جدا نمیشوند و تقسیمبندی به الگوریتمهای مبتنی بر فرهنگ لغت مانند ICU BreakIterator نیاز دارد.
شمارش کاراکتر دو تعریف رایج دارد: با فاصله و بدون فاصله. تعداد کل کاراکترها شامل هر نقطهکد Unicode در متن میشود، از جمله فاصلهها، تبها و کاراکترهای خط جدید. کاراکتر بدون فاصله تمام فضاهای خالی را پیش از شمارش حذف میکند؛ این معیاری است که توسط پلتفرمهایی مانند Twitter (حالا X) برای محدودیت طول پست و توسط مترجمانی که هزینه را بر اساس کاراکتر محاسبه میکنند، استفاده میشود. این تفاوت زمانی اهمیت دارد که متن را در سیستمهایی با محدودیت طول دقیق وارد میکنید.
برآورد زمان مطالعه و سخنرانی تعداد کلمات را بر یک نرخ میانگین تقسیم میکند. پژوهشی که در مجله Journal of Memory and Language (Brysbaert، ۲۰۱۹) منتشر شده، میانگین سرعت مطالعه خاموش برای نوشتههای انگلیسی را ۲۳۸ کلمه در دقیقه عنوان کرده است. سرعت سخنرانی در ارائهها معمولاً بین ۱۳۰ تا ۱۶۰ کلمه در دقیقه است. این میانگینها بسته به دشواری متن، مخاطب و زبان متفاوتاند، اما برای پستهای وبلاگ، مستندات و اسلایدها یک تخمین عملی ارائه میدهند.
چرا از این شمارنده کلمات استفاده کنیم؟
متن خود را جایگذاری کنید و تعداد کلمات، کاراکترها، جملات و پاراگرافها را بیدرنگ دریافت کنید، بدون ایجاد حساب کاربری یا ارسال داده از طریق شبکه.
⚡
نتایج آنی
تعداد با هر تایپ یا جایگذاری بهروز میشود. هیچ دکمهای برای کلیک وجود ندارد و نیازی به انتظار نیست. متنهای مختلف را پشت سر هم بدون انتظار آزمایش کنید.
🔒
پردازش با اولویت حریم خصوصی
تمام شمارشها در مرورگر شما با JavaScript انجام میشود. متن شما هرگز دستگاهتان را ترک نمیکند و هیچ چیزی در هیچ سروری ذخیره یا ثبت نمیشود.
📊
هفت معیار بهطور همزمان
کلمات، کاراکترها (با و بدون فاصله)، جملات، پاراگرافها، زمان مطالعه و زمان سخنرانی. یک بار جایگذاری، همه چیزی که نیاز دارید.
🌍
بدون حساب کاربری یا نصب
صفحه را باز کنید و شمارش را شروع کنید. بدون ثبتنام، بدون افزونه مرورگر، بدون برنامه دسکتاپ. روی هر دستگاهی با مرورگر مدرن کار میکند.
موارد استفاده از شمارنده کلمات
نوشتن محتوا و وبلاگنویسی
طول مقاله را با اهداف SEO مقایسه کنید. Google حداقل تعداد کلمه را اعمال نمیکند، اما پژوهشهای Backlinko و Ahrefs نشان میدهد که صفحات برتر برای جستجوهای رقابتی بهطور میانگین ۱۴۰۰ تا ۱۷۰۰ کلمه دارند.
مستندات API
توضیحات endpoint را یکسان نگه دارید. اگر راهنمای سبک شما میگوید هر توضیح پارامتر باید زیر ۲۰۰ کاراکتر باشد، متن را اینجا جایگذاری کنید تا پیش از commit تأیید کنید.
آمادهسازی مقالات دانشگاهی
مقالات کنفرانسها و مجلات علمی محدودیت دقیق تعداد کلمه دارند. پیش از ارسال کلمات را بشمارید تا به دلیل تجاوز از حداکثر تعداد رد نشوید.
پیشنویس پستهای شبکههای اجتماعی
Twitter/X اجازه ۲۸۰ کاراکتر را میدهد، پستهای LinkedIn پس از ۳۰۰۰ کاراکتر کوتاه میشوند و تیترهای تبلیغات Meta به ۴۰ کاراکتر محدود هستند. پیش از انتشار، تعداد کاراکترها را بررسی کنید.
پیامهای Commit در DevOps
فرمت متداول پیام commit در Git توصیه میکند که عنوان زیر ۵۰ کاراکتر و متن اصلی در ۷۲ کاراکتر در هر خط باشد. پیشنویس را جایگذاری کنید تا پیش از commit بررسی شود.
ترجمه و بومیسازی
مترجمان هزینه را بر اساس تعداد کلمه یا کاراکتر تعیین میکنند. قبل از ارسال فایلها به آژانس ترجمه، تعداد دقیق متن مبدأ را به دست آورید تا قیمتها را درخواست کنید و هزینه پروژه را برآورد نمایید.
مرجع معیارهای متن
هر معیاری که این ابزار گزارش میدهد تعریف خاصی دارد. جدول زیر نحوه محاسبه هر کدام را نشان میدهد.
معیار
نحوه محاسبه
مثال
Words
Sequences separated by whitespace
"hello world" → 2
Characters
All characters including spaces
"hi there" → 8
Characters (no spaces)
Letters, digits, punctuation only
"hi there" → 7
Sentences
Segments ending with . ? or !
"Hi. Bye!" → 2
Paragraphs
Text blocks separated by blank lines
"A\n\nB" → 2
Reading time
Word count ÷ 238 wpm (silent reading avg)
1 000 words → ~4.2 min
Speaking time
Word count ÷ 150 wpm (presentation pace)
1 000 words → ~6.7 min
تعداد کلمه در مقابل تعداد کاراکتر
این دو معیار به سؤالات مختلفی پاسخ میدهند. انتخاب نادرست میتواند به رد شدن ارسالها یا به هم ریختن صفحهبندی منجر شود.
تعداد کلمه
تعداد توکنهای مبتنی بر فاصله را اندازه میگیرد. این معیار استاندارد برای مقالات، مطالب خبری و دستنوشتههای کتاب است. اکثر مجلات علمی، پلتفرمهای وبلاگنویسی و قراردادهای آزاد طول را با کلمات تعریف میکنند. این معیار وابسته به زبان است: یک پاراگراف ۵۰۰ کلمهای انگلیسی ممکن است به ۷۰۰ کلمه در آلمانی یا ۳۰۰ کاراکتر در چینی ترجمه شود.
تعداد کاراکتر
تعداد کاراکترهای منفرد (نقطهکدهای Unicode) را اندازه میگیرد. این معیار استاندارد برای محدودیتهای شبکههای اجتماعی (Twitter: 280 کاراکتر)، پیامهای SMS (160 بایت در GSM-7)، رشتههای رابط کاربری و متن CJK است که در آن مرزهای کلمات وجود ندارد. وقتی یک پلتفرم میگوید «محدودیت کاراکتر»، معمولاً منظور نقطهکدها است نه بایتها. جفتهای نیابتی (ایموجیها، برخی CJK) ممکن است بسته به پلتفرم بهعنوان ۱ یا ۲ شمارش شوند.
مثالهای کد
نحوه شمارش کلمات و کاراکترها بهصورت برنامهنویسی در زبانهای مختلف. هر مثال یک رشته ورودی یکسان را برای مقایسه همسان پردازش میکند.
JavaScript
// Word count — split on whitespace, filter empty strings
const text = 'Hello world! How are you?'
const words = text.trim().split(/\s+/).filter(Boolean)
console.log(words.length) // → 5
// Character count
console.log(text.length) // → 27 (with spaces)
console.log(text.replace(/\s/g, '').length) // → 22 (without spaces)
// Sentence count — split on sentence-ending punctuation
const sentences = text.split(/[.!?]+/).filter(s => s.trim().length > 0)
console.log(sentences.length) // → 2
// Reading time estimate (238 wpm average)
const readingMin = words.length / 238
console.log(Math.ceil(readingMin)) // → 1 min
Python
import re
text = 'Hello world! How are you?'
# Word count
words = text.split()
print(len(words)) # → 5
# Character counts
print(len(text)) # → 27 (with spaces)
print(len(text.replace(' ', ''))) # → 22 (without spaces)
# Sentence count
sentences = [s for s in re.split(r'[.!?]+', text) if s.strip()]
print(len(sentences)) # → 2
# Paragraph count
multiline = """First paragraph.
Second paragraph."""
paragraphs = [p for p in multiline.split('\n\n') if p.strip()]
print(len(paragraphs)) # → 2
Go
package main
import (
"fmt"
"strings"
"unicode"
)
func main() {
text := "Hello world! How are you?"
// Word count
words := strings.Fields(text)
fmt.Println(len(words)) // → 5
// Character count (rune-aware for Unicode)
fmt.Println(len([]rune(text))) // → 27
// Characters without spaces
noSpaces := strings.Map(func(r rune) rune {
if unicode.IsSpace(r) {
return -1
}
return r
}, text)
fmt.Println(len([]rune(noSpaces))) // → 22
}
CLI (bash)
# Word count
echo "Hello world" | wc -w
# → 2
# Character count (bytes — use wc -m for multibyte chars)
echo -n "Hello world" | wc -m
# → 11
# Line count
echo -e "line1\nline2\nline3" | wc -l
# → 3
# Count words in a file
wc -w < article.txt
# → 4230
سؤالات متداول
شمارنده کلمات چگونه «کلمه» را تعریف میکند؟
این ابزار متن را بر اساس فاصله (اسپیس، تب، خط جدید) تقسیم میکند و توکنهای غیرخالی حاصل را میشمارد. اصطلاحات خطفاصلهدار مانند «well-known» یک کلمه حساب میشوند. این رفتار با Microsoft Word و Google Docs برای متن انگلیسی مطابقت دارد. برای زبانهای CJK، تقسیم بر اساس فاصله تعداد واقعی کلمات را کمتر از حد واقعی تخمین میزند، زیرا این خطها بین کلمات از فاصله استفاده نمیکنند.
آیا برآورد زمان مطالعه دقیق است؟
برآورد از ۲۳۸ کلمه در دقیقه استفاده میکند که بر اساس یک فراتحلیل ۲۰۱۹ Marc Brysbaert با پوشش ۱۹۰ مطالعه است. این میانگین خوبی برای نوشتههای غیرداستانی انگلیسی است که توسط بزرگسالان بهصورت خاموش خوانده میشود. مستندات فنی با بلاکهای کد کندتر خوانده میشوند (۱۵۰ تا ۱۸۰ کلمه در دقیقه) و محتوای وبلاگ معمولی سریعتر (۲۵۰ تا ۳۰۰ کلمه در دقیقه). این عدد را بهعنوان یک راهنما، نه تضمین، در نظر بگیرید.
تفاوت کاراکتر با فاصله و بدون فاصله چیست؟
کاراکترها شامل تمام کاراکترهای متن میشود: حروف، اعداد، علائم نگارشی، فاصلهها، تبها و خطوط جدید. کاراکتر بدون فاصله تمام فضاهای خالی را پیش از شمارش حذف میکند. از شمارش «بدون فاصله» هنگامی استفاده کنید که محدودیت پلتفرمهایی مانند Twitter را بررسی میکنید، جایی که فاصلهها در محدودیت محاسبه میشوند، یا برای قیمتگذاری ترجمه در زبانهای CJK که فاصله بخشی از سیستم نوشتاری نیست.
جملات چگونه شمارش میشوند؟
ابزار بخشهایی که به نقطه، علامت تعجب یا علامت سؤال ختم میشوند را میشمارد. اختصارات مانند «Dr.» یا «U.S.A.» میتوانند تعداد را افزایش دهند زیرا هر نقطه یک تطابق ایجاد میکند. برای تقسیمبندی دقیق جملات، از کتابخانههای NLP مانند spaCy یا NLTK استفاده کنید که مدلهای آموزشدیدهای برای مدیریت اختصارات، نقاط چندگانه و اعداد اعشاری دارند.
آیا میتوانم کلمات یک فایل را بدون جایگذاری بشمارم؟
این ابزار مرورگر فقط با متن جایگذاریشده کار میکند. برای شمارش کلمات در یک فایل از خط فرمان، از wc -w filename در Linux یا macOS استفاده کنید. در Windows، PowerShell امکان (Get-Content file.txt | Measure-Object -Word).Words را فراهم میکند. برای فایلهای بزرگ یا پردازش دستهای، ابزارهای خط فرمان سریعتر از هر شمارنده مبتنی بر مرورگر هستند.
آیا ابزار کاراکترهای Unicode را درست میشمارد؟
بله. string.length در JavaScript واحدهای کد UTF-16 را میشمارد، نه نقطهکدها را؛ بنابراین یک ایموجی مانند پرچم (که یک دنباله ZWJ از چندین نقطهکد است) ممکن است تعداد کاراکتر بیشتری از حد انتظار گزارش دهد. این ابزار از همان روش شمارش API رشته داخلی مرورگر استفاده میکند. برای شمارش دقیق خوشههای گرافیم، از Intl.Segmenter API موجود در مرورگرهای مدرن استفاده کنید.
این ابزار چه تفاوتی با شمارنده کلمات در Microsoft Word یا Google Docs دارد؟
Microsoft Word و Google Docs از تقسیمبندی مشابه مبتنی بر فاصله برای شمارش کلمات انگلیسی استفاده میکنند. تفاوتهای جزئی میتوانند با کلمات خطفاصلهدار، خطتیرههای بدون فاصله و نحوه احتساب پاورقیها یا سرصفحهها رخ دهند. این ابزار دقیقاً متنی را که جایگذاری میکنید میشمارد، بدون هیچ متاداده، سرصفحه یا پاورقی. برای تطابق دقیق شمارش یک پلتفرم خاص، همان متن را در هر دو جایگذاری کنید و مقایسه نمایید.