Best AI for coding

The verdict

GPT-5.6 Luna

Scored 93/100 on our coding testslevel on quality with 2 others (GPT-5.6 Terra, GPT-5.6 Sol) — the top spot goes on the tie-break: cleanest rule-compliance, then lowest measured cost; 2 more sit a single point behind.

What to actually do

GPT-5.6 Luna is the engine inside ChatGPT. Go to chatgpt.comthe free tier is fine to start. Paid plans start at £7/month (go plan, vendor’s own price). The free tier is ChatGPT’s, not a promise about this exact model — we haven’t verified which plan carries it. Not fussed about the last point or two? Any of the top 5 here will serve you well.

Coding assistants are wrappers around models, so we test the flagship model each editor ships with — named on every score. The suite covers writing new code, finding real bugs, and explaining unfamiliar code, judged on correctness first.

updated 16 Aug 2026 · tested by Robert Prime · re-ranks automatically when a new run lands

How this was measured
  • All 20 sat the identical 18-task suite — same tasks, same order, one attempt each.
  • Every answer marked blind: judges are not told which entrant wrote it.
  • Three judges per answer, each from a competing lab. A panel never includes the entrant's own lab.
  • Scored 0–10 against a fixed rubric. Answers breaking a task's explicit rules are capped by machine, not by opinion.
  • Ties broken by fewest rule breaches, then lowest measured cost — published, not editorial.
  • Nobody pays for placement. Last computed 16 Aug 2026.

Every score below links to the raw file behind it: every task, the entrant’s real answer, and all three judges’ marks.

#ModelOur score
1GPT-5.6 Lunalatest93/100
2GPT-5.6 Terralatest93/100
3GPT-5.6 Sollatest93/100
4GLM 5.292/100
5GPT-5.3-Codex92/100
6GPT-5.591/100
7GitHub Copilot90/100
8Qwen3.7 Max90/100
9Claude Opus 4.889/100
10Kimi K389/100
11Grok 4.588/100
12Gemini 3.1 Pro Preview88/100
13DeepSeek V4 Flash86/100
14Gemini 3.5 Flash86/100
15Cursor85/100
16Claude Opus 4.684/100
17DeepSeek V4 Pro83/100
18Claude Sonnet 583/100
19Gemini 3.1 Flash Lite77/100
20Mistral Medium 3.571/100
Not ranked here — one model declined

Claude Fable 5 refused to attempt this suite, so it has no score to rank. Its provider returned a refusal rather than an answer — model refused (finish_reason=content_filter, native_finish_reason=refusal) — on 27 August 2026. This is the model’s own answer, not a test we skipped.

“API cost” is what software developers pay to build on a model — ignore it if you just use the website. Each model answers each task once. Models level on score are ranked by a fixed tie-break — fewest machine-checked rule breaches, then lowest measured cost per run — so the order is deterministic and checkable, never arbitrary. Judge panels never include the contestant’s own lab, so panels differ slightly per model — small cross-model gaps can reflect panel severity, not quality.

1.

GPT-5.6 Luna

93/100our pick — won on the tie-break

Made by OpenAI — their newest model. You use it inside ChatGPT — nothing to install.

Strongest showing: Typed debounce” — scored 10/10 by the panel. Weakest: “Explain and cost” at 9/10.

The response provides a flawless TypeScript debounce implementation that preserves types, includes a cancel method, avoids 'any', and accurately explains the type loss in exactly one sentence.google/gemini-3.1-pro-preview, judging blind · full receipts ↓

18 tasks · 16 Aug 2026 · judges claude-sonnet-5, gemini-3.1-pro-preview, grok-4.5 · API $0.2 in / $1.2 out per 1M tokens · full model page →

Same maker, same score — effectively the same choice as #1; the deep-dive above covers it. Full model page →

3.

GPT-5.6 Sol

93/100

Same maker, same score — effectively the same choice as #1; the deep-dive above covers it. Full model page →

See it for yourself

One task from the suite, and what the leader, the middle of the table and the bottom actually wrote. This is the task they disagreed on most — scores ranged from 3 to 10 out of 10.

The task — Typed debounce

Write a debounce function in TypeScript that preserves the argument types of the wrapped function, returns a function with a .cancel() method, and does not use 'any'. Explain in one sentence why the naive generic signature loses type information.

```ts
type Debounced<F extends (...args: never[]) => unknown> =
  ((...args: Parameters<F>) => void) & {
    cancel(): void;
  };

function debounce<F extends (...args: never[]) => unknown>(
  fn: F,
  delay: number
): Debounced<F> {
  let timer: ReturnType<typeof setTimeout> | undefined;
  let pend…

Judge: The response provides a flawless TypeScript debounce implementation that preserves types, includes a cancel method, avoids 'any', and accurately explains the type loss in exactly one sentence.

```typescript
function debounce<TArgs extends unknown[]>(
  fn: (...args: TArgs) => void,
  delay: number
): ((...args: TArgs) => void) & { cancel(): void } {
  let timeoutId: ReturnType<typeof setTimeout> | undefined;

  const debounced = (...args: TArgs) => {
    if (timeoutId !== undefined) clear…

Judge: The code is excellent and meets all requirements, but the response violates the negative constraint by using the word 'any' in the explanation text.

Here's a debounce function in TypeScript that meets your requirements:

```typescript
function debounce<T extends (...args: any[]) => any>(
  func: T,
  wait: number
): {
  (...args: Parameters<T>): void;
  cancel: () => void;
} {
  let timeoutId: ReturnType<typeof setTimeout> | null = null;

  cons…

Judge: The response explicitly uses the forbidden word 'any' in the type constraint `T extends (...args: any[]) => any`, violating the negative constraint.

Trimmed to fit. Every full answer, every judge’s score: GPT-5.6 Luna, Grok 4.5, Mistral Medium 3.5

How this ranking is made

Every model answers the identical published task suite. Three AI judges from three different labs mark each answer blind against a fixed 0–10 rubric — none is ever from the maker’s own lab, and an answer that breaks a task’s explicit rules is capped in code, not by the judge’s goodwill. The score is the average, out of 100.

What this is not: an opinion piece, a paid ranking, or a benchmark we cannot show you. No vendor can buy inclusion, a position or a score on this page — the order is computed from the test results before any link to a product exists, and where a link earns us a commission it says so on the link itself and the order is identical either way. Every score links its raw outputs and judge verdicts. The full protocol · How we make money · receipts: GPT-5.6 Luna, GPT-5.6 Terra, GPT-5.6 Sol, GLM 5.2, GPT-5.3-Codex, GPT-5.5, GitHub Copilot, Qwen3.7 Max, Claude Opus 4.8, Kimi K3, Grok 4.5, Gemini 3.1 Pro Preview, DeepSeek V4 Flash, Gemini 3.5 Flash, Cursor, Claude Opus 4.6, DeepSeek V4 Pro, Claude Sonnet 5, Gemini 3.1 Flash Lite, Mistral Medium 3.5

Questions people ask

What is the best AI for coding in 2026?

GPT-5.6 Luna leads our tested ranking with 93/100 on our coding tests, in a dead heat with GPT-5.6 Terra (93). Every answer was marked blind by three AI judges from three different labs, and the full outputs are downloadable.

How is this ranking made?

Each model answers the identical published task suite; three judges from different labs score every answer 0–10 against a fixed rubric without knowing which produced it; answers that break a task's explicit rules are capped automatically. The score is the average, out of 100. No vendor pays for placement.

What happens when two models score the same?

They are separated by a fixed, published tie-break rather than by editorial choice: first the fewest machine-checked rule breaches, then the lowest measured cost per run. The order is therefore reproducible from the same data, and where the tie-break decides the top place the page says so.

Did any model refuse to take this test?

Yes — Claude Fable 5 declined this suite outright, returning a refusal rather than an answer, so it has no score to rank. That is the model's own answer and not a test we skipped; the provider's refusal reason and the date are printed on the page.

How often does this page update?

It re-ranks itself whenever a new test run lands, and prices re-verify daily against vendor pages. The current ranking was last computed on 16 Aug 2026.

Head-to-head battles

Head-to-heads in coding

Show all 20 tested pairs ▾

All comparisons →

More rankings ▾

Best AI for writing · Best AI chatbot for everyday use · Best free AI model · Best AI for spreadsheets and Excel · Best AI essay writer · Best AI for summarising documents · Best AI for extracting data from text · Best AI for writing emails · Best AI for everyday maths and percentages · Best AI for customer service replies · Best AI for revision and study notes · Best AI for vibe coding · Best AI for making flashcards · Best AI for social media posts · Best AI for job applications and cover letters · Best AI for presentations · Best AI for writing your CV · Best AI for research skills · Best AI for creative writing · Best AI for translation · Best AI for travel planning · Best AI for emotional support · Best AI for everyday legal questions · Best AI for health questions · Best AI for writing a book · Best AI for humanising AI text · Best AI research agent · Best AI for code review · Best AI for workflow automation · Best AI for bookkeeping · Best AI for HR and employment questions · Best AI for meeting notes · Best AI for property and lettings · Best-value AI model API · every model we track · every tool