<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>What fits in 1M tokens?</title>
<style>
:root {
color-scheme: light;
--bg: oklch(0.99 0.004 85);
--fg: oklch(0.16 0.006 85);
--muted: oklch(0.45 0.008 85);
--accent: oklch(0.48 0.18 145);
}
[data-theme="dark"] {
color-scheme: dark;
--bg: oklch(0.15 0.005 85);
--fg: oklch(0.98 0.004 85);
--muted: oklch(0.65 0.008 85);
--accent: oklch(0.68 0.18 145);
}
html { background: var(--bg); }
body {
font-family: ui-sans-serif, system-ui, sans-serif;
color: var(--fg);
max-width: 640px;
margin: 0 auto;
padding: 0 1.5rem clamp(3rem, 8vw, 6rem);
line-height: 1.7;
font-size: 1.0625rem;
}
.kicker {
font-size: 0.75rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--accent);
margin: 0 0 1rem;
}
h1 {
font-size: clamp(2rem, 5vw, 2.75rem);
font-weight: 700;
letter-spacing: -0.028em;
line-height: 1.1;
margin: 0 0 1.25rem;
}
.lede {
font-size: 1.25rem;
color: var(--muted);
line-height: 1.55;
margin: 0 0 2.5rem;
}
.chart-note {
font-size: 0.8125rem;
color: var(--muted);
margin: 1.25rem 0 0;
line-height: 1.55;
}
</style>
</head>
<body>
<p class="kicker">Context Windows</p>
<h1>What fits in 1M tokens?</h1>
<p class="lede">Typical agent's context window holds about 1M tokens. Buffett's complete letters fit. The TypeScript compiler doesn't.</p>
<svg viewBox="0 0 600 250" width="100%" aria-hidden="true" style="display:block;">
<line x1="365" y1="32" x2="365" y2="200" stroke="var(--accent)" stroke-width="1.5" stroke-dasharray="4 3" opacity="0.65"/>
<text x="365" y="22" font-size="11" font-family="ui-sans-serif, system-ui, sans-serif" font-weight="600" fill="var(--accent)" text-anchor="middle" dominant-baseline="middle">1M tokens</text>
<text x="172" y="53" font-size="12" font-family="ui-sans-serif, system-ui, sans-serif" fill="currentColor" opacity="0.85" text-anchor="end" dominant-baseline="middle">Express.js source</text>
<rect x="180" y="42" width="3" height="22" fill="currentColor" opacity="0.45" rx="2"/>
<text x="192" y="53" font-size="11" font-family="ui-sans-serif, system-ui, sans-serif" fill="currentColor" opacity="0.55" dominant-baseline="middle">16K</text>
<text x="172" y="89" font-size="12" font-family="ui-sans-serif, system-ui, sans-serif" fill="currentColor" opacity="0.85" text-anchor="end" dominant-baseline="middle">Moby Dick</text>
<rect x="180" y="78" width="52" height="22" fill="currentColor" opacity="0.45" rx="2"/>
<text x="241" y="89" font-size="11" font-family="ui-sans-serif, system-ui, sans-serif" fill="currentColor" opacity="0.55" dominant-baseline="middle">280K</text>
<text x="172" y="125" font-size="12" font-family="ui-sans-serif, system-ui, sans-serif" fill="currentColor" opacity="0.85" text-anchor="end" dominant-baseline="middle">Berkshire annual letters</text>
<rect x="180" y="114" width="157" height="22" fill="currentColor" opacity="0.45" rx="2"/>
<text x="346" y="125" font-size="11" font-family="ui-sans-serif, system-ui, sans-serif" fill="currentColor" opacity="0.55" dominant-baseline="middle">851K</text>
<text x="172" y="161" font-size="12" font-family="ui-sans-serif, system-ui, sans-serif" fill="currentColor" opacity="0.85" text-anchor="end" dominant-baseline="middle">TypeScript compiler</text>
<rect x="180" y="150" width="352" height="22" fill="currentColor" opacity="0.45" rx="2"/>
<rect x="365" y="150" width="167" height="22" fill="var(--accent)" opacity="0.85" rx="2"/>
<text x="541" y="161" font-size="11" font-family="ui-sans-serif, system-ui, sans-serif" fill="currentColor" opacity="0.55" dominant-baseline="middle">1.9M</text>
<g font-size="10" font-family="ui-sans-serif, system-ui, sans-serif" fill="currentColor" opacity="0.5">
<text x="180" y="218" text-anchor="middle">0</text>
<text x="272" y="218" text-anchor="middle">500K</text>
<text x="365" y="218" text-anchor="middle">1M</text>
<text x="457" y="218" text-anchor="middle">1.5M</text>
<text x="550" y="218" text-anchor="middle">2M</text>
</g>
</svg>
<p class="chart-note">Linux kernel source: ~300M tokens, off-chart by 300×. Berkshire archive: 1977–2024 (48 letters). Counts via tiktoken (cl100k_base); Moby Dick from word-count × 1.33. Snapshot May 2026.</p>
</body>
</html>