একটি শব্দ গণনাকারী আপনাকে জানায় যে একটি টেক্সটে কতটি শব্দ, অক্ষর, বাক্য ও অনুচ্ছেদ রয়েছে। এটি ইনপুটকে শ্বেতস্থানে বিভক্ত করে এবং বাক্য ও অনুচ্ছেদ শনাক্ত করতে প্যাটার্ন-ভিত্তিক নিয়ম প্রয়োগ করে। "শব্দ"-এর সংজ্ঞা ভাষা, লিপি ও প্রসঙ্গভেদে ভিন্ন। ইংরেজিতে শ্বেতস্থান-বিভক্ত টোকেন ভালোভাবে কাজ করে। CJK ভাষায় (চীনা, জাপানি, কোরিয়ান) শব্দগুলো ফাঁক দিয়ে আলাদা করা হয় না এবং বিভাজনের জন্য ICU-র BreakIterator-এর মতো অভিধান-ভিত্তিক অ্যালগরিদম প্রয়োজন।
অক্ষর গণনার দুটি সাধারণ সংজ্ঞা রয়েছে: স্পেস সহ এবং স্পেস ছাড়া। মোট অক্ষর সংখ্যায় টেক্সটের প্রতিটি Unicode কোড পয়েন্ট অন্তর্ভুক্ত থাকে — স্পেস, ট্যাব ও নতুন লাইন সহ। স্পেস-বিহীন অক্ষর গণনা করার আগে সব শ্বেতস্থান সরিয়ে দেয়, যা Twitter (এখন X) পোস্টের দৈর্ঘ্য সীমার মতো প্ল্যাটফর্ম ও অনুবাদকদের দ্বারা ব্যবহৃত পরিমাপ। কঠোর দৈর্ঘ্য সীমাবদ্ধতাযুক্ত সিস্টেমে টেক্সট পেস্ট করার সময় এই পার্থক্য গুরুত্বপূর্ণ।
পড়ার সময় ও কথা বলার সময়ের অনুমান শব্দ সংখ্যাকে গড় হারে ভাগ করে। Journal of Memory and Language-এ প্রকাশিত গবেষণা (Brysbaert, 2019) ইংরেজি গদ্যের জন্য গড় নিঃশব্দ পড়ার গতি প্রতি মিনিটে ২৩৮ শব্দ নির্ধারণ করেছে। উপস্থাপনায় কথা বলার গতি সাধারণত প্রতি মিনিটে ১৩০ থেকে ১৬০ শব্দ। এই গড়গুলো টেক্সটের কঠিনতা, পাঠক ও ভাষাভেদে ভিন্ন হয়, তবে ব্লগ পোস্ট, ডকুমেন্টেশন ও স্লাইড ডেকের জন্য এগুলো একটি ব্যবহারিক আনুমানিক মান দেয়।
কেন এই শব্দ গণনাকারী ব্যবহার করবেন?
আপনার টেক্সট পেস্ট করুন এবং অ্যাকাউন্ট তৈরি বা সার্ভারে ডেটা না পাঠিয়ে তাৎক্ষণিকভাবে শব্দ, অক্ষর, বাক্য ও অনুচ্ছেদের সংখ্যা পান।
⚡
তাৎক্ষণিক ফলাফল
আপনি টাইপ বা পেস্ট করার সাথে সাথে গণনা আপডেট হয়। কোনো বোতাম ক্লিক করার প্রয়োজন নেই, কোনো লোডিং নেই। অপেক্ষা ছাড়াই একের পর এক ভিন্ন টেক্সট পরীক্ষা করুন।
🔒
গোপনীয়তা-সুরক্ষিত প্রক্রিয়াকরণ
সমস্ত গণনা আপনার ব্রাউজারে JavaScript ব্যবহার করে সম্পন্ন হয়। আপনার টেক্সট কখনো আপনার ডিভাইস ছেড়ে যায় না এবং কোনো সার্ভারে কিছু সংরক্ষণ বা লগ করা হয় না।
📊
একসাথে সাতটি পরিমাপ
শব্দ, অক্ষর (স্পেস সহ ও ছাড়া), বাক্য, অনুচ্ছেদ, পড়ার সময় ও কথা বলার সময়। একবার পেস্ট করলেই আপনার প্রয়োজনীয় সব তথ্য পাবেন।
🌍
কোনো অ্যাকাউন্ট বা ইনস্টলেশন প্রয়োজন নেই
পেজ খুলুন এবং গণনা শুরু করুন। কোনো নিবন্ধন নেই, কোনো ব্রাউজার এক্সটেনশন নেই, কোনো ডেস্কটপ অ্যাপ নেই। যেকোনো আধুনিক ব্রাউজারযুক্ত ডিভাইসে কাজ করে।
শব্দ গণনাকারীর ব্যবহারের ক্ষেত্র
কন্টেন্ট লেখা ও ব্লগিং
SEO লক্ষ্যমাত্রার সাথে মিলিয়ে নিবন্ধের দৈর্ঘ্য যাচাই করুন। Google ন্যূনতম শব্দ সংখ্যা নির্ধারণ করে না, তবে Backlinko ও Ahrefs-এর গবেষণা দেখায় যে প্রতিযোগিতামূলক অনুসন্ধানে শীর্ষস্থানীয় পেজগুলো গড়ে ১,৪০০ থেকে ১,৭০০ শব্দের হয়।
API ডকুমেন্টেশন
এন্ডপয়েন্টের বিবরণ সামঞ্জস্যপূর্ণ রাখুন। যদি আপনার স্টাইল গাইড বলে প্রতিটি প্যারামিটার বিবরণ ২০০ অক্ষরের মধ্যে থাকতে হবে, কমিট করার আগে এখানে পেস্ট করে যাচাই করুন।
একাডেমিক গবেষণাপত্র প্রস্তুতি
কনফারেন্স জমা ও জার্নাল নিবন্ধে কঠোর শব্দ সীমা থাকে। সর্বোচ্চ সীমা অতিক্রম করে ডেস্ক প্রত্যাখ্যান এড়াতে জমার আগে শব্দ গণনা করুন।
সোশ্যাল মিডিয়া পোস্ট তৈরি
Twitter/X-এ ২৮০ অক্ষর, LinkedIn পোস্ট ৩,০০০ অক্ষরে কেটে যায় এবং Meta বিজ্ঞাপনের শিরোনাম ৪০ অক্ষরে সীমাবদ্ধ। প্রকাশের আগে অক্ষর সংখ্যা যাচাই করুন।
DevOps কমিট বার্তা
প্রচলিত Git কমিট বার্তার ফরম্যাট সাবজেক্ট লাইন ৫০ অক্ষরের মধ্যে এবং বডি প্রতি লাইনে ৭২ অক্ষরে সীমাবদ্ধ রাখার পরামর্শ দেয়। কমিট করার আগে একটি খসড়া পেস্ট করে পরীক্ষা করুন।
অনুবাদ ও স্থানীয়করণ
অনুবাদকরা শব্দ বা অক্ষর সংখ্যার ভিত্তিতে মূল্য নির্ধারণ করেন। কোনো অনুবাদ সংস্থায় ফাইল পাঠানোর আগে উদ্ধৃতি চাওয়া ও প্রকল্পের ব্যয় অনুমানের জন্য উৎস টেক্সটের সঠিক গণনা নিন।
টেক্সট পরিমাপের রেফারেন্স
এই টুল যে প্রতিটি পরিমাপ প্রদান করে তার একটি নির্দিষ্ট সংজ্ঞা রয়েছে। নিচের সারণিতে দেখানো হয়েছে প্রতিটি কীভাবে গণনা করা হয়।
পরিমাপ
কীভাবে গণনা করা হয়
উদাহরণ
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: ২৮০ অক্ষর), SMS বার্তার (GSM-7-এ ১৬০ বাইট), UI স্ট্রিং এবং 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."-এর মতো সংক্ষিপ্তরূপ গণনা বাড়িয়ে দিতে পারে কারণ প্রতিটি দাড়ি একটি মিল তৈরি করে। সঠিক বাক্য বিভাজনের জন্য spaCy বা NLTK-এর মতো NLP লাইব্রেরি ব্যবহার করুন যা সংক্ষিপ্তরূপ, ইলিপসিস ও দশমিক সংখ্যা পরিচালনার জন্য প্রশিক্ষিত মডেল প্রয়োগ করে।
পেস্ট না করে ফাইলের শব্দ গণনা করা যাবে?
এই ব্রাউজার টুল শুধুমাত্র পেস্ট করা টেক্সটের সাথে কাজ করে। কমান্ড লাইন থেকে ফাইলের শব্দ গণনার জন্য Linux বা macOS-এ wc -w filename ব্যবহার করুন। Windows-এ PowerShell-এ (Get-Content file.txt | Measure-Object -Word).Words পাওয়া যায়। বড় ফাইল বা ব্যাচ প্রক্রিয়াকরণের জন্য কমান্ড-লাইন টুলগুলো যেকোনো ব্রাউজার-ভিত্তিক গণনাকারীর চেয়ে দ্রুত।
টুলটি কি Unicode অক্ষর সঠিকভাবে গণনা করে?
হ্যাঁ। JavaScript-এর string.length UTF-16 কোড ইউনিট গণনা করে, কোড পয়েন্ট নয়, তাই একটি পতাকা ইমোজির মতো (যা একাধিক কোড পয়েন্টের ZWJ ক্রম) প্রত্যাশার চেয়ে বেশি অক্ষর সংখ্যা দেখাতে পারে। এই টুল ব্রাউজারের অন্তর্নির্মিত string API-এর মতো একই গণনা পদ্ধতি ব্যবহার করে। সঠিক গ্রাফিম ক্লাস্টার গণনার জন্য আধুনিক ব্রাউজারে উপলব্ধ Intl.Segmenter API ব্যবহার করুন।
Microsoft Word বা Google Docs-এর শব্দ গণনাকারীর সাথে এটি কীভাবে তুলনীয়?
Microsoft Word ও Google Docs ইংরেজি শব্দ গণনার জন্য অনুরূপ শ্বেতস্থান-ভিত্তিক বিভাজন ব্যবহার করে। হাইফেনযুক্ত শব্দ, স্পেস-বিহীন এম ড্যাশ এবং ফুটনোট বা হেডার অন্তর্ভুক্তির ক্ষেত্রে সামান্য পার্থক্য হতে পারে। এই টুল শুধুমাত্র আপনার পেস্ট করা টেক্সট গণনা করে — কোনো মেটাডেটা, হেডার বা ফুটনোট নেই। কোনো নির্দিষ্ট প্ল্যাটফর্মের গণনার সাথে মেলানোর জন্য উভয়ে একই টেক্সট পেস্ট করে তুলনা করুন।