Roundup
The honest caveat first, because Next.js roundups love to skip it: there is no Next.js benchmark. Nobody publishes a "Next.js score." The number everyone quotes for real coding — SWE-bench Verified — is built from real Python repositories, so it's a strong proxy for Python and a reasonable general signal for how a model reasons about real code, but it is not a per-language or per-framework ranking. So read this as informed guidance for Next.js, not a verdict — and the instruction we'll repeat until it's annoying: test the shortlist on your own repo.
Why the Python board still tells you something: general coding ability transfers. A model that fixes real bugs across real repositories reasons well about types, data flow, and multi-file structure, and that carries into a Next.js app. Treat the board as a filter for the shortlist, not the final ranking.
Why Next.js is unusually punishing for models
Next.js is where React's difficulty meets a framework that has been reinventing itself in public. The App Router, React Server Components, the server/client boundary, streaming, server actions, caching semantics that changed meaningfully between minor versions — all of it churns fast, and a model trained on last year's Pages Router will confidently write patterns that no longer apply. The single most common failure we see is the server/client boundary: a model reaches for a client hook in a server component, or serializes something it can't, and the error message is rarely obvious. Add the caching model, where the correct answer depends on which Next version you're on, and you have a framework that punishes shallow reasoning and rewards a model that actually tracks current conventions.
| Model | SWE (general proxy) | $ /M in/out | Speed tok/s | Why it matters for Next.js |
|---|---|---|---|---|
| 95.0 | 10 / 50 | 67 | Top ceiling for gnarly RSC/boundary work | |
| 88.6 | 5 / 25 | 60 | Safe default for full-stack Next work | |
| 85.2 | 3 / 15 | 89 | High-volume page and route building | |
| 80.6 | — | — | Strong in the toolchain and shell | |
| 79.3 | 1.5 / 9 | 167 | Fast iteration on routine pages |
These are general coding numbers, not Next.js scores — no such score exists. Read the column as "how well does this model reason about real code," then let your repo settle the rest.
Our top pick: Claude Opus 4.8, with Fable 5 for the hard stuff
The App Router and RSC are exactly the kind of work where a high reasoning ceiling earns its keep, because the server/client boundary and caching model punish guessing. Opus 4.8 (88.6 general) is the safe default: it's disciplined about where code runs and tends to respect the boundary rather than blunder across it. When a change is genuinely brutal — migrating a Pages Router app, untangling a caching bug that spans layouts and route handlers — Claude Fable 5 (95.0) is the ceiling-raiser worth its steep $10/$50. Reserve it for the hard 5% and step back down to Opus; you'll rarely need more than that.
The value and speed picks
Not every Next.js task is a boundary puzzle. Building routine pages, wiring up a form, iterating on a marketing route — that's fast, repetitive work where speed and cost matter more than ceiling. Gemini 3.5 Flash at 167 tok/s makes that loop feel instant, and its general capability is plenty for standard pages. For high-volume building, Sonnet 5 ($3/$15) is the capable-and-cheaper workhorse. GPT-5.5 is the strongest single all-rounder, and it's especially comfortable in the toolchain — the build config, the deploy step, the shell work a Next project accumulates.
Picks by what you're building
- App Router migration or RSC-heavy app. Reasoning ceiling wins. Opus 4.8 default; Fable 5 for the genuinely hard boundary and caching work.
- High-volume page and route building. Sonnet 5, or Gemini 3.5 Flash when speed on routine pages matters more than ceiling.
- Full-stack with a heavy backend. GPT-5.5 or Opus 4.8 — the toolchain and API-route work rewards an all-rounder that's comfortable in the shell.
- Pure front-end pieces. The React advice applies directly — see the best AI model for React.
How to actually test it on your stack
This takes an afternoon and beats any roundup. Pick one real task from your backlog — a real server component, a real caching bug, a real route handler, not a toy. Hand the same decision-complete task to two or three candidates with the same files in scope and the same definition of done; our prompt engineering guide covers writing it fairly. Judge on your criteria: did it respect the server/client boundary, use your Next version's current patterns, and pass your tests? Then repeat on a second, different task — one is a data point, two is a signal. Bringing your own API keys makes this cheap: swap the model, rerun the task, pay only for tokens.
Our honest bottom line for Next.js
Want one model and no thinking? Opus 4.8, reaching for Fable 5 on the hardest boundary and migration work. Fast iteration on routine pages? Gemini 3.5 Flash. Cost-sensitive at volume? Sonnet 5. Hold it loosely, because Next.js changes fast enough that the framework version you're on can flip which model feels best — the one that knows your caching rules beats the one with the higher benchmark. A model-agnostic setup like The Vibe Father exists so you can run several models against the same job and let the best one win, but the experiment matters more than the tool. For the wider view see the best coding model of 2026 and, for split workflows, the best model for each agent role. Live numbers are always at /benchmarks.