80,913 posts · 59.7M words · 42 blogs
Who started punctuating like a language model?
The em dash became the internet's favourite tell for machine-written prose. This counts them: every — in the body text of every post these 42 blogs publish, grouped by the month it went out. It makes no claim about who used a model. It is the punctuation, and the dates.
Company blogs moved together: cloud and infrastructure at 2.0×, AI labs at 1.8×, developer tools at 1.3× their 2018–2022 rate per 1,000 words. The newsrooms went the other way. Newsrooms still use the most at 3.42 per 1,000 words, as they always have.
Em dashes per post, 12-month trailing
Click a name to show or hide it. Both charts share the selection and the address bar follows, so the URL always shares exactly what you are looking at. The dashed marker is Nov 2022, when ChatGPT launched — a date reference, not a claimed cause.
Em dashes per post counts what a reader meets in one sitting, but it moves when posts get longer as well as when punctuation changes, and across this chart the average post grew 2.0×, from about 540 words in 2014 to 1,059 today. Over the same span the rate per 1,000 words went down 4%. Most of the climb above is longer posts, not denser punctuation. Switch to per 1,000 words to take length out of it.
Other things that changed
A rise in one punctuation mark is thin evidence on its own. These are three other ways the prose moved over the same period. Sentence variation is the closest thing here to whether something reads like a person: human writing is bursty, a short sentence next to a long one, and a falling line means sentences are converging on one length.Marker words counts a narrow set that was rare in this corpus before 2023 — delve, tapestry, myriad, intricate and a few dozen others. None of these detects anything. Together they show whether a blog's writing changed shape, not who wrote it.
Words per post, 12-month trailing
The ranking
Ordered by em dashes per 1,000 words since 2024. Rates divide summed dashes by summed words over the window, so a prolific month counts for more than a quiet one. Blogs with fewer than 40 usable posts are left out; Method lists them and why.
| Blog | Group | Per 1k words, 2024–now | 2018–2022 | Change | Posts with one | Posts |
|---|---|---|---|---|---|---|
| Stripe | Developer tools | 4.81 | 3.87 | 1.2× | 92% | 215 / 210kw |
| Anthropic | AI labs | 4.59 | 0.56 | — | 84% | 421 / 590kw |
| Microsoft Azure | Cloud and infrastructure | 4.18 | 1.32 | 3.2× | 86% | 3,425 / 3.1Mw |
| Y Combinator | Other | 4.18 | 0.35 | 12× | 53% | 2,368 / 2.4Mw |
| WIRED | Media and commentary | 4.08 | 4.54 | 0.9× | 85% | 1,440 / 2.1Mw |
| TechCrunch | Media and commentary | 3.80 | 4.05 | 0.9× | 64% | 16,303 / 9.4Mw |
| The Verge | Media and commentary | 3.40 | 3.28 | 1.0× | 40% | 10,875 / 5.4Mw |
| Together AI | AI labs | 3.21 | 1.88 | — | 69% | 229 / 246kw |
| Grafana Labs | Developer tools | 3.12 | 1.40 | 2.2× | 81% | 1,995 / 1.9Mw |
| Ars Technica | Media and commentary | 3.08 | 4.28 | 0.7× | 61% | 18,896 / 11.2Mw |
| Replicate | AI labs | 2.99 | 2.57 | — | 45% | 124 / 95kw |
| Mistral AI | AI labs | 2.98 | — | — | 42% | 78 / 60kw |
| Tailscale | Developer tools | 2.95 | 2.12 | 1.4× | 69% | 390 / 353kw |
| Netflix Technology | Cloud and infrastructure | 2.56 | 1.57 | 1.6× | 76% | 224 / 442kw |
| Netlify | Developer tools | 2.52 | 1.39 | 1.8× | 50% | 410 / 339kw |
| GitHub | Developer tools | 2.34 | 1.69 | 1.4× | 56% | 4,733 / 3.0Mw |
| Google Cloud | Cloud and infrastructure | 2.30 | — | — | 71% | 324 / 414kw |
| Google DeepMind | AI labs | 2.28 | 0.65 | 3.5× | 67% | 341 / 333kw |
| Bun | Developer tools | 2.18 | 2.01 | — | 52% | 176 / 197kw |
| AWS | Cloud and infrastructure | 2.18 | 1.01 | 2.2× | 84% | 4,534 / 3.0Mw |
| Shopify Engineering | Cloud and infrastructure | 2.00 | 1.16 | 1.7× | 64% | 423 / 771kw |
| DigitalOcean | Cloud and infrastructure | 1.89 | 0.82 | 2.3× | 54% | 807 / 648kw |
| Cloudflare | AI labs | 1.88 | 1.49 | 1.3× | 69% | 3,537 / 4.8Mw |
| Sentry | Developer tools | 1.70 | 2.37 | 0.7× | 50% | 909 / 926kw |
| Docker | Developer tools | 1.56 | 1.88 | 0.8× | 39% | 930 / 808kw |
| Vercel | Developer tools | 1.55 | 1.81 | 0.9× | 35% | 460 / 405kw |
| Deno | Developer tools | 1.54 | 0.26 | 5.9× | 53% | 248 / 279kw |
| Neon | Developer tools | 1.50 | 0.33 | — | 42% | 465 / 506kw |
| Meta Engineering | Cloud and infrastructure | 1.45 | 1.65 | 0.9× | 36% | 1,085 / 1.3Mw |
| Discord | Cloud and infrastructure | 1.27 | — | — | 51% | 106 / 152kw |
| Railway | Developer tools | 1.27 | 0.14 | — | 42% | 210 / 302kw |
| PlanetScale | Developer tools | 1.14 | 1.61 | 0.7× | 35% | 285 / 342kw |
| Fly.io | Developer tools | 0.94 | 1.01 | 0.9× | 44% | 410 / 507kw |
| Hugging Face | AI labs | 0.83 | 0.17 | 5.0× | 26% | 727 / 1.1Mw |
| Supabase | Developer tools | 0.72 | 0.50 | 1.5× | 18% | 412 / 350kw |
| Nodecraft | Other | 0.59 | 0.11 | — | 10% | 211 / 104kw |
| JetBrains | Developer tools | 0.54 | 0.17 | 3.3× | 9% | 686 / 350kw |
| TechRadar | Media and commentary | 0.52 | 0.15 | 3.5× | 15% | 1,440 / 965kw |