Webpage word counter · Free · Nothing uploaded
Webpage Word Count
To count the words on a web page, paste its source (Ctrl+U, select all, copy) into the box. The count of the main text comes first, apart from the menus, site header, footer and sidebars, then the whole visible page, the words under each heading, and alt and link words counted separately.
Scripts and styles are never counted, and the parts always add up to the whole page.
Nothing pasted yet. The page is kept in this browser only.
- Main text
- 0
- Whole visible page
- 0
- Reading time
- 0 sec
- Link words in the main text
- –
- Alt text
- –
- Images with no alt
- –
- Hidden words
- –
- Title
- –
- Meta description
- –
Where the words are
| Part | Words | Share |
|---|---|---|
| Main text | – | – |
| Menus and navigation | – | – |
| Site header and footer | – | – |
| Sidebars | – | – |
| Elsewhere in the body | – | – |
| Whole visible page | – | – |
Words under each heading
| Heading | In it | Under it |
|---|---|---|
| Paste a page’s source to list the headings in its main text. | ||
The same page, counted four ways
| Way of counting | Words |
|---|---|
| Main text (this tool) | – |
| Whole visible page | – |
| Tags replaced by spaces, counted by spaces | – |
| Tags deleted, counted by spaces | – |
Paste the HTML source of any page, or the text copied from it. It is read in your browser, never run and never uploaded, and the rule that decides which words are the main text is stated on the page.
A webpage word count is the number of words of visible text on a web page. It is given either for the whole page, menus, header and footer included, or for the main text alone, the article a reader came for. The two can differ by half or more.
- No sign-up
- Nothing uploaded
- Rules stated
- Works offline
- Main text apart
Key facts
| Detail | Answer |
|---|---|
| Price | Free, no sign-up, nothing to install |
| Input | A page’s HTML source, or text copied from it |
| Main text | <main>, else the longest <article>, else the body less menus and furniture |
| Furniture | <nav>; page-level <header>, <footer> and <aside>, by HTML-AAM |
| Counted apart | Alt text, link words, hidden text, title, meta description |
| Never counted | Scripts, styles, noscript, templates, SVG, frames |
| Word rule | The word counter’s: letters or digits, joined by ’ - or . |
| Reading time | Main text at 238 words a minute (Brysbaert, 2019) |
| Where the page is kept | This browser only |
How to count the words on a web page
Copy the source, paste it, read the main text and where the rest is.
Open the page’s source
Ctrl+U in Chrome, Edge or Firefox; Option+Command+U on a Mac. For a page built by JavaScript, copy the outer HTML from the developer tools.
Copy all of it
Ctrl+A, then Ctrl+C (Command on a Mac).
Paste it into the box
The count appears at once; nothing is uploaded.
Read the main text
The board gives the main text first and the whole page beside it, and says how it found the main text.
See where the rest is
Where the words are splits the page into main text, menus, header and footer, sidebars and the rest.
Check each section
Words under each heading lists every heading in the main text with the words under it.
Who counts the words on a web page
Anyone who needs the words on a page rather than in a document, and needs to know which words.
Content writers and editors
Check that a published article kept its length, counting the article and not the site around it.
SEO audits
Compare your page’s main text with the pages ranking above it, section by section.
Translation quotes
Quote the main text per page, with the menus and footer counted once for the whole site.
Copywriting invoices
Count the words delivered on a live page, even one behind a log-in.
Accessibility checks
Find images with no alt attribute and see how much alt text a page carries.
Students and researchers
Count an online article for a citation or a reading list.
Developers
See what text a page sends before its scripts run, against what readers see after.
Site migrations
Check that a page moved to a new design kept all of its text.
What counts as a web page’s words: main text, menus, header, footer
A web page carries far more words than the text a reader came for: the menu, the site header, the footer, a sidebar of popular posts, a cookie notice. Every URL word counter in the search results gives one number for the page and does not say which of those it includes. This tool puts every visible word into exactly one part, so the parts add up to the whole page, and the main text is a number of its own. It reads the page’s HTML elements the way a screen reader does, by the landmark rules of the W3C’s HTML Accessibility API Mappings (HTML-AAM):
| Part of the page | Marked in the HTML by | Main text | Whole page |
|---|---|---|---|
| The article itself | <main>; without one, the longest <article>; without either, the body less the parts below | Yes | Yes |
| Menus | <nav>, role="navigation" or role="search", anywhere, even inside the article | No | Yes |
| Site header and footer | <header> or <footer> not inside an article, aside, main, nav or section; role="banner" or "contentinfo" | No | Yes |
| An article’s own header or footer | <header> or <footer> inside the article or main, such as the byline or the tags | Yes | Yes |
| Sidebars | <aside> not inside an article, aside, nav or section (inside <main> it is still a sidebar); role="complementary" | No | Yes |
| A tip box inside the article | <aside> inside an article or section | Yes | Yes |
| Anything else in the body | A cookie notice, a banner or a form outside all of the above, when the page has a <main> or <article> | No | Yes |
| Link words | <a href> | Yes, and their share shown apart | Yes |
| Image alt text | alt="…" on <img> | No, counted apart | No, counted apart |
| Hidden text | The hidden attribute, or display:none or visibility:hidden written on the element | No, counted apart | No, counted apart |
| Title and meta description | <title>, <meta name="description"> | No, measured apart | No, measured apart |
| Code | <script>, <style>, <noscript>, <template>, <svg>, <iframe> | Never | Never |
Why the header and footer rule has a condition. HTML uses <header> and <footer> for two different things. At page level they hold the logo, the menu and the copyright line, and HTML-AAM maps them to the banner and contentinfo landmarks. Inside an article they hold its title, byline and tags, which belong to the article. A counter that drops every <header> drops the article’s own title with it; one that keeps them all counts the site’s menu as content.
What it cannot see. It reads elements, not class names or the stylesheet. A menu built from plain <div> elements with no <nav> and no role is counted where it sits, and text hidden by a rule in a stylesheet rather than on the element is counted as visible. When the board’s number looks too high, the Where the words are table and the headings table under the tool show where the extra words come from.
One page counted four ways, and why tag strippers disagree
The example page under Try an example page is a short swimming article of the kind any blog publishes: a site header with a logo and a four-item menu, the article with a byline and three sections, a tip box, a sidebar of popular posts, a hidden cookie notice, a footer, and two scripts. Here it is counted four ways, each one a method a real tool uses:
| Way of counting | Words | What it includes |
|---|---|---|
| Main text (this tool) | 110 | The article: byline, headings, paragraphs and the tip box |
| Whole visible page | 138 | Adds the menu (7), the header and footer (8) and the sidebar (13) |
| Tags replaced by spaces, counted by spaces | 180 | Adds the title, the scripts and the style sheet as words, splits for<i>gets</i> in two and counts · as a word |
| Tags deleted, counted by spaces | 172 | Also glues words together wherever one block ends and the next begins with no space between the tags |
The main text is 80% of the visible page. On a real site with a mega menu and a long footer, the share is often lower, and that difference is why one page can be called 400 words by one tool and 900 by another, both correctly by their own rule.
Blocks separate words; inline tags do not. The two plain stripper rows show the trap every tag stripper falls into one way or the other. Replace each tag with a space and for<i>gets</i> becomes two words, “for” and “gets”. Delete each tag outright and </li><li> or </p><p> written with no line break between them glues the last word of one item to the first of the next. This tool walks the parsed page instead: a paragraph, list item, heading, table cell or <br> ends a word, and <b>, <i>, <a> or <span> inside a word leave it whole.
Entities are read as the characters they stand for. · is a dot, is a space and ’ is an apostrophe, so don’t is one word, as it reads on the page. Alt text adds 13 words in 2 images on the example; it is counted under the tool and never mixed into the main text, because a reader of the page does not see it.
How to copy a page’s source, on a computer, a phone or a JavaScript page
A web page cannot read another website’s pages: browsers block it unless that site allows it, under the rule called cross-origin resource sharing. That is why the URL word counters do their fetching on a server, and why this one asks you to paste. It takes ten seconds, and it counts what your browser actually received, including a page behind a log-in that no URL checker can open.
| Browser | Open the source | Then |
|---|---|---|
| Chrome, Edge, Firefox (Windows, Linux) | Ctrl+U, or type view-source: before the address | Ctrl+A, Ctrl+C, paste here |
| Chrome, Edge, Firefox (Mac) | Option+Command+U | Command+A, Command+C |
| Safari (Mac) | Turn on the developer features in Safari’s Advanced settings once, then Develop, Show Page Source (Option+Command+U) | Command+A, Command+C |
| Chrome on Android | Type view-source: in front of the address | Long-press, Select all, Copy |
| Safari on iPhone or iPad | No source view | Select the page text and paste it: it is counted as plain text, with no split |
| A page built by JavaScript | Developer tools (F12), Elements or Inspector, right-click the <html> line | Chrome and Edge: Copy, Copy outerHTML; Firefox: Copy, Outer HTML |
Pages built by JavaScript need the last row. The source view shows the HTML the server sent. A site made with React, Vue or a page builder that draws its text in the browser may send almost nothing, and its source will count close to zero. The developer tools copy the page as it stands after the scripts have run, which is what a reader sees. If the source view and the developer tools give very different counts, the difference is the text a search engine sees only after it renders the page.
Copying the page text instead (select all on the page itself, copy, paste) works everywhere, but it carries whatever was selected, menus and footer included, and the tool cannot tell them apart in plain text. It is counted with the same rule as the word counter.
How many words should a web page have?
There is no correct number, and Google says so. Its guidance on helpful content lists, among the signs of content written for search engines rather than people, “Are you writing to a particular word count because you’ve heard or read that Google has a preferred word count?”, and answers that it has none. Length is a result of answering the question fully, not a target.
What a word count is good for is comparison, and only when the same thing is compared:
Compare main text with main text. A competitor’s page counted whole by a URL tool against your article counted alone tells you nothing. Paste both sources here and read the main text line of each.
Look at the sections, not the total. The headings table shows the words under every heading. A section with 30 words under a heading that promises a full answer is thin, whatever the page total says; a page that is long because one section repeats itself is not deep.
Watch the furniture share. When the menus, header, footer and sidebars carry more words than the article, the page’s own text is a small part of what is on it. That is common on category pages and short product pages.
Keep the title and description in range. The title and meta description are measured under the tool in characters. Search results cut them by width, not by a fixed count; the character counter gives the usual limits and why they are guides.
For a translation quote or a copywriting invoice the question is different: count the main text if the menus are translated once for the whole site, and the whole page if every page is quoted separately.
What the webpage word count does not do
| It does | It does not |
|---|---|
| Count a page whose source or text you paste | Fetch a page from its address: a browser page cannot read other sites, so nothing is fetched |
| Read the HTML as written, without running it | Run the page’s scripts: for a page drawn by JavaScript, copy it from the developer tools |
| Split the words by HTML elements and roles | Read class names or the stylesheet: a menu made of plain divs is counted where it sits |
| Count one page at a time | Crawl a whole site or a list of addresses: that needs a crawler that runs on a computer or a server |
| Count alt text, link words, hidden text, the title and the description apart | Count text inside images, PDFs, videos or embedded frames |
| Show where the words are | Judge whether the page is good, or how it will rank |
| Keep the paste in this browser only | Send it anywhere, or keep it after you clear it |
For a document rather than a page, the word counter opens Word files, and the words per page calculator turns a count into pages. To see what changed between two versions of a page, paste the two main texts into compare text.
This tool, URL word counters, extensions, plain counters or Word
Five ways to count the words on a web page, and where each stops.
| This tool | URL word counters | Browser extensions | Pasting HTML into a plain counter | Select all, paste into Word | |
|---|---|---|---|---|---|
| Main text apart from menus and footer | Yes, rule stated | Some, rule not stated | Some | No | No |
| Words under each heading | Yes | No | No | No | No |
| Scripts and styles left out | Yes | Usually | Yes | Often counted | Yes |
| Pages behind a log-in | Yes, if you can open it | No | Yes | Yes | Yes |
| Takes an address | No, paste the source | Yes | The page you are on | No | No |
| Where the page goes | Nowhere: this browser only | Their server fetches it | The extension can read every page you open | Depends on the site | Your computer |
More writing tools
Every writing tool on the site runs in your browser, needs no sign-up, and sends nothing anywhere.
Counts & lengths4
Words, characters, pages and what changed in an edit, counted the way you need them.
Word counter
Words, characters and sentences as you type, the count under other rules, sourced reading time, Flesch scores.
Open word counter →Character counter
Characters with and without spaces, and as X, text messages, web forms and bytes count them, causes named.
Open character counter →Words per page calculator
Words to pages and back from the font, size, spacing, paper and margins, your own text or a document.
Open words per page calculator →Edit counter
Words kept, cut, added and moved between two drafts, and a Word file's tracked changes, counted in the browser.
Open edit counter →
All 10 writing tools, by category: Counts & lengths (5) · Format & compare (5)
Frequently asked questions
How do I count the words on a web page?
Open the page’s source with Ctrl+U (Option+Command+U on a Mac), select all, copy, and paste it into the box on this page. The main text is counted first, apart from menus, the header, the footer and sidebars, with the whole visible page beside it. On a phone, select the page text and paste that instead.
How many words should a web page have?
There is no set number. Google’s own guidance on helpful content says it has no preferred word count, and lists writing to one as a sign of content made for search engines. Answer the question fully, then compare your main text, section by section, with the pages that rank for it.
Does word count matter for SEO?
Not as a number. Google has said it has no preferred word count. Length matters only as a side effect: a page that answers a question completely usually needs more words than one that does not. A count is useful for comparing main text with main text, and for spotting thin sections under a heading.
Are menus, headers and footers counted in a page’s word count?
In the whole-page count, yes; in the main text, no. This tool takes menus from nav elements, and the site header and footer from header and footer elements that are not inside an article, main, aside, nav or section, the rule HTML-AAM uses. An article’s own header, with its title and byline, stays in the main text.
Does alt text count toward a page’s word count?
Not in the main text or the whole-page count here, because a reader of the page does not see it. It is counted separately, with the number of images that carry it and the number that have no alt attribute at all. Some URL tools include alt text and some do not, which is one reason their counts differ.
Do links count as words on a page?
Yes: link text is visible text, and it is counted wherever it sits. This tool also shows the words inside links in the main text and their share, because some SEO tools subtract them and call the rest the real word count. The menus, where most links are, are already outside the main text.
Why do two tools give different word counts for the same web page?
Because they count different parts and split words differently. One counts the whole page, menus and footer included, another only the article; one counts alt text or scripts, another does not; a plain tag stripper splits or glues words at tags. The table under the tool shows your page counted four ways.
Can I count words on a web page by entering its URL?
Not here. A web page cannot read another site’s pages unless that site allows it, so a URL counter has to fetch the page on its own server. Pasting the source does the same job in your browser, and it also works on pages behind a log-in, which no URL checker can open.
How do I count the words on a page built with JavaScript?
Open the developer tools with F12, go to Elements in Chrome or Edge or Inspector in Firefox, right-click the html line and copy the outer HTML, then paste it here. The source view shows only what the server sent, which for a JavaScript-built page can be nearly empty.
Is the page I paste uploaded?
No. It is read in your browser by its own HTML parser, which runs none of the page’s scripts and loads none of its images, and nothing parsed is added to this page. The paste is kept in this browser’s storage so a reload does not lose it. Clear removes it.
Related guides
Longer answers to the questions behind the numbers.
- Counting
Why word counts differ between tools
The same sentence is 26 words to one counter and 39 to another. Four counting rules side by side, and how to meet a hard limit whichever one a form uses.
- Reference
Types of counters explained
Synchronous vs asynchronous, mod-N, ring and Johnson, industrial and PLC counters, plus mechanical and software counters.
- Build it
How to make a counter
Twenty lines gets you counting. Here is what to add after that, and why.