{"id":65599,"date":"2026-10-13T20:44:47","date_gmt":"2026-10-13T15:14:47","guid":{"rendered":"https:\/\/www.quickonlinetips.com\/archives\/?page_id=65599"},"modified":"2026-10-13T21:39:03","modified_gmt":"2026-10-13T16:09:03","slug":"word-counter","status":"publish","type":"page","link":"https:\/\/www.quickonlinetips.com\/archives\/tools\/word-counter\/","title":{"rendered":"Word Counter: Free Online Word and Character Count Tool"},"content":{"rendered":"<p>This free <strong>word counter<\/strong> counts the words, characters, sentences and paragraphs in any text as you type. It also shows how long the text takes to read or say aloud, and which keywords you use most. Paste an essay, a blog post, a cover letter or a social media caption and check it against your limit in seconds.<\/p>\n<style>.qt-tool{--qt-accent:var(--global-palette1,#2B6CB0);--qt-accent2:var(--global-palette2,#215387);--qt-ink:var(--global-palette3,#1A202C);--qt-muted:var(--global-palette5,#4A5568);--qt-line:var(--global-palette7,#EDF2F7);--qt-soft:var(--global-palette8,#F7FAFC);--qt-bg:var(--global-palette9,#ffffff);background:var(--qt-soft);border:1px solid var(--qt-line);border-radius:12px;padding:20px;margin:0 0 1.75em;color:var(--qt-ink);box-shadow:0 1px 2px rgba(26,32,44,.06)} .qt-tool *{box-sizing:border-box} .qt-tool .qt-label{display:block;font-weight:600;margin:0 0 6px} .qt-tool textarea,.qt-tool input[type=number],.qt-tool input[type=text],.qt-tool select{width:100%;font:inherit;font-size:16px;line-height:1.5;color:var(--qt-ink);background:var(--qt-bg);border:1px solid #CBD5E0;border-radius:8px;padding:10px 12px;margin:0} .qt-tool textarea{min-height:200px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px} .qt-tool textarea.qt-prose{font-family:inherit;font-size:16px} .qt-tool textarea:focus,.qt-tool input:focus,.qt-tool select:focus{outline:2px solid var(--qt-accent);outline-offset:1px;border-color:var(--qt-accent)} .qt-tool .qt-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0 0} .qt-tool .qt-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:12px 0 0} .qt-tool .qt-field label{display:block;font-size:14px;font-weight:600;margin:0 0 4px;color:var(--qt-muted)} .qt-tool .qt-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-size:15px;font-weight:600;line-height:1.2;padding:10px 16px;border-radius:8px;border:1px solid var(--qt-accent);background:var(--qt-accent);color:#fff;cursor:pointer;text-decoration:none;min-height:42px} .qt-tool .qt-btn:hover{background:var(--qt-accent2);border-color:var(--qt-accent2);color:#fff} .qt-tool .qt-btn-ghost{background:var(--qt-bg);color:var(--qt-accent)} .qt-tool .qt-btn-ghost:hover{background:var(--qt-line);color:var(--qt-accent2)} .qt-tool .qt-btn-sm{font-size:14px;padding:6px 10px;min-height:34px} .qt-tool .qt-btn-big{font-size:17px;padding:12px 22px} .qt-tool .qt-check{display:flex;align-items:center;gap:8px;font-size:15px;margin:0;cursor:pointer} .qt-tool .qt-check input{width:18px;height:18px;margin:0;accent-color:var(--qt-accent)} .qt-tool .qt-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px;margin:12px 0 0} .qt-tool .qt-stat{background:var(--qt-bg);border:1px solid var(--qt-line);border-radius:8px;padding:10px;text-align:center} .qt-tool .qt-num{display:block;font-size:24px;font-weight:700;line-height:1.2;color:var(--qt-accent2);font-variant-numeric:tabular-nums} .qt-tool .qt-lab{display:block;font-size:13px;color:var(--qt-muted);margin-top:2px} .qt-tool .qt-sub{font-weight:700;margin:16px 0 6px} .qt-tool .qt-note{font-size:13px;color:var(--qt-muted);margin:14px 0 0} .qt-tool .qt-status{min-height:1.4em;font-size:14px;color:var(--qt-accent2);margin:8px 0 0} .qt-tool .qt-error{color:#C53030} .qt-tool .qt-kw{margin:0;padding:0 0 0 1.4em;columns:2;column-gap:24px;font-size:15px} .qt-tool .qt-kw li{margin:0 0 4px;break-inside:avoid} .qt-tool .qt-kw span{color:var(--qt-muted)} .qt-tool .qt-result{background:var(--qt-bg);border:1px solid var(--qt-line);border-radius:10px;padding:18px;margin:12px 0 0;text-align:center;font-size:44px;font-weight:700;line-height:1.25;color:var(--qt-accent2);word-break:break-word;font-variant-numeric:tabular-nums;min-height:94px} .qt-tool .qt-result.qt-many{font-size:22px;text-align:left;line-height:1.6} .qt-tool .qt-history{margin:0;padding:0;list-style:none;font-size:14px;color:var(--qt-muted)} .qt-tool .qt-history li{padding:4px 0;border-bottom:1px dashed var(--qt-line);word-break:break-word} .qt-tool .qt-presets{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 0} .qt-tool .qt-dice{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:14px 0 0;min-height:76px} .qt-tool .qt-die{width:68px;height:68px;border-radius:14px;background:var(--qt-bg);border:2px solid var(--qt-accent);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:var(--qt-ink);box-shadow:0 2px 0 var(--qt-accent2)} .qt-tool .qt-die.qt-pip{font-size:56px;font-weight:400;line-height:1} .qt-tool .qt-die-label{display:block;font-size:11px;font-weight:600;color:var(--qt-muted)} .qt-tool .qt-total{text-align:center;font-size:20px;margin:12px 0 0} .qt-tool .qt-total strong{font-size:32px;color:var(--qt-accent2)} .qt-tool .qt-roll{animation:qtroll .45s ease-out} @keyframes qtroll{0%{transform:rotate(-25deg) scale(.8)}60%{transform:rotate(12deg) scale(1.08)}100%{transform:rotate(0) scale(1)}} .qt-tool .qt-out{background:var(--qt-bg)} .qt-tool p:empty{display:none} .qt-tool p:not(.qt-note){margin:0} .qt-tool .qt-grid:has(.qt-check){grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px 16px} .qt-tool .qt-swatches{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:8px 0 18px} .qt-tool .qt-sw{font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:600;border:1px solid rgba(0,0,0,.12);border-radius:8px;min-height:64px;padding:6px 4px;cursor:pointer;display:flex;align-items:flex-end;justify-content:center;text-transform:uppercase;transition:transform .1s} .qt-tool .qt-sw:hover,.qt-tool .qt-sw:focus{transform:scale(1.06);outline:2px solid var(--qt-accent);outline-offset:1px} .qt-tool .qt-group{font-size:15px;font-weight:700;margin:14px 0 2px} .qt-tool .qt-seg{display:inline-flex;border:1px solid var(--qt-accent);border-radius:8px;overflow:hidden} .qt-tool .qt-seg button{font:inherit;font-size:14px;font-weight:600;padding:8px 14px;border:0;background:var(--qt-bg);color:var(--qt-accent);cursor:pointer} .qt-tool .qt-seg button[aria-pressed=true]{background:var(--qt-accent);color:#fff} .qt-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:0 0 1.75em} .qt-card{display:block;background:var(--global-palette8,#F7FAFC);border:1px solid var(--global-palette7,#EDF2F7);border-radius:12px;padding:16px 18px;text-decoration:none;color:var(--global-palette3,#1A202C);transition:transform .12s,box-shadow .12s} .qt-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(26,32,44,.10);color:var(--global-palette3,#1A202C)} .qt-card strong{display:block;font-size:18px;color:var(--global-palette1,#2B6CB0);margin:0 0 4px} .qt-card span{display:block;font-size:15px;color:var(--global-palette5,#4A5568);line-height:1.5} @media (max-width:600px){.qt-tool{padding:14px}.qt-tool .qt-swatches{grid-template-columns:repeat(3,1fr)}.qt-tool .qt-kw{columns:1}.qt-tool .qt-result{font-size:36px}.qt-tool .qt-die{width:58px;height:58px;font-size:24px}.qt-tool .qt-die.qt-pip{font-size:48px}}<\/style>\n<div class=\"qt-tool\" id=\"qt-wc\"><label class=\"qt-label\" for=\"qt-wc-in\">Type or paste your text<\/label><textarea id=\"qt-wc-in\" class=\"qt-prose\" rows=\"10\" spellcheck=\"true\" placeholder=\"Start typing, or paste your text here. The counts update as you type.\"><\/textarea><\/p>\n<div class=\"qt-stats\" aria-live=\"polite\">\n<div class=\"qt-stat\"><span class=\"qt-num\" id=\"qt-wc-words\">0<\/span><span class=\"qt-lab\">Words<\/span><\/div>\n<div class=\"qt-stat\"><span class=\"qt-num\" id=\"qt-wc-chars\">0<\/span><span class=\"qt-lab\">Characters<\/span><\/div>\n<div class=\"qt-stat\"><span class=\"qt-num\" id=\"qt-wc-nospace\">0<\/span><span class=\"qt-lab\">Characters (no spaces)<\/span><\/div>\n<div class=\"qt-stat\"><span class=\"qt-num\" id=\"qt-wc-sent\">0<\/span><span class=\"qt-lab\">Sentences<\/span><\/div>\n<div class=\"qt-stat\"><span class=\"qt-num\" id=\"qt-wc-para\">0<\/span><span class=\"qt-lab\">Paragraphs<\/span><\/div>\n<div class=\"qt-stat\"><span class=\"qt-num\" id=\"qt-wc-read\">0 sec<\/span><span class=\"qt-lab\">Reading time<\/span><\/div>\n<div class=\"qt-stat\"><span class=\"qt-num\" id=\"qt-wc-speak\">0 sec<\/span><span class=\"qt-lab\">Speaking time<\/span><\/div>\n<\/div>\n<div class=\"qt-row\"><button type=\"button\" class=\"qt-btn\" id=\"qt-wc-copy\">Copy text<\/button><button type=\"button\" class=\"qt-btn qt-btn-ghost\" id=\"qt-wc-clear\">Clear<\/button><\/div>\n<div class=\"qt-status\" id=\"qt-wc-status\" aria-live=\"polite\"><\/div>\n<div id=\"qt-wc-kwbox\" hidden>\n<div class=\"qt-sub\">Top keywords<\/div>\n<ol class=\"qt-kw\" id=\"qt-wc-kw\"><\/ol>\n<\/div>\n<p class=\"qt-note\">Everything runs in your browser. Your text is never sent to or stored on our server.<\/p>\n<\/div>\n<p><script>(function () { function qtReady(fn) { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', fn); } else { fn(); } } function qtCopy(text, statusEl, okMsg) { function done(ok) { if (statusEl) { statusEl.textContent = ok ? (okMsg || 'Copied to clipboard.') : 'Press Ctrl+C (or Cmd+C) to copy.'; } } function fallback() { var ta = document.createElement('textarea'); ta.value = text; ta.setAttribute('readonly', ''); ta.style.position = 'fixed'; ta.style.top = '-1000px'; document.body.appendChild(ta); ta.select(); var ok = false; try { ok = document.execCommand('copy'); } catch (e) { ok = false; } document.body.removeChild(ta); done(ok); } if (navigator.clipboard) { if (window.isSecureContext) { navigator.clipboard.writeText(text).then(function () { done(true); }, fallback); return; } } fallback(); } function qtRand32() { var c = window.crypto || window.msCrypto; if (c) { if (c.getRandomValues) { var a = new Uint32Array(1); c.getRandomValues(a); return a[0]; } } return Math.floor(Math.random() * 4294967296); } function qtRandInt(range) { if (range === 4294967296) { return qtRand32(); } var limit = Math.floor(4294967296 \/ range) * range; var x = qtRand32(); while (x >= limit) { x = qtRand32(); } return x % range; } qtReady(function () { var box = document.getElementById('qt-wc-in'); if (!box) { return; } var wordRe = \/[\\p{L}\\p{N}]+(?:['\u2019\\-][\\p{L}\\p{N}]+)*\/gu; var hasLetter = \/[\\p{L}\\p{N}]\/u; var stop = {}; 'the a an and or but of to in on at for with is are was were be been being it its this that these those as by from you your yours i me my we our us they them their he him his she her not no have has had do does did so if then than there here what which who whom when where why how all any can could will would should just about into over more most also only very up out one some such own same too each other'.split(' ').forEach(function (w) { stop[w] = 1; }); var status = document.getElementById('qt-wc-status'); function set(id, n) { document.getElementById(id).textContent = n.toLocaleString(); } function fmtTime(sec) { sec = Math.round(sec); if (sec === 0) { return '0 sec'; } if (60 > sec) { return sec + ' sec'; } var m = Math.floor(sec \/ 60); var s = sec % 60; return m + ' min' + (s ? ' ' + s + ' sec' : ''); } function update() { var t = box.value; var words = t.match(wordRe) || []; var wc = words.length; set('qt-wc-words', wc); set('qt-wc-chars', Array.from(t).length); set('qt-wc-nospace', Array.from(t.replace(\/\\s+\/g, '')).length); var sentences = t.split(\/[.!?\u2026]+(?=\\s|$)\/).filter(function (s) { return hasLetter.test(s); }).length; set('qt-wc-sent', sentences); var paras = t.split(\/\\n\\s*\\n\/).filter(function (p) { return hasLetter.test(p); }).length; set('qt-wc-para', paras); document.getElementById('qt-wc-read').textContent = fmtTime(wc \/ 238 * 60); document.getElementById('qt-wc-speak').textContent = fmtTime(wc \/ 150 * 60); var counts = {}; words.forEach(function (w) { w = w.toLowerCase(); if (w.length > 2) { if (!stop[w]) { if (!\/^\\d+$\/.test(w)) { counts[w] = (counts[w] || 0) + 1; } } } }); var list = Object.keys(counts).map(function (k) { return [k, counts[k]]; }); list.sort(function (a, b) { return b[1] - a[1] || (a[0] > b[0] ? 1 : -1); }); var ol = document.getElementById('qt-wc-kw'); ol.textContent = ''; list.slice(0, 10).forEach(function (item) { var li = document.createElement('li'); li.appendChild(document.createTextNode(item[0] + ' ')); var sp = document.createElement('span'); sp.textContent = '\u00d7' + item[1] + ' (' + (item[1] \/ wc * 100).toFixed(1) + '%)'; li.appendChild(sp); ol.appendChild(li); }); document.getElementById('qt-wc-kwbox').hidden = list.length === 0; } box.addEventListener('input', update); document.getElementById('qt-wc-clear').addEventListener('click', function () { box.value = ''; update(); box.focus(); status.textContent = ''; }); document.getElementById('qt-wc-copy').addEventListener('click', function () { qtCopy(box.value, status, 'Text copied to clipboard.'); }); update(); }); })();<\/script><\/p>\n<p><strong>Quick answer:<\/strong> Type or paste your text into the box above. The word count, character count (with and without spaces), sentences, paragraphs, reading time and speaking time update instantly. Nothing is uploaded, so it is safe for private drafts.<\/p>\n<h2>How to use the word counter<\/h2>\n<ol>\n<li>Click in the box and type, or paste text you copied from Word, Google Docs, an email or a web page.<\/li>\n<li>Read the counts in the boxes below the text. They change as you type, so you can trim a draft until it fits.<\/li>\n<li>Check <strong>Top keywords<\/strong> to see which words you repeat most. Common words like &#8220;the&#8221; and &#8220;and&#8221; are left out.<\/li>\n<li>Use <strong>Copy text<\/strong> to copy your edited text back out, or <strong>Clear<\/strong> to start again.<\/li>\n<\/ol>\n<h2>What this word count tool counts<\/h2>\n<ul>\n<li><strong>Words:<\/strong> any run of letters or numbers. Words joined by an apostrophe or a hyphen, like &#8220;don&#8217;t&#8221; and &#8220;well-known&#8221;, count as one word. Words in other languages, such as French, Hindi or Spanish, count correctly too.<\/li>\n<li><strong>Characters:<\/strong> every letter, number, space, punctuation mark and line break. Emoji count as one character each in most cases.<\/li>\n<li><strong>Characters without spaces:<\/strong> the same total with all spaces, tabs and line breaks removed.<\/li>\n<li><strong>Sentences:<\/strong> text ending in a full stop, question mark, exclamation mark or ellipsis.<\/li>\n<li><strong>Paragraphs:<\/strong> blocks of text separated by an empty line.<\/li>\n<li><strong>Reading time:<\/strong> based on an average silent reading speed of 238 words per minute, from a <a href=\"https:\/\/www.bps.org.uk\/research-digest\/most-comprehensive-review-date-finds-average-persons-reading-speed-slower\" target=\"_blank\" rel=\"noopener\">2019 review of 190 reading studies<\/a>.<\/li>\n<li><strong>Speaking time:<\/strong> based on about 150 words per minute, a comfortable pace for a talk or presentation.<\/li>\n<\/ul>\n<h2>Common word and character limits<\/h2>\n<p>A character counter is most useful when a platform cuts you off. These are the limits people check most often:<\/p>\n<ul>\n<li><strong>Text message (SMS):<\/strong> 160 characters per message. Longer texts are split into parts.<\/li>\n<li><strong>X (Twitter) post:<\/strong> 280 characters on a standard account.<\/li>\n<li><strong>Instagram caption:<\/strong> 2,200 characters.<\/li>\n<li><strong>YouTube video title:<\/strong> 100 characters.<\/li>\n<li><strong>Google search results:<\/strong> titles show about 50 to 60 characters and meta descriptions about 150 to 160 characters before they are cut off.<\/li>\n<li><strong>College essays:<\/strong> often 250 to 650 words, depending on the application.<\/li>\n<\/ul>\n<p>For bloggers, the counter is a quick way to check post length. If you run a WordPress site, you can also <a href=\"https:\/\/www.quickonlinetips.com\/archives\/2014\/03\/how-to-view-word-counts-of-all-wordpress-posts\/\">view the word counts of all your WordPress posts<\/a> at once. Length alone does not make a post rank, though; read our tips on <a href=\"https:\/\/www.quickonlinetips.com\/archives\/2012\/05\/blog-posts-loved-by-search-engines-humans\/\">writing blog posts that search engines and readers both like<\/a>.<\/p>\n<h2>FAQ<\/h2>\n<h3>Is this word counter free?<\/h3>\n<p>Yes. It is free with no sign-up, no limit on the number of checks and no watermark.<\/p>\n<h3>Is my text private?<\/h3>\n<p>Yes. The counting happens in your own browser. Your text is not sent to QuickOnlineTips or stored anywhere, and it is gone when you close the page.<\/p>\n<h3>Why is my count different from Microsoft Word or Google Docs?<\/h3>\n<p>Each program treats some things differently, such as dashes, numbers with commas, URLs and words joined with a slash. The difference is usually only a few words in a long document.<\/p>\n<h3>Does it count words in other languages?<\/h3>\n<p>Yes, for languages that put spaces between words, such as Hindi, Spanish, French or Russian. Languages written without spaces, such as Chinese and Japanese, are not split into separate words.<\/p>\n<h3>How many words is a 5-minute speech?<\/h3>\n<p>At about 150 words per minute, a 5-minute speech is roughly 750 words. Paste your script into the counter and check the speaking time.<\/p>\n<h2>More free tools<\/h2>\n<div class=\"qt-cards\"><a class=\"qt-card\" href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/case-converter\/\"><strong>Case Converter<\/strong><span>Change text to UPPERCASE, lowercase, Title Case and more.<\/span><\/a><a class=\"qt-card\" href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/alphabetical-order\/\"><strong>Alphabetical Order<\/strong><span>Sort any list A to Z, Z to A, by length or at random.<\/span><\/a><a class=\"qt-card\" href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/remove-blank-lines\/\"><strong>Remove Blank Lines<\/strong><span>Delete empty lines, strip HTML tags and duplicate lines.<\/span><\/a><a class=\"qt-card\" href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/random-number-generator\/\"><strong>Random Number Generator<\/strong><span>Pick random numbers in any range, with no repeats.<\/span><\/a><a class=\"qt-card\" href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/dice-roller\/\"><strong>Dice Roller<\/strong><span>Roll D6, D20 and other virtual dice for games.<\/span><\/a><a class=\"qt-card\" href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/web-safe-colors\/\"><strong>Web Safe Colors<\/strong><span>All 216 web safe hex codes, click to copy.<\/span><\/a><\/div>\n<p>See all of them on the <a href=\"https:\/\/www.quickonlinetips.com\/archives\/tools\/\">QuickOnlineTips free online tools<\/a> page.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This free word counter counts the words, characters, sentences and paragraphs in any text as you type. It also shows how long the text takes to read or say aloud, and which keywords you use most. Paste an essay, a blog post, a cover letter or a social media caption and check it against your&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"parent":65595,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-65599","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/65599","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/comments?post=65599"}],"version-history":[{"count":3,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/65599\/revisions"}],"predecessor-version":[{"id":65639,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/65599\/revisions\/65639"}],"up":[{"embeddable":true,"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/pages\/65595"}],"wp:attachment":[{"href":"https:\/\/www.quickonlinetips.com\/archives\/wp-json\/wp\/v2\/media?parent=65599"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}