AI Model Comparison

Best AI Model for

Return Only JSON

technical · Tested 2026-09

The Verdict

  • We ran it twice, no format options.
  • Ask casually: Mistral and Nova open with “Certainly!”, four more fence it, only 5 of 11 are clean.
  • Add “return ONLY JSON, no markdown”: 0 preambles, 9 of 11 clean.
  • The preamble isn’t gone, it’s dormant. Stop policing and half revert.
  • GPT-5.6 Sol, Gemini 3.1 Pro, Grok 4.3, and Qwen3 235B were clean both ways.
Variation 1

The Casual Ask

How most people actually prompt: name the keys, but drop the ONLY and the no-markdown rules. Do the old manners come back?

The Prompt

Return a valid JSON object with these keys: name (string), age (number), active (boolean)
Quality Winner: GPT-5.6 Sol
Best Value: Qwen3 235B
Fastest: Qwen3 235B

GPT-5.6 Sol

Quality
{"name":"Alex","age":30,"active":true}
Clean Raw JSON

Claude Opus 5

```json
{
  "name": "Alice Johnson",
  "age": 32,
  "active": true
}
```
Not Raw JSON

Gemini 3.1 Pro

{
  "name": "Jane Doe",
  "age": 28,
  "active": true
}
Clean Raw JSON

Grok 4.3

{
  "name": "Alice",
  "age": 30,
  "active": true
}
Clean Raw JSON

DeepSeek V3

```json
{
  "name": "John Doe",
  "age": 30,
  "active": true
}
```
Not Raw JSON

Qwen3 235B

Value
{
  "name": "Alice",
  "age": 30,
  "active": true
}
Clean Raw JSON

Llama 4 Maverick

```json
{
  "name": "John Doe",
  "age": 30,
  "active": true
}
```
Not Raw JSON

Mistral Large 3

Here is a valid JSON object with the requested keys:

```json
{
  "name": "John Doe",
  "age": 30,
  "active": true
}
```

You can customize the values as needed. For example:
- `name`: Any string (e.g., `"Alice"`).
- `age`: Any number (e.g., `25`).
- `active`: Either `true` or `false`.
Not Raw JSON

Nova Pro

Certainly! Below is a valid JSON object with the specified keys: `name` (string), `age` (number), and `active` (boolean).

```json
{
  "name": "John Doe",
  "age": 30,
  "active": true
}
```

Here's a brief explanation of each key:
- `"name": "John Doe"`: The `name` key holds a string value.
- `"age": 30`: The `age` key holds a number value.
- `"active": true`: The `active` key holds a boolean value.
Not Raw JSON

Nemotron 12B

{
  "name": "<THE_PERSONS_NAME>",
  "age": <PERSONS_AGE>,
  "active": <TRUE or FALSE>
}
Clean Raw JSON

Kimi K2.5

 ```json
{
  "name": "Alex",
  "age": 28,
  "active": true
}
```
Not Raw JSON

The Take

  • Drop one sentence and the habits come back.
  • Mistral and Nova open with “Here is a valid JSON object…” and “Certainly!”
  • Claude Opus 5, DeepSeek, Llama, and Kimi wrap theirs in a fence.
  • 5 of 11 hand back a bare object. Nemotron’s is clean but uses placeholder values.
Variation 2

The Hard Ask

Now push hard: the same keys, but explicitly forbid explanations, markdown, and code fences. Maximum instruction. Do they fall into line?

The Prompt

Return ONLY a valid JSON object with these keys: name (string), age (number), active (boolean). Do not include any explanation, greeting, markdown, or code fences. Output nothing but the raw JSON object.
Quality Winner: GPT-5.6 Sol
Best Value: Qwen3 235B
Fastest: Llama 4 Maverick

GPT-5.6 Sol

Quality
{"name":"Alex","age":30,"active":true}
Clean Raw JSON

Claude Opus 5

{"name": "John Doe", "age": 30, "active": true}
Clean Raw JSON

Gemini 3.1 Pro

{
  "name": "John Doe",
  "age": 30,
  "active": true
}
Clean Raw JSON

Grok 4.3

{"name":"Alice","age":25,"active":true}
Clean Raw JSON

DeepSeek V3

{"name": "John Doe", "age": 30, "active": true}
Clean Raw JSON

Qwen3 235B

Value
{"name": "John Doe", "age": 35, "active": true}
Clean Raw JSON

Llama 4 Maverick

Speed
{"name": "John Doe", "age": 30, "active": true}
Clean Raw JSON

Mistral Large 3

```json
{
  "name": "John Doe",
  "age": 30,
  "active": true
}
```
Not Raw JSON

Nova Pro

{
  "name": "John Doe",
  "age": 30,
  "active": true
}
Clean Raw JSON

Nemotron 12B

```json
{
  "name": "John Doe",
  "age": 30,
  "active": true
}
```
Not Raw JSON

Kimi K2.5

 {"name": "Alex", "age": 28, "active": true}
Clean Raw JSON

The Take

  • Told firmly, they behave. 9 of 11 return raw JSON, 0 preambles.
  • Only Mistral Large 3 and Nemotron still fence it, and the JSON inside is valid.
  • One extra sentence moves compliance from 5 to 9.

Try this comparison in AI Lab

See the full comparison, test your own prompts, and compare any models you want. No commitment on the monthly plan.

Models We Didn't Test

—

Reasoning variants (o3, R1, Grok reasoning): Excluded to keep this a fast one-shot snapshot of chat models; reasoning models add latency without changing formatting behavior.

Are you a model provider? Don't see your model here? Get in touch — we'll evaluate it for AI Lab integration.