We spell-checked 598 online stores before Black Friday. Here's what a dictionary flagged, and how often it was wrong.
In early November 2026 we checked the homepage and one product page of 598 English-language online stores with the open-source en_US Hunspell dictionary. Not AI, just a dictionary anyone can rerun. Below: what it flagged, how we checked a sample by hand, the charts, and the raw CSV.
51.8% of stores (310 of 598) had at least one word our checker flagged as a likely typo.
But when we hand-checked a random sample of 200 flags, 78% were false positives (156 of 200): mostly industry jargon and brand names the dictionary doesn't know. These raw numbers are not adjusted for that.
Key numbers
All counts are raw flags (likely typos + doubled words) before any false-positive adjustment. In our hand-checked sample, 78% of flags were not real typos.
- 598 stores, 1,119 pages, 553,821 words checked
- 51.8% of stores had at least one flag; 48.2% had none
- 819 flags in total: about 1.4 per store, or 14.8 per 10,000 words
- Homepages vs product pages: 36.3% of homepages and 35.7% of product pages had at least one flag. That's about the same.
- Most stores had zero or one flag: 71.1% of stores had 0 or 1. Only 6 stores (1.0%) had more than 10.
- Reviewed sample: of 200 random flags, 44 were real typos and 156 were not. The real ones were the kind you'd expect: "recieve", "experiance", "jewlery", "consistant", "betwen", plus doubled words like "with with" and "and and".
Limitations and false-positive review
Short version: most of what an automated dictionary check flags on a store page isn't a typo. Treat the charts on this page as "what a plain dictionary flagged," not as a count of mistakes.
How we measured false positives
A person on our ops team took a random sample of 200 flagged words from the final (cleaned) data, with at most 2 per store, and marked each one as a real typo or a false positive. The rule was strict: a flag only counted as a real typo if it was clearly a misspelling of the intended English word in context. Anything unclear was marked a false positive.
Result: 78.0% false positives (156 of 200 flags; 44 real typos).
- If you remove 9 duplicate flags (the same text on a store's homepage and product page), it's 78.5% (150 of 191).
- If you count all 6 borderline calls as real typos, it's 75.0%.
- Our first pass, before we added filters for non-English text, placeholder "lorem ipsum" text and code leaking into page text, was 84.0% (168 of 200). The filters helped, but not nearly enough.
What the false positives were (156 total)
| Pattern | Count | Examples |
|---|---|---|
| Real English, jargon or compounds the dictionary lacks | 49 | underlayment, wicking, caseback, backend, merch, argan |
| Brand, product or model names | 42 | iphone, paypal, pinterest, skyn |
| Non-English words inside English pages | 23 | Danish, Dutch, French, Spanish words; Indian textile terms |
| Abbreviations, slang, intentional spellings | 22 | lol, idk, upto, mens/womens, sooo |
| Text split or cut off mid-word | 11 | "featu", "produ", "D elivery" |
| Code or markup leaking into text | 4 | |
| People's names | 3 | |
| Placeholder (lorem ipsum) text | 2 |
False-positive rate by flag type
Same 200-flag sample; small groups, read loosely.
| Flag type | Reviewed | False positives | FP rate |
|---|---|---|---|
| Extra letter | 95 | 84 | 88.4% |
| Wrong letter | 48 | 39 | 81.2% |
| Swapped letters | 26 | 18 | 69.2% |
| Missing letter | 24 | 12 | 50.0% |
| Doubled word | 7 | 3 | 42.9% |
| All | 200 | 156 | 78.0% |
What that means for the numbers above
- The charts and key numbers are raw and unadjusted. We didn't multiply them by the sample rate, and you shouldn't either. The 200-flag sample was capped at 2 flags per store, so it tells you how noisy a flag is, not how many stores have a real typo.
- The "51.8% of stores" figure is not "51.8% of stores have typos." It's the share of stores where the checker flagged at least one word. Many of those stores were flagged only for jargon or brand names. In the hand-checked sample, 78% of flags were false positives.
- Differences between categories and platforms are mostly noise. Jargon and brand names vary a lot by category (beauty ingredients, textile terms, vape products), so a higher flag rate can mean "more unusual vocabulary," not "more mistakes."
- It's also an undercount of real typos in some places. We skipped every capitalized word to avoid flagging brand names, so typos in headings and Title Case product names aren't counted at all. We also skipped words under 3 letters, words with apostrophes, and the store's own name.
- Two pages per store is a small slice of any site.
Charts
All three charts show raw flags from an automated dictionary check. In our hand-reviewed sample, 78% of flags were false positives. Read the limitations.
Share of stores where our dictionary check flagged at least one word. These are raw flags. In a hand-reviewed sample, most flags were jargon or brand names, which vary a lot by category, so don't read gaps between bars as differences in how careful stores are. Grey bars have fewer than 30 stores. In that sample, 78% of flags were false positives.
Bar chart: share of stores with at least one likely-typo flag, by category. Among categories with 30 or more stores: Jewelry 58.8%, Beauty 56.8%, Apparel 51.6%, Other 51.6%. All stores: 51.8%. Raw flags; 78% of a reviewed sample were false positives.
| Category | Stores | Share with a likely-typo flag | Sample |
|---|---|---|---|
| Health | 19 | 73.7% (14 stores) | Fewer than 30 stores |
| Kids & toys | 15 | 66.7% (10 stores) | Fewer than 30 stores |
| Jewelry | 34 | 58.8% (20 stores) | 30 or more stores |
| Beauty | 44 | 56.8% (25 stores) | 30 or more stores |
| Sports & outdoor | 25 | 56.0% (14 stores) | Fewer than 30 stores |
| Apparel | 91 | 51.6% (47 stores) | 30 or more stores |
| Other / unclassified | 256 | 51.6% (132 stores) | 30 or more stores |
| Crafts & books | 21 | 47.6% (10 stores) | Fewer than 30 stores |
| Electronics | 29 | 44.8% (13 stores) | Fewer than 30 stores |
| Home | 27 | 44.4% (12 stores) | Fewer than 30 stores |
| Pets | 12 | 41.7% (5 stores) | Fewer than 30 stores |
| Food & drink | 23 | 34.8% (8 stores) | Fewer than 30 stores |
| All stores | 598 | 51.8% (310 stores). Raw flags; 78% of a reviewed sample were false positives. |
The same store-level rate, split by the ecommerce platform detected in page markup. Labels will be wrong for some stores. Grey bars have fewer than 30 stores. Raw flags; in the hand-reviewed sample, 78% were false positives.
| Platform | Stores | Share with a likely-typo flag |
|---|---|---|
| Shopify | 56 | 58.9% |
| WooCommerce | 323 | 53.3% |
| BigCommerce | 25 | 52.0% (fewer than 30 stores) |
| Magento | 24 | 50.0% (fewer than 30 stores) |
| Other | 170 | 47.1% |
Nearly half the stores had no flags, and most of the rest had one or two. Flags are raw; in a hand-reviewed sample, 78% weren't real typos.
Histogram of likely-typo flags per store across 598 stores: 48.2% had none, 22.9% had 1, 13.7% had 2, 11.4% had 3–5, 2.8% had 6–10, 0.7% had 11–20, 0.3% had 21 or more. Raw flags; 78% of a reviewed sample were false positives.
| Likely-typo flags per store | Stores | Share of stores |
|---|---|---|
| 0 | 288 | 48.2% |
| 1 | 137 | 22.9% |
| 2 | 82 | 13.7% |
| 3–5 | 68 | 11.4% |
| 6–10 | 17 | 2.8% |
| 11–20 | 4 | 0.7% |
| 21+ | 2 | 0.3% |
Extra-letter flags are the biggest group and also the noisiest: in our reviewed sample, 88% of them were brand names or valid words. Missing-letter flags and doubled words were the most likely to be real typos. All counts are raw. In the full reviewed sample, 78% of flags were false positives.
Bar chart of 819 counted flags by type: extra letter 389, wrong letter 211, missing letter 98, swapped letters 89, doubled word 32. Not counted: 1,398 UK spellings and 1,324 unknown words. In a reviewed sample, false-positive rates ranged from 88% (extra letter) to 43% (doubled word).
| Flag type | Counted flags | Share of counted flags | False positives in reviewed sample |
|---|---|---|---|
| Extra letter | 389 | 47.5% | 88% FP (n=95) |
| Wrong letter | 211 | 25.8% | 81% FP (n=48) |
| Missing letter | 98 | 12.0% | 50% FP (n=24) |
| Swapped letters (transposition) | 89 | 10.9% | 69% FP (n=26) |
| Doubled word | 32 | 3.9% | 43% FP (n=7) |
| Flag type | Flags |
|---|---|
| UK spelling | 1,398 |
| Unknown word | 1,324 |
How we did it
Which stores
We started from the public Tranco list of popular websites (rank 2,000 and below; very large sites and big marketplaces were excluded). We kept a site only if its homepage was in English (or didn't declare a language), showed clear storefront signals (Shopify, WooCommerce, BigCommerce or Magento markup, an add-to-cart/bag/basket button, or product data with a price), and linked to a product page on the same site. That gave 629 stores. After fetching and filtering, 598 stores had at least one English page we could check. Ten had only non-English pages, and 21 had no page we could fetch (an error, a robots.txt block, or no text).
Each store got an automated category label (from its homepage title and description) and platform label (from its page markup). Both labels will be wrong for some stores.
Which pages
The homepage and one product page per store: 1,258 pages attempted, 1,119 checked. We dropped 28 pages as non-English.
How we fetched them
Rate-limited: one request per page, a 20-second timeout, at most 24 requests at a time spread across different stores (no more than 2 at once to any one store). The crawler identified itself with the user agent SSC-Research/1.0 (+https://sitespellchecker.com).
We ran a basic robots.txt check before fetching and skipped 14 pages that robots.txt disallowed for our crawler. That check is simple: it reads Allow/Disallow rules for all user agents and for SSC-Research, but it doesn't handle crawl-delay, and it let pages through when a site's robots.txt couldn't be loaded. So we're not claiming full robots.txt compliance, just that we checked and skipped what it disallowed.
What text we checked
Visible page text only. We removed scripts, styles, code, comments, URLs and email addresses. Navigation and footer text stayed in, so menus count. We also filtered out non-English sentences, lorem ipsum placeholder text, and lines that looked like code.
How we checked spelling (no AI)
Site Spell Checker's product uses AI. This study didn't. We wanted something simple that anyone can reproduce, so we used the open-source en_US Hunspell dictionary (the same family of dictionaries used by LibreOffice and Firefox) in two passes: first a dictionary check in PHP with a short allowlist of common ecommerce words like "checkout" and "wishlist," then a second check of every flagged word with the Hunspell command-line tool. Words the British English dictionary accepts were labeled as UK spellings and not counted.
What counts as a flag
A word both passes rejected that is exactly one letter off from a real word (two letters swapped, an extra letter, a missing letter, or a wrong letter), or the same word twice in a row ("the the"). Each flagged word counts once per page.
We also tracked two groups that are not counted in any number above: valid UK spellings like "colour" (1,398 flags) and unknown words with no close dictionary match, which are usually jargon, ingredients, slang or names (1,324 flags).
No customer data. This study used only public pages we fetched ourselves. It didn't use any data from Site Spell Checker customers or their scans.
What this study is not
- Not a count of real typos. It's a count of dictionary flags, and most flags in our reviewed sample weren't typos.
- Not a ranking of stores. We don't publish store names or domains.
- Not a grammar or style review. Spelling and doubled words only.
- Not a full-site audit. Two pages per store.
- Not representative of all online retail. English-language stores from one public popularity list, picked by automated rules.
- Not a test of Site Spell Checker's AI. This was a plain dictionary check on purpose.
Download the data
Everything here is aggregated. No store names, domains or URLs.
- Aggregate by category and page type (CSV)
- Chart 1 data: flag rate by category and platform (CSV)
- Chart 2 data: flags per store (CSV)
- Chart 3 data: flag types (CSV)
- False-positive review by flag type (CSV)
- All five files (ZIP)
Column notes: in every file, likely_typos / likely_typos_total already include doubled words (they add up to 819). small_n_warning = yes marks groups with fewer than 30 stores. All counts are raw, before false-positive review.
Study tag: bf2026-typo.
Last updated and how to cite
Last updated: November 2, 2026 · Data collected: November 2, 2026 · Study tag bf2026-typo
Changelog: November 2, 2026: first published.
How to cite
Site Spell Checker, "Pre–Black Friday 2026 Online Store Spelling Study" (study tag bf2026-typo), November 2, 2026. https://sitespellchecker.com/statistics
If you quote the 51.8% figure, please quote the false-positive rate with it, for example: "An automated dictionary check by Site Spell Checker flagged at least one likely typo on 51.8% of 598 online stores, though 78% of a hand-reviewed sample of flags turned out not to be typos."
You're welcome to reuse the charts with a link back to this page. Questions about the data: hi@sitespellchecker.com.
Curious what a check finds on your own site? Run a free scan. If you want to know which pages to check first, our website spelling benchmark walks through it.