> ## Documentation Index
> Fetch the complete documentation index at: https://usefulai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Best LLMs for Coding in 2026

export const models = [{
  rank: 1,
  name: "Claude Fable 5",
  dev: "Anthropic",
  icon: "/images/icons/anthropic.com.png",
  url: "https://www.anthropic.com/claude/fable",
  bestFor: "Frontier autonomous coding",
  score: "99%",
  price: "$20.00 / 1M",
  license: "Proprietary",
  custom: "1M",
  customLabel: "Context"
}, {
  rank: 2,
  name: "GPT-5.6 Sol",
  dev: "OpenAI",
  icon: "/images/icons/openai.com.png",
  url: "https://developers.openai.com/api/docs/models/gpt-5.6-sol",
  bestFor: "Token-efficient agentic coding",
  score: "99%",
  price: "$11.25 / 1M",
  license: "Proprietary",
  custom: "1.05M",
  customLabel: "Context"
}, {
  rank: 3,
  name: "Grok 4.5",
  dev: "SpaceXAI",
  icon: "/images/icons/x.ai.png",
  url: "https://docs.x.ai/developers/grok-4-5",
  bestFor: "Value frontier-adjacent coding",
  score: "89%",
  price: "$3.00 / 1M",
  license: "Proprietary",
  custom: "500K",
  customLabel: "Context"
}, {
  rank: 4,
  name: "Claude Opus 4.8",
  dev: "Anthropic",
  icon: "/images/icons/anthropic.com.png",
  url: "https://www.anthropic.com/news/claude-opus-4-8",
  bestFor: "Reliable heavy engineering",
  score: "89%",
  price: "$10.00 / 1M",
  license: "Proprietary",
  custom: "1M",
  customLabel: "Context"
}, {
  rank: 5,
  name: "GLM-5.2",
  dev: "Z.ai",
  icon: "/images/icons/z.ai.png",
  url: "https://docs.z.ai/guides/llm/glm-5.2",
  bestFor: "Best open-weight coding",
  score: "88%",
  price: "$2.15 / 1M",
  license: "Open weight",
  custom: "1M",
  customLabel: "Context"
}, {
  rank: 6,
  name: "Claude Sonnet 5",
  dev: "Anthropic",
  icon: "/images/icons/anthropic.com.png",
  url: "https://www.anthropic.com/news/claude-sonnet-5",
  bestFor: "High-quality daily driver",
  score: "86%",
  price: "$4.00 / 1M",
  license: "Proprietary",
  custom: "1M",
  customLabel: "Context"
}, {
  rank: 7,
  name: "Muse Spark 1.1",
  dev: "Meta",
  icon: "/images/icons/meta.ai.png",
  url: "https://ai.meta.com/blog/introducing-muse-spark-meta-model-api/",
  bestFor: "Low-cost high-capability coding",
  score: "86%",
  price: "$2.00 / 1M",
  license: "Proprietary",
  custom: "1M",
  customLabel: "Context"
}, {
  rank: 8,
  name: "Qwen3.7 Max",
  dev: "Alibaba",
  icon: "/images/icons/qwen.ai.png",
  url: "https://qwen.ai/blog?id=qwen3.7",
  bestFor: "Mid-tier general coding",
  score: "81%",
  price: "$2.48 / 1M",
  license: "Proprietary",
  custom: "1M",
  customLabel: "Context"
}, {
  rank: 9,
  name: "Gemini 3.5 Flash",
  dev: "Google",
  icon: "/images/icons/google.com.png",
  url: "https://ai.google.dev/gemini-api/docs/models/gemini-3.5-flash",
  bestFor: "Fast high-volume coding",
  score: "81%",
  price: "$3.38 / 1M",
  license: "Proprietary",
  custom: "1.05M",
  customLabel: "Context"
}, {
  rank: 10,
  name: "Gemini 3.1 Pro",
  dev: "Google",
  icon: "/images/icons/google.com.png",
  url: "https://ai.google.dev/gemini-api/docs/models/gemini-3.1-pro-preview",
  bestFor: "Multimodal coding and reasoning",
  score: "76%",
  price: "$4.50 / 1M",
  license: "Proprietary",
  custom: "1.05M",
  customLabel: "Context"
}, {
  rank: 11,
  name: "GPT-5.6 Terra",
  dev: "OpenAI",
  icon: "/images/icons/openai.com.png",
  url: "https://developers.openai.com/api/docs/models/gpt-5.6-terra",
  bestFor: "Deliberate mid-tier coding",
  score: "74%",
  price: "$5.63 / 1M",
  license: "Proprietary",
  custom: "1.05M",
  customLabel: "Context"
}, {
  rank: 12,
  name: "Kimi K2.7 Code",
  dev: "Moonshot",
  icon: "/images/icons/kimi.com.png",
  url: "https://huggingface.co/moonshotai/Kimi-K2.7-Code",
  bestFor: "Cheap code-tuned tasks",
  score: "73%",
  price: "$1.71 / 1M",
  license: "Open weight",
  custom: "262K",
  customLabel: "Context"
}, {
  rank: 13,
  name: "DeepSeek V4 Pro",
  dev: "DeepSeek",
  icon: "/images/icons/deepseek.com.png",
  url: "https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro",
  bestFor: "Cheapest capable coding",
  score: "71%",
  price: "$0.54 / 1M",
  license: "Open weight",
  custom: "1.05M",
  customLabel: "Context"
}, {
  rank: 14,
  name: "Gemma 4 31B",
  dev: "Google",
  icon: "/images/icons/google.com.png",
  url: "https://huggingface.co/google/gemma-4-31B",
  bestFor: "Local coding, strong hardware",
  score: "53%",
  price: "$0.18 / 1M",
  license: "Open weight",
  custom: "262K",
  customLabel: "Context"
}, {
  rank: 15,
  name: "Qwen3.5 27B",
  dev: "Alibaba",
  icon: "/images/icons/qwen.ai.png",
  url: "https://huggingface.co/Qwen/Qwen3.5-27B",
  bestFor: "Self-hosted local coding",
  score: "49%",
  price: "$0.24 / 1M",
  license: "Open weight",
  custom: "262K",
  customLabel: "Context"
}];

export const Fav = ({icon, size = "h-4 w-4"}) => <img src={icon} alt="" noZoom className={"relative -top-px mr-1 inline rounded-sm object-contain " + size} />;

export const LicenseBadge = ({license}) => license === "Open weight" ? <span className="inline-flex items-center rounded bg-emerald-50 px-1.5 py-[2px] text-xs font-medium leading-4 text-emerald-700 dark:bg-emerald-500/10 dark:text-emerald-400">Open weight</span> : <span className="inline-flex items-center rounded bg-zinc-100 px-1.5 py-[2px] text-xs font-medium leading-4 text-zinc-600 dark:bg-white/10 dark:text-zinc-300">Proprietary</span>;

export const BestForChip = ({children}) => <span className="inline-flex min-w-0 max-w-full items-center rounded bg-sky-50 px-1.5 py-[2px] dark:bg-sky-500/10">
    <span className="truncate text-xs font-medium leading-4 text-sky-700 dark:text-sky-400">{children}</span>
  </span>;

export const HeaderTip = ({label, tip}) => <span className="inline-flex items-center gap-1.5">
    <span>{label}</span>
    <Tooltip tip={tip}>
      <span className="relative top-0.5 inline-flex cursor-pointer text-zinc-500 transition-opacity hover:opacity-70 dark:text-zinc-400">
        <Icon icon="circle-info" size={12} color="currentColor" />
        <span className="sr-only">About {label.toLowerCase()}</span>
      </span>
    </Tooltip>
  </span>;

export const ModelCard = ({model, children}) => <section className="not-prose my-5 rounded-lg border border-zinc-200 bg-white p-5 shadow-sm dark:border-white/10 dark:bg-white/[0.03]">
    <div className="mb-3"><BestForChip>{model.bestFor}</BestForChip></div>
    <div className="flex items-center gap-3">
      <img src={model.icon} alt={model.dev + " logo"} noZoom className="h-10 w-10 shrink-0 rounded-lg object-contain" />
      <div className="min-w-0 flex-1">
        <h2 className="m-0 max-w-full text-xl font-semibold leading-7 tracking-normal">
          <a href={model.url} target="_blank" rel="noreferrer" className="group inline-flex min-w-0 max-w-full items-center gap-1.5 no-underline text-zinc-950 dark:text-white">
            <span className="min-w-0 break-words"><span className="underline-offset-4 group-hover:underline group-focus-visible:underline">{model.name}</span> <span className="font-normal text-zinc-500 dark:text-zinc-400">({model.dev})</span></span>
            <span aria-hidden="true" className="flex shrink-0 text-zinc-400 transition-colors group-hover:text-zinc-900 group-focus-visible:text-zinc-900 dark:text-zinc-500 dark:group-hover:text-white dark:group-focus-visible:text-white"><Icon icon="arrow-up-right" size={12} color="currentColor" /></span>
          </a>
        </h2>
        <div className="mt-1 flex flex-wrap items-center gap-x-2 gap-y-1 text-[13px] leading-5 uai-ink-muted">
          <LicenseBadge license={model.license} />
          <span aria-hidden="true">∙</span>
          <span>Score <span className="tabular-nums text-zinc-950 dark:text-white">{model.score}</span></span>
          <span aria-hidden="true">∙</span>
          <span>Price <span className="tabular-nums text-zinc-950 dark:text-white">{model.price}</span></span>
          {model.custom && <><span aria-hidden="true">∙</span><span>{model.customLabel} <span className="tabular-nums text-zinc-950 dark:text-white">{model.custom}</span></span></>}
        </div>
      </div>
    </div>
    {children}
  </section>;

export const Take = ({children}) => <div className="not-prose mt-4 text-sm leading-[22px] text-zinc-700 dark:text-zinc-300">{children}</div>;

export const ST = ({label, children}) => <div className="not-prose mt-4">
    <div className="text-sm font-semibold text-zinc-950 dark:text-white">{label}</div>
    <div className="mt-1 flex flex-col gap-2.5 text-sm leading-[22px] text-zinc-700 dark:text-zinc-300">{children}</div>
  </div>;

export const AccessBullets = ({rows}) => <div className="not-prose mt-4 text-sm leading-[22px] text-zinc-700 dark:text-zinc-300">
    <div className="font-semibold text-zinc-950 dark:text-white">How to access</div>
    <div className="mt-1.5 flex flex-col gap-1.5">
      {rows.map(([key, body]) => <span key={key} className="flex items-baseline gap-2.5"><span aria-hidden="true" className="relative -top-0.5 inline-block h-1.5 w-1.5 shrink-0 rounded-full bg-zinc-700 dark:bg-zinc-300" /><span><span className="font-semibold text-zinc-950 dark:text-white">{key}</span> — {body}</span></span>)}
    </div>
  </div>;

export const Alt = ({icon, name, dev, url, children}) => <span className="flex items-baseline gap-2.5">
    <span aria-hidden="true" className="relative -top-0.5 inline-block h-1.5 w-1.5 shrink-0 rounded-full bg-zinc-300 dark:bg-zinc-600" />
    <span><Fav icon={icon} /><a href={url} target="_blank" rel="noreferrer" className="font-medium text-zinc-950 underline underline-offset-2 dark:text-white">{name}</a> <span className="uai-ink-muted">({dev})</span> — {children}</span>
  </span>;

<div className="not-prose -mt-2 mb-8 flex flex-wrap items-center gap-x-2 text-sm text-zinc-800 dark:text-zinc-200 lg:-mt-5" style={{ paddingLeft: "2px" }}>
  <span className="inline-flex items-center gap-1.5"><Icon icon="clock-rotate-left" size={10} color="currentColor" /> Updated <time dateTime="2026-07-12">July 12, 2026</time></span>
</div>

LLMs for coding write, debug, and refactor code - distinct from the tools like Claude Code or Cursor that wrap them. Choosing one means trading capability against price and how much you can run yourself. We ranked 15 on blind web-dev preference and agentic benchmarks.

## Best LLMs for Coding

<div className="uai-overview-breakout not-prose my-5">
  <input type="checkbox" id="models-more" className="fy-more-toggle sr-only" aria-label={"Show all 15 llms for coding models"} />

  <div className="fy-more-table overflow-x-auto rounded-lg border border-zinc-200 bg-white dark:border-white/10 dark:bg-white/[0.03]">
    <div className="table text-sm" style={{ width: "100%" }}>
      <div className="table-header-group bg-zinc-50/60 dark:bg-white/[0.02]">
        <div className="table-row">
          <span className="table-cell whitespace-nowrap px-4 py-2.5 text-left text-[13px] font-medium leading-5 text-zinc-500 dark:text-zinc-400">#</span>
          <span className="table-cell whitespace-nowrap px-4 py-2.5 text-left text-[13px] font-medium leading-5 text-zinc-500 dark:text-zinc-400">Model</span>
          <span className="table-cell whitespace-nowrap px-4 py-2.5 text-left text-[13px] font-medium leading-5 text-zinc-500 dark:text-zinc-400">Best for</span>

          <span className="table-cell whitespace-nowrap px-4 py-2.5 text-right text-[13px] font-medium leading-5 text-zinc-500 dark:text-zinc-400">
            <HeaderTip label="Score" tip={"UsefulAI's 0-100 coding score combines normalized Code Arena WebDev Overall and Artificial Analysis Coding Index results. Higher is better."} />
          </span>

          <span className="table-cell whitespace-nowrap px-4 py-2.5 text-right text-[13px] font-medium leading-5 text-zinc-500 dark:text-zinc-400">
            <HeaderTip label="Price" tip={"Estimated blended API price per 1M tokens using a 3:1 input-to-output ratio. Tiers and caching can change the real cost."} />
          </span>

          <span className="table-cell whitespace-nowrap px-4 py-2.5 text-left text-[13px] font-medium leading-5 text-zinc-500 dark:text-zinc-400">
            <HeaderTip label="License" tip="Proprietary means no public model weights. Open weight means weights are available, though exact licenses and commercial-use terms vary." />
          </span>

          <span className="table-cell whitespace-nowrap px-4 py-2.5 text-left text-[13px] font-medium leading-5 text-zinc-500 dark:text-zinc-400">
            <HeaderTip label={"Context"} tip={"Maximum context window for the scored variant or closest official route. Larger context can help with repository-scale work."} />
          </span>
        </div>
      </div>

      <div className="table-row-group">
        {models.map((model, index) => (
                        <a key={model.name} href={model.url} target="_blank" rel="noreferrer" className={"table-row no-underline transition-colors hover:bg-zinc-50/60 dark:hover:bg-white/[0.02]" + (models.length > 9 && index >= 7 ? " fy-more-row" : "")}>
                          <span className="table-cell w-8 whitespace-nowrap border-t border-zinc-100 px-4 py-3 align-middle text-[13px] tabular-nums dark:border-white/5"><span className="sr-only">Rank </span><span className="uai-ink-muted">{model.rank}</span></span>
                          <span className="table-cell whitespace-nowrap border-t border-zinc-100 px-4 py-3 align-middle dark:border-white/5"><span className="flex items-center gap-2.5"><Fav icon={model.icon} /><span className="text-sm font-semibold leading-5 text-zinc-950 dark:text-white">{model.name}</span></span></span>
                          <span className="table-cell whitespace-nowrap border-t border-zinc-100 px-4 py-3 align-middle text-[13px] leading-5 text-zinc-950 dark:border-white/5 dark:text-white"><span className="sr-only">Best for: </span>{model.bestFor}</span>
                          <span className="table-cell whitespace-nowrap border-t border-zinc-100 px-4 py-3 text-right align-middle text-[13px] leading-5 tabular-nums text-zinc-950 dark:border-white/5 dark:text-white"><span className="sr-only">Score: </span>{model.score}</span>
                          <span className="table-cell whitespace-nowrap border-t border-zinc-100 px-4 py-3 text-right align-middle text-[13px] leading-5 tabular-nums dark:border-white/5"><span className="sr-only">Price: </span><span className="uai-ink-muted">{model.price}</span></span>
                          <span className="table-cell whitespace-nowrap border-t border-zinc-100 px-4 py-3 align-middle dark:border-white/5"><span className="sr-only">License: </span><LicenseBadge license={model.license} /></span>
                          <span className="table-cell whitespace-nowrap border-t border-zinc-100 px-4 py-3 align-middle text-[13px] leading-5 text-zinc-950 dark:border-white/5 dark:text-white"><span className="sr-only">Context: </span>{model.custom}</span>
                        </a>
                      ))}
      </div>
    </div>
  </div>

  {models.length > 9 && <div className="fy-more-pill mt-3 flex justify-center">
      <label htmlFor="models-more" className="inline-flex cursor-pointer items-center gap-1.5 rounded-full border border-zinc-200 px-4 py-1.5 text-[13px] font-medium text-zinc-600 transition-colors hover:text-zinc-900 dark:border-white/15 dark:text-zinc-300 dark:hover:text-white">
        <span className="fy-more-open inline-flex items-center gap-1.5">Show {models.length - 7} more <Icon icon="chevron-down" size={13} /></span>
        <span className="fy-more-close items-center gap-1.5">Show less <Icon icon="chevron-up" size={13} /></span>
      </label>
    </div>}
</div>

Score is a normalized average of Code Arena's WebDev Overall and the Artificial Analysis Coding Index; higher is better. Price is blended API cost per 1M tokens at a 3:1 input-to-output ratio.

***

<ModelCard model={models[0]}>
  <Take>The most capable coding model in this comparison, and it shows most on long, autonomous, repo-spanning work where lesser models drift - at frontier prices.</Take>

  <ST label="Strengths:">
    <div>Best-in-class at sustained agentic coding, staying coherent across a long session and carrying a repo-wide migration through in one sitting. Strong vision too, so screenshot-to-code and figure-heavy work land better than on rivals.</div>
    <div>When the task is genuinely hard and the ceiling matters, this is the pick.</div>
  </ST>

  <ST label="Tradeoffs:">
    <div>It's the priciest model here by a wide margin, so it's overkill for routine edits and quick loops. For most daily work, Sonnet 5 or GPT-5.6 Sol give you most of the capability for far less.</div>
    <div>Reserve Fable 5 for problems that need it.</div>
  </ST>

  <AccessBullets
    rows={[
["App", <span>Available in <a href="https://claude.ai/" target="_blank" rel="noreferrer" className="underline underline-offset-2">Claude</a> and <a href="https://docs.anthropic.com/en/docs/claude-code/overview" target="_blank" rel="noreferrer" className="underline underline-offset-2">Claude Code</a>.</span>],
["API", <span>Accessible via <a href="https://platform.claude.com/docs/en/api/overview" target="_blank" rel="noreferrer" className="underline underline-offset-2">Anthropic API</a>, <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-anthropic-claude-fable-5.html" target="_blank" rel="noreferrer" className="underline underline-offset-2">Amazon Bedrock</a>, <a href="https://learn.microsoft.com/en-us/azure/foundry/foundry-models/concepts/claude-models" target="_blank" rel="noreferrer" className="underline underline-offset-2">Microsoft Foundry</a>, and <a href="https://docs.cloud.google.com/gemini-enterprise-agent-platform/models/partner-models/claude/fable-5" target="_blank" rel="noreferrer" className="underline underline-offset-2">Google Cloud Agent Platform</a>.</span>],
]}
  />
</ModelCard>

<ModelCard model={models[1]}>
  <Take>OpenAI's strongest agentic coder holds context across large, messy systems and is unusually token-efficient, making it the frontier pick that's easiest to actually afford.</Take>

  <ST label="Strengths:">
    <div>Excellent at reasoning through ambiguous failures and checking its own work across big systems, and it does it with fewer tokens than rivals - so the effective cost per finished task runs lower than the sticker price suggests.</div>
    <div>A safe frontier default for heavy agent work.</div>
  </ST>

  <ST label="Tradeoffs:">
    <div>It sits neck-and-neck with Fable 5 at the top, so the choice often comes down to which house style you prefer.</div>
    <div>It's still a premium model, and for lighter work GPT-5.6 Terra or Sonnet 5 cover the basics for less.</div>
  </ST>

  <AccessBullets
    rows={[
["App", <span>Available in <a href="https://chatgpt.com/" target="_blank" rel="noreferrer" className="underline underline-offset-2">ChatGPT</a> and <a href="https://developers.openai.com/codex/app" target="_blank" rel="noreferrer" className="underline underline-offset-2">Codex</a>.</span>],
["API", <span>Accessible via <a href="https://developers.openai.com/api/docs/models/gpt-5.6-sol" target="_blank" rel="noreferrer" className="underline underline-offset-2">OpenAI API</a>, <a href="https://learn.microsoft.com/en-us/azure/foundry/openai/how-to/responses" target="_blank" rel="noreferrer" className="underline underline-offset-2">Microsoft Foundry</a>, and <a href="https://openrouter.ai/openai/gpt-5.6-sol-20260709" target="_blank" rel="noreferrer" className="underline underline-offset-2">OpenRouter</a>.</span>],
]}
  />
</ModelCard>

<ModelCard model={models[2]}>
  <Take>The value standout near the top - close to frontier coding quality at a fraction of the price, with shorter context as the trade-off.</Take>

  <ST label="Strengths:">
    <div>Punches well above its price, landing near the strongest proprietary coders while costing a fraction of them, and it's fast and token-efficient.</div>
    <div>If you want frontier-adjacent quality without frontier billing, and your work fits a mid-size context, this is one of the best deals on the list.</div>
  </ST>

  <ST label="Tradeoffs:">
    <div>Its context window is the smallest among the leaders, so very large repo-spanning sessions can outgrow it - reach for Opus 4.8 or a 1M-context model there.</div>
    <div>On the very hardest problems it trails Fable 5 and GPT-5.6 Sol.</div>
  </ST>

  <AccessBullets
    rows={[
["App", <span>Available in <a href="https://grok.com/" target="_blank" rel="noreferrer" className="underline underline-offset-2">Grok</a>, <a href="https://docs.x.ai/developers/grok-4-5" target="_blank" rel="noreferrer" className="underline underline-offset-2">Grok Build</a>, and <a href="https://www.cursor.com/" target="_blank" rel="noreferrer" className="underline underline-offset-2">Cursor</a>.</span>],
["API", <span>Accessible via <a href="https://docs.x.ai/developers/grok-4-5" target="_blank" rel="noreferrer" className="underline underline-offset-2">xAI API</a> and <a href="https://docs.x.ai/developers/grok-4-5" target="_blank" rel="noreferrer" className="underline underline-offset-2">OpenRouter and other listed gateways</a>.</span>],
]}
  />
</ModelCard>

<ModelCard model={models[3]}>
  <Take>Near-top agentic coding with a reliability edge - it flags flawed code more readily than most, which matters when it's committing to your repo unattended.</Take>

  <ST label="Strengths:">
    <div>Anthropic tuned it to catch its own mistakes and flag flawed code far more often than the prior Opus, which matters when the model is committing to your repo unattended.</div>
    <div>A large context and steady long-horizon behavior make it a safe default for heavy engineering work.</div>
  </ST>

  <ST label="Tradeoffs:">
    <div>It's expensive for daily use, and on the hardest tasks Fable 5 and GPT-5.6 Sol edge ahead.</div>
    <div>If you need maximum reliability on unattended agent runs, it's the safer step up from Sonnet 5; otherwise Sonnet 5 delivers most of the quality for less.</div>
  </ST>

  <AccessBullets
    rows={[
["App", <span>Available in <a href="https://claude.ai/" target="_blank" rel="noreferrer" className="underline underline-offset-2">Claude</a> and <a href="https://docs.anthropic.com/en/docs/claude-code/overview" target="_blank" rel="noreferrer" className="underline underline-offset-2">Claude Code</a>.</span>],
["API", <span>Accessible via <a href="https://platform.claude.com/docs/en/api/overview" target="_blank" rel="noreferrer" className="underline underline-offset-2">Anthropic API</a>, <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-anthropic-claude-messages.html" target="_blank" rel="noreferrer" className="underline underline-offset-2">Amazon Bedrock</a>, <a href="https://learn.microsoft.com/azure/ai-foundry/foundry-models/concepts/models-sold-directly-by-azure" target="_blank" rel="noreferrer" className="underline underline-offset-2">Microsoft Foundry</a>, and <a href="https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/claude" target="_blank" rel="noreferrer" className="underline underline-offset-2">Google Cloud Vertex AI</a>.</span>],
]}
  />
</ModelCard>

<ModelCard model={models[4]}>
  <Take>The highest-scoring open-weight model here and the pick if you want frontier-adjacent coding without proprietary lock-in - priced like a budget option, with huge context.</Take>

  <ST label="Strengths:">
    <div>Open weights let you route it through whichever host is cheapest or fits your compliance needs, and it beats every other open model here on coding while staying near budget pricing.</div>
    <div>For serious open-weight engineering, or anyone avoiding proprietary lock-in, this is the one to beat.</div>
  </ST>

  <ST label="Tradeoffs:">
    <div>Its weights are open, but it's too large to run on your own hardware in practice - so you're really calling a hosted API like any proprietary option.</div>
    <div>On the hardest problems it lands just below Opus 4.8 and the frontier pair.</div>
  </ST>

  <AccessBullets
    rows={[
["App", <span>Available in <a href="https://chat.z.ai/" target="_blank" rel="noreferrer" className="underline underline-offset-2">Z.ai</a>.</span>],
["API", <span>Accessible via <a href="https://docs.z.ai/" target="_blank" rel="noreferrer" className="underline underline-offset-2">Z.ai API</a> and <a href="https://openrouter.ai/models" target="_blank" rel="noreferrer" className="underline underline-offset-2">OpenRouter</a>.</span>],
["Run locally", <span>Open weights are available from <a href="https://huggingface.co/zai-org/GLM-5.2" target="_blank" rel="noreferrer" className="underline underline-offset-2">Hugging Face</a>, but in practice this needs self-hosting infrastructure, not a local machine.</span>],
]}
  />
</ModelCard>

<ModelCard model={models[5]}>
  <Take>The default daily-driver pick - most of the frontier's coding quality at friendlier pricing and pace for everyday work.</Take>

  <ST label="Strengths:">
    <div>The sweet spot of quality, speed, and price for most engineering work - close enough to Opus that you rarely feel the gap on routine tasks, with a large context and Anthropic's reliable, cautious editing behavior.</div>
    <div>For most developers, this is the one to standardize on.</div>
  </ST>

  <ST label="Tradeoffs:">
    <div>On the hardest, longest-horizon problems it trails Opus 4.8 and the frontier pair, so escalate the genuinely difficult work.</div>
    <div>If you need maximum reliability on unattended agent runs, Opus 4.8 is the safer step up; for lighter loads, cheaper models suffice.</div>
  </ST>

  <AccessBullets
    rows={[
["App", <span>Available in <a href="https://claude.ai/" target="_blank" rel="noreferrer" className="underline underline-offset-2">Claude</a> and <a href="https://docs.anthropic.com/en/docs/claude-code/overview" target="_blank" rel="noreferrer" className="underline underline-offset-2">Claude Code</a>.</span>],
["API", <span>Accessible via <a href="https://platform.claude.com/docs/en/api/overview" target="_blank" rel="noreferrer" className="underline underline-offset-2">Anthropic API</a>, <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-anthropic-claude-messages.html" target="_blank" rel="noreferrer" className="underline underline-offset-2">Amazon Bedrock</a>, <a href="https://learn.microsoft.com/azure/ai-foundry/foundry-models/concepts/models-sold-directly-by-azure" target="_blank" rel="noreferrer" className="underline underline-offset-2">Microsoft Foundry</a>, and <a href="https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/claude" target="_blank" rel="noreferrer" className="underline underline-offset-2">Google Cloud Vertex AI</a>.</span>],
]}
  />
</ModelCard>

<ModelCard model={models[6]}>
  <Take>Meta's coder matches strong mid-pack quality at a low price, but it runs on a public-preview API - promising rather than production-ready today.</Take>

  <ST label="Strengths:">
    <div>Strong coding quality for the price, competitive with pricier mid-tier proprietary models while undercutting them, and paired with a large context.</div>
    <div>If the preview holds up and pricing sticks after general availability, it's a genuinely appealing low-cost option for everyday coding.</div>
  </ST>

  <ST label="Tradeoffs:">
    <div>The preview status is the catch: terms, limits, and pricing can shift before general availability, so it's risky to build production workflows on it today.</div>
    <div>For a stable low-cost pick now, GLM-5.2 or a proven proprietary model is safer.</div>
  </ST>

  <AccessBullets
    rows={[
["App", <span>Available in <a href="https://www.meta.ai/" target="_blank" rel="noreferrer" className="underline underline-offset-2">Meta AI</a>.</span>],
["API", <span>Accessible via <a href="https://ai.meta.com/blog/introducing-muse-spark-meta-model-api/" target="_blank" rel="noreferrer" className="underline underline-offset-2">Meta Model API public preview</a>.</span>],
]}
  />
</ModelCard>

<ModelCard model={models[7]}>
  <Take>Alibaba's proprietary flagship is a competent all-rounder with a big context, but it's boxed in by open-weight models that match it for less.</Take>

  <ST label="Strengths:">
    <div>A solid general-purpose coder with a large context window, capable across everyday generation, edits, and mid-complexity refactors.</div>
    <div>It holds its own in the middle of the pack and is a reasonable proprietary option if you want a big context without paying frontier prices.</div>
  </ST>

  <ST label="Tradeoffs:">
    <div>The problem is its neighbors: GLM-5.2 scores higher at a lower price with open weights, and Gemini 3.5 Flash matches its score with more speed.</div>
    <div>It's competent but hard to single out when cheaper, stronger options sit right next to it.</div>
  </ST>

  <AccessBullets
    rows={[
["App", <span>Available in <a href="https://chat.qwen.ai/" target="_blank" rel="noreferrer" className="underline underline-offset-2">Qwen Chat</a> and <a href="https://qwen.ai/qwencode" target="_blank" rel="noreferrer" className="underline underline-offset-2">Qwen Code</a>.</span>],
["API", <span>Accessible via <a href="https://www.alibabacloud.com/help/en/model-studio/what-is-model-studio" target="_blank" rel="noreferrer" className="underline underline-offset-2">Alibaba Cloud Model Studio</a>.</span>],
]}
  />
</ModelCard>

<ModelCard model={models[8]}>
  <Take>Google's speed-first coder - built for fast, high-volume work where throughput and latency matter more than topping the hardest reasoning tasks.</Take>

  <ST label="Strengths:">
    <div>Fast and responsive with a very large context, which makes it a strong fit for high-volume coding loops, quick iterations, and tasks where you value low latency.</div>
    <div>When you're running many calls and want snappy turnarounds rather than the absolute top answer, Flash earns its place.</div>
  </ST>

  <ST label="Tradeoffs:">
    <div>As a Flash-tier model it trails the top coders on the hardest reasoning and multi-step agent work, so reach for Opus 4.8, Sonnet 5, or GPT-5.6 Sol for deep debugging or tricky refactors.</div>
    <div>And at its price, some stronger models sit uncomfortably close.</div>
  </ST>

  <AccessBullets
    rows={[
["App", <span>Available in <a href="https://developers.google.com/gemini-code-assist/docs/gemini-3" target="_blank" rel="noreferrer" className="underline underline-offset-2">Gemini Code Assist</a>.</span>],
["API", <span>Accessible via <a href="https://ai.google.dev/gemini-api/docs" target="_blank" rel="noreferrer" className="underline underline-offset-2">Gemini API</a> and <a href="https://cloud.google.com/vertex-ai/generative-ai/docs/models" target="_blank" rel="noreferrer" className="underline underline-offset-2">Vertex AI</a>.</span>],
]}
  />
</ModelCard>

<ModelCard model={models[9]}>
  <Take>Google's Pro-tier preview brings strong multimodal range and a big context, but on our coding spine it lands below the cheaper, faster Gemini 3.5 Flash.</Take>

  <ST label="Strengths:">
    <div>Broad, capable reasoning with strong multimodal handling and a very large context, so it's comfortable on mixed tasks that pair code with images, diagrams, or long documents.</div>
    <div>If your work is genuinely multimodal, its range is a real draw.</div>
  </ST>

  <ST label="Tradeoffs:">
    <div>For pure coding it's hard to justify: it scores below Gemini 3.5 Flash while costing more, and it's still a preview.</div>
    <div>Flash is the better pick between the two; for peak coding quality, the frontier models are well ahead.</div>
  </ST>

  <AccessBullets
    rows={[
["App", <span>Available in <a href="https://developers.google.com/gemini-code-assist/docs/gemini-3" target="_blank" rel="noreferrer" className="underline underline-offset-2">Gemini Code Assist</a>.</span>],
["API", <span>Accessible via <a href="https://ai.google.dev/gemini-api/docs" target="_blank" rel="noreferrer" className="underline underline-offset-2">Gemini API</a> and <a href="https://cloud.google.com/vertex-ai/generative-ai/docs/models" target="_blank" rel="noreferrer" className="underline underline-offset-2">Vertex AI</a>.</span>],
]}
  />
</ModelCard>

<ModelCard model={models[10]}>
  <Take>OpenAI's mid-tier GPT-5.6 coder - a deliberate, high-effort option that sits below Sol on our coding spine while costing more than the stronger value picks.</Take>

  <ST label="Strengths:">
    <div>A capable coder for mid-complexity work, with a very large context and a deliberate, self-checking reasoning style that suits carefully-worked problems over fast loops.</div>
    <div>It handles everyday generation and refactors cleanly when you don't need a top-of-table score.</div>
  </ST>

  <ST label="Tradeoffs:">
    <div>It's caught in the middle: GPT-5.6 Sol is far stronger near the top, while cheaper models match or beat Terra's coding for less.</div>
    <div>Its evidence also leans on a single benchmark component, so treat its standing as less settled than the frontier models'.</div>
  </ST>

  <AccessBullets
    rows={[
["App", <span>Available in <a href="https://chatgpt.com/" target="_blank" rel="noreferrer" className="underline underline-offset-2">ChatGPT</a> and <a href="https://developers.openai.com/codex/app" target="_blank" rel="noreferrer" className="underline underline-offset-2">Codex</a>.</span>],
["API", <span>Accessible via <a href="https://developers.openai.com/api/docs/models" target="_blank" rel="noreferrer" className="underline underline-offset-2">OpenAI API</a>.</span>],
]}
  />
</ModelCard>

<ModelCard model={models[11]}>
  <Take>Moonshot's code-specific open-weight model is cheap and purpose-built for programming, with a context that covers most single-repo work rather than sprawling monorepos.</Take>

  <ST label="Strengths:">
    <div>Purpose-tuned for code and priced low, a sensible budget option for straightforward generation and edits. Its context comfortably covers most single-repo tasks, and open weights give you routing and compliance flexibility if you can host it.</div>
    <div>Good value for focused coding work.</div>
  </ST>

  <ST label="Tradeoffs:">
    <div>Its context is smaller than the 1M-token leaders, so big cross-repo sessions won't fit, and it trails GLM-5.2 on quality.</div>
    <div>For stronger open-weight coding, GLM-5.2 is worth the step up; for the cheapest capable option, DeepSeek V4 Pro undercuts it.</div>
  </ST>

  <AccessBullets
    rows={[
["App", <span>Available in <a href="https://www.kimi.com/code" target="_blank" rel="noreferrer" className="underline underline-offset-2">Kimi Code</a>.</span>],
["API", <span>Accessible via <a href="https://platform.moonshot.ai/" target="_blank" rel="noreferrer" className="underline underline-offset-2">Moonshot API</a> and <a href="https://openrouter.ai/models" target="_blank" rel="noreferrer" className="underline underline-offset-2">OpenRouter</a>.</span>],
["Run locally", <span>Open weights are available from <a href="https://huggingface.co/moonshotai/Kimi-K2.7-Code" target="_blank" rel="noreferrer" className="underline underline-offset-2">Hugging Face</a>, but in practice this needs self-hosting infrastructure, not a local machine.</span>],
]}
  />
</ModelCard>

<ModelCard model={models[12]}>
  <Take>The value champion here - unusually cheap for its coding quality, with a huge context, though you reach it through an API, not an app.</Take>

  <ST label="Strengths:">
    <div>By far the cheapest capable coder here, and it pairs that with a very large context - so for high-volume, cost-sensitive coding it's hard to beat on price per useful output.</div>
    <div>Open weights add routing and compliance flexibility for teams that can host it.</div>
  </ST>

  <ST label="Tradeoffs:">
    <div>It's too large to run locally despite open weights, so you're on a hosted API in practice, and there's no first-party app to wire it in for you.</div>
    <div>On quality it sits below the leaders - a value play, not a frontier one.</div>
  </ST>

  <AccessBullets
    rows={[
["API", <span>Accessible via <a href="https://api-docs.deepseek.com/quick_start/pricing" target="_blank" rel="noreferrer" className="underline underline-offset-2">DeepSeek API</a> and <a href="https://openrouter.ai/models" target="_blank" rel="noreferrer" className="underline underline-offset-2">OpenRouter</a>.</span>],
["Run locally", <span>Open weights are available from <a href="https://huggingface.co/deepseek-ai/DeepSeek-V4-Pro" target="_blank" rel="noreferrer" className="underline underline-offset-2">Hugging Face</a>, but in practice this needs self-hosting infrastructure, not a local machine.</span>],
]}
  />
</ModelCard>

<ModelCard model={models[13]}>
  <Take>A pick you can run yourself - offline on a high-end machine after quantization, trading a real quality drop for privacy and no per-token cost.</Take>

  <ST label="Strengths:">
    <div>One of only two models here you can realistically run on your own hardware.</div>
    <div>On a high-end machine with quantization you get offline use, privacy, and no per-token cost - good for private, low-stakes coding help, learning, and experimentation without sending code to a provider.</div>
  </ST>

  <ST label="Tradeoffs:">
    <div>Its score is near the bottom, so expect struggles past simple, well-scoped tasks - it's not a serious agent or refactoring model.</div>
    <div>And "local" still means a high-memory machine, not an average laptop. If you can use the cloud, options above it are more capable.</div>
  </ST>

  <AccessBullets
    rows={[
["API", <span>Accessible via <a href="https://ai.google.dev/gemma/docs/core/gemma_on_gemini_api" target="_blank" rel="noreferrer" className="underline underline-offset-2">Gemini API</a> and <a href="https://openrouter.ai/google/gemma-4-31b-it" target="_blank" rel="noreferrer" className="underline underline-offset-2">OpenRouter</a>.</span>],
["Run locally", <span>If you have a high-end machine, you can run it with <a href="https://ollama.com/library/gemma4" target="_blank" rel="noreferrer" className="underline underline-offset-2">Ollama or LM Studio</a> after downloading weights from <a href="https://huggingface.co/google/gemma-4-31B" target="_blank" rel="noreferrer" className="underline underline-offset-2">Hugging Face</a>.</span>],
]}
  />
</ModelCard>

<ModelCard model={models[14]}>
  <Take>The pick if you want to actually self-host a coding model and have a high-end GPU, accepting a big quality drop for control and privacy.</Take>

  <ST label="Strengths:">
    <div>The other model here you can run on your own hardware.</div>
    <div>With a high-end GPU and quantization you get full control, offline use, and privacy at no per-token cost - a fit for private experimentation and learning when keeping code off external servers matters most.</div>
  </ST>

  <ST label="Tradeoffs:">
    <div>It has the lowest score here, handling only simple, well-scoped tasks, not agent or refactoring work - and that standing rests on a single benchmark.</div>
    <div>If you can use the cloud, nearly everything above is more capable; for local use, Gemma 4 31B scores higher.</div>
  </ST>

  <AccessBullets
    rows={[
["API", <span>Accessible via <a href="https://www.alibabacloud.com/help/en/model-studio/what-is-model-studio" target="_blank" rel="noreferrer" className="underline underline-offset-2">Alibaba Cloud Model Studio</a> and <a href="https://openrouter.ai/models" target="_blank" rel="noreferrer" className="underline underline-offset-2">OpenRouter</a>.</span>],
["Run locally", <span>If you have a high-end machine, you can run it with <a href="https://ollama.com/library/qwen3.5" target="_blank" rel="noreferrer" className="underline underline-offset-2">Ollama or LM Studio</a> after downloading weights from <a href="https://huggingface.co/Qwen/Qwen3.5-27B" target="_blank" rel="noreferrer" className="underline underline-offset-2">Hugging Face</a>.</span>],
]}
  />
</ModelCard>

***

## How to Choose

When choosing between these models, consider:

* **Access:** First decide whether you'll use the model in an app, call it through an API, or run it locally. That choice drives cost, privacy, latency, and setup work more than small score differences do. For proprietary models, local isn't an option; only Gemma 4 31B and Qwen3.5 27B are realistic self-run picks, and both need a high-memory machine.
* **Quality:** Our score is a normalized average of Code Arena's WebDev Overall (blind human preference on web-app output) and the Artificial Analysis Coding Index (Terminal-Bench and SciCode, usually at high reasoning effort). Treat it as a comparison spine across models, not universal coding truth - a model can top it and still lose on your specific stack.
* **Price:** We use blended API cost per 1M tokens at a 3:1 input-to-output ratio for the cleanest comparison. App subscriptions and self-hosting change the real math, so read this as a relative yardstick.
* **Context Window:** This is the maximum input a model accepts, not a promise it stays sharp across the whole window. Long-session reliability varies, so a bigger number helps but doesn't guarantee coherence on giant repos.

One thing worth clearing up: the model is not the tool. Claude Code, Codex, Cursor, and Copilot are harnesses that run these models, and the same model can feel different depending on the harness around it. This list ranks the models themselves, not the coding tools that wrap them.

***

## Other Models We Considered

<div className="not-prose my-4 flex flex-col gap-1.5 text-sm text-zinc-700 dark:text-zinc-300">
  <Alt icon={"/images/icons/openai.com.png"} name={"GPT-5.5"} dev={"OpenAI"} url={"https://developers.openai.com/api/docs/models/gpt-5.5"}>Still a strong coder, but GPT-5.6 Sol is the better current pick.</Alt>
  <Alt icon={"/images/icons/openai.com.png"} name={"GPT-5.6 Luna"} dev={"OpenAI"} url={"https://developers.openai.com/api/docs/models/gpt-5.6-luna"}>The cheaper GPT-5.6 tier - handy for fast loops, weaker on hard work.</Alt>
  <Alt icon={"/images/icons/anthropic.com.png"} name={"Claude Opus 4.7"} dev={"Anthropic"} url={"https://www.anthropic.com/news/claude-opus-4-7"}>Nearly as good as Opus 4.8, but the newer version wins.</Alt>
  <Alt icon={"/images/icons/openai.com.png"} name={"GPT-5.4"} dev={"OpenAI"} url={"https://developers.openai.com/api/docs/models/gpt-5.4"}>A recognizable older baseline, now clearly behind GPT-5.6.</Alt>
  <Alt icon={"/images/icons/seed.bytedance.com.png"} name={"Seed 2.1 Pro"} dev={"ByteDance"} url={"https://seed.bytedance.com/en/blog/seed-2-1-preview-model-release-on-arena"}>Promising preview coder, but too little confirmed to rank.</Alt>
  <Alt icon={"/images/icons/openai.com.png"} name={"GPT-5.3 Codex"} dev={"OpenAI"} url={"https://developers.openai.com/api/docs/models/gpt-5.3-codex"}>A useful model-versus-harness reminder, now superseded.</Alt>
  <Alt icon={"/images/icons/mimo.xiaomi.com.png"} name={"MiMo-V2.5-Pro"} dev={"Xiaomi"} url={"https://mimo.xiaomi.com/mimo-v2-5-pro"}>Cheap open-weight for long coding runs, but self-hosting only.</Alt>
  <Alt icon={"/images/icons/minimax.io.png"} name={"MiniMax-M3"} dev={"MiniMax"} url={"https://www.minimax.io/models/text/m3"}>Low-cost open-weight option, weaker than the best value picks.</Alt>
  <Alt icon={"/images/icons/qwen.ai.png"} name={"Qwen3-Coder Next"} dev={"Alibaba"} url={"https://huggingface.co/Qwen/Qwen3-Coder-Next"}>A coder-family Qwen, now behind newer, cheaper coders.</Alt>
  <Alt icon={"/images/icons/mistral.ai.png"} name={"Devstral 2"} dev={"Mistral"} url={"https://docs.mistral.ai/models/model-cards/devstral-2-25-12"}>A familiar Mistral coder, now weak and superseded by Medium 3.5.</Alt>
</div>

***

## Frequently Asked Questions

<AccordionGroup>
  <Accordion title={"What's the best LLM for coding right now?"}>
    Claude Fable 5 and GPT-5.6 Sol are the two strongest, sitting together at the top of our score. Fable 5 has the highest ceiling on hard, long-horizon work; Sol matches it while using fewer tokens, which makes it cheaper to run at scale. For most people, though, Claude Sonnet 5 is the smarter default - most of that quality at a fraction of the cost.
  </Accordion>

  <Accordion title={"What's the best coding model for most people?"}>
    Claude Sonnet 5. It lands close to the frontier on everyday coding, runs faster and cheaper than the top models, and is reliable enough to standardize on. Step up to Opus 4.8 or Fable 5 only when a task is genuinely hard.
  </Accordion>

  <Accordion title={"Is Claude better than GPT for coding?"}>
    At the very top they're close: Fable 5 and GPT-5.6 Sol trade the lead depending on the task, so it's more house style than a clear winner. Sol is notably token-efficient; Fable 5 has a slight edge on the hardest problems. Below them, Sonnet 5 and Opus 4.8 are strong Claude value picks, while GPT-5.6 Terra sits mid-pack.
  </Accordion>

  <Accordion title={"What's the best open-weight coding model?"}>
    GLM-5.2. It's the highest-scoring open-weight model here and beats every other open option on coding, at near-budget pricing. Just know that "open weight" doesn't mean "runs on your laptop" - it's too large for that, so in practice you'll call it through a host.
  </Accordion>

  <Accordion title={"What's the best coding model you can run locally?"}>
    Gemma 4 31B, with Qwen3.5 27B as the other option. Both run offline, but only on a high-end, high-memory machine after quantization, and both drop a lot of quality versus the cloud models. They're good for private, low-stakes coding and learning - not serious agent work.
  </Accordion>

  <Accordion title={"What's the difference between a model and a tool like Claude Code or Codex?"}>
    The model is the underlying intelligence; the tool is the harness that feeds it your files, runs commands, and applies edits. Claude Code and Codex are harnesses that run Claude and GPT models. The same model can feel different across harnesses, which is why we rank the models here, not the tools.
  </Accordion>

  <Accordion title={"Do coding benchmarks match real-world use?"}>
    Roughly, at the top. Our score blends blind human preference on web apps with agentic coding tests, which tracks real quality better than any single number. But it's a comparison spine, not a guarantee - a model can top the table and still stumble on your language, framework, or codebase. Trust the ranking to narrow the field, then test your top two on your own work.
  </Accordion>
</AccordionGroup>
