How models perform on this prompt
Claude 3.7 Sonnet
Model answer: I'll extract the Sudoku puzzle from the image and represent it as a 9x9 grid with dots for empty cells. Here's the extracted Sudoku grid: ``` ....48... .6...7..1 7.2.9.5.4 .9.74.3.. ..7.5.8.. .8.96.5.. 9.4.1.7.8 .7...6.4. ....27... ``` Each row contains the visible digits from the puzzle, with dots representing the empty cells. The grid maintains the exact arrangement as shown in the Sudoku puzzle image.
Claude 4 Opus
Model answer: I'll analyze the Sudoku puzzle image and extract the digits, representing empty cells with dots. Looking at the grid from top to bottom, left to right: Row 1: . . . 4 . 8 . . . Row 2: . 6 . . 7 . . 1 . Row 3: 7 . 2 . 9 . 5 . 4 Row 4: . 9 . 7 . 4 . 3 . Row 5: . . 7 . 5 . 8 . . Row 6: . 8 . 9 . 6 . 5 . Row 7: 9 . 4 . 1 . 7 . 8 Row 8: . 7 . . 6 . . 4 . Row 9: . . . 2 . 7 . . . Here's the extracted Sudoku grid: ``` ...4.8... .6..7..1. 7.2.9.5.4 .9.7.4.3. ..7.5.8.. .8.9.6.5. 9.4.1.7.8 .7..6..4. ...2.7... ```
Claude 4 Sonnet
Model answer: Looking at the Sudoku puzzle image, I'll extract the digits row by row from left to right, top to bottom, using dots (.) for empty cells. ``` ...4.8... .6..7...1 7.2.9.5.4 .9.7.4..3 ..7.5.8.. ..8.9.6.5 9..4.1.7.8 .7...6..4 ...2.7... ```
Claude 4.1 Opus
Model answer: Looking at the Sudoku puzzle image, I'll extract the digits row by row from top to bottom, using dots (.) for empty cells. Row 1: . . . 4 . 8 . . . Row 2: . 6 . . 7 . . 1 . Row 3: 7 . 2 . 9 . 5 . 4 Row 4: . 9 . 7 . 4 . 3 . Row 5: . . 7 . 5 . 8 . . Row 6: . 8 . 9 . 6 . 5 . Row 7: 9 . 4 . 1 . 7 . 8 Row 8: . 7 . . 6 . . 4 . Row 9: . . . 2 . 7 . . . Here's the 9x9 grid in text format: ``` ...4.8... .6..7..1. 7.2.9.5.4 .9.7.4.3. ..7.5.8.. .8.9.6.5. 9.4.1.7.8 .7..6..4. ...2.7... ```
Claude 4.6 Opus
Model answer: {"answer": "...4.8...\n.6...7.1.\n7.2..95.4\n.9.7.4.3.\n..7.5.8..\n.8.9.6.5.\n9.4.1.7.8\n.7..6..4.\n...2.7..."}
GPT-5
Model answer: {"answer": "...4.8...\n.6..7...1\n72..9..54\n.9..74..3\n.7..5..8.\n8...96..5\n94.1..7.8\n.7..6..4.\n...2.7..."}
GPT-5 (high reasoning)
Model answer: {"answer": "...4.8...\n.6..7..1.\n72..9.5.4\n.9.7.4.3.\n.7..5..8.\n8..9.6..5\n94.1.7..8\n7...6..4.\n...2.7..."}
GPT-5 Mini
Model answer: {"answer":"...4.8...\n.6..7...1\n7.2.9.5.4\n.9.7.4..3\n.7..5..8.\n8..9.6..5\n94..1.7.8\n.7..6..4.\n...27...."}
GPT-5.1
Model answer: {"answer": "...4.8...\n.6..7..1.\n72..9..54\n.9..74.3.\n.7..5..8.\n8..96..5.\n94.1..7.8\n.7..6..4.\n...2.7..."}
GPT-5.2
Model answer: {"answer":"...4.8...\n.6..7..1.\n7.2.9.5.4\n.9.7.4.3.\n..7.5.8..\n.8.9.6.5.\n9.4.1.7.8\n.7..6..4.\n...2.7..."}
Gemini 2.0 Flash
Model answer: { "answer": "..4.8.\n.6.7.1.\n7.2.9.5.4\n.9.7.4.3.\n..7.5.8..\n.8.9.6.5.\n9.4.1.7.8\n.7.6.4.\n..2.7.." }
Gemini 2.5 Pro
Model answer: { "answer": "...4.8...\n.6..7..1.\n7.2.9.5.4\n.9.7.4.3.\n..7.5.8..\n.8.9.6.5.\n9.4.1.7.8\n.7..6..4.\n...2.7..." }
Gemini 3 Flash
Model answer: { "answer": "...4.8...\n.6..7..1.\n7.2.9.5.4\n.9.7.4.3.\n..7.5.8..\n.8.9.6.5.\n9.4.1.7.8\n.7..6..4.\n...2.7..." }
Gemini 3 Flash (Tools)
Model answer: {"answer": "...4.8...\n.6..7..1.\n7.2.9.5.4\n.9.7.4.3.\n..7.5.8..\n.8.9.6.5.\n9.4.1.7.8\n.7..6..4.\n...2.7..."}
Gemini 3 Pro Preview
Model answer: { "answer": "...4.8...\n.6..7..1.\n7.2.9.5.4\n.9.7.4.3.\n..7.5.8..\n.8.9.6.5.\n9.4.1.7.8\n.7..6..4.\n...2.7..." }
Llama 4 Maverick 17B
Model answer: To solve this task, we need to analyze the given Sudoku grid and extract the digits into a 9x9 text format grid. The given Sudoku grid is: ``` 4 8 6 7 1 7 2 9 5 4 9 7 4 3 7 5 8 8 9 6 5 9 4 1 7 8 7 6 4 2 7 ``` Let's fill in the missing values with a dot (.) to represent empty cells. 1. First row: `.4.8.` -> `.4.8.` ( missing values are represented by dots) Actual first row: `.4.8.` 2. Second row: `6.7.1` -> `6.7.1.` Actual second row: `6.7.1` 3. Third row: `72.954` -> `72.954` Actual third row: `72.954` 4. Fourth row: `.97.43.` -> `.97.43.` Actual fourth row: `.97.43.` 5. Fifth row: `.75.8.` -> `.75.8.` Actual fifth row: `.75.8.` 6. Sixth row: `.89.65.` -> `.89.65.` Actual sixth row: `.89.65.` 7. Seventh row: `94.17.8` -> `94.17.8` Actual seventh row: `94.17.8` 8. Eighth row: `.76.4.` -> `.76.4.` Actual eighth row: `.76.4.` 9. Ninth row: `..2.7..` -> `..2.7..` Actual ninth row: `..2.7..` Now, let's put these rows together to form the 9x9 grid in text format. The final answer is: ``` .4.8. 6.7.1 72.954 .97.43. .75.8. .89.65. 94.17.8 .76.4. ..2.7.. ```
Llama 4 Scout 17B
Model answer: Here is the detected and extracted digits from the Sudoku board as a 9x9 grid in text format: ``` 4.8..... 6.7...1.. 7.2.9.5.4 ....9..7.4.3 .....7.5.8. 8....9...6.5 9...4.1.7.8 .....7.6..4. .....2...7. ```
Mistral Medium 3
Model answer: Here is the extracted Sudoku grid with empty cells represented by dots: ``` . . 4 8 . . . . . 6 . . 7 . 1 . . . 7 2 . 9 . 5 . 4 . . 9 . 7 4 . 3 . . . . 7 . 5 8 . . . 8 . 9 . 6 . 5 . . 9 4 . 1 . 7 8 . . 7 . . 6 . 4 . . . . 2 . 7 . . . . . ``` This grid accurately represents the numbers and empty cells from the Sudoku puzzle in the image.
OpenAI O1
Model answer: {"answer": "...4.8...\n6..7..1..\n72.9.5..4\n97...4..3\n...758...\n89.6....5\n9417....8\n7..6..4..\n.27......"}
OpenAI O4 Mini (High Reasoning)
Model answer: {"answer":"...4.8...\n.6..7..1.\n72..9.5.4\n..9.74..3\n.7..5.8..\n8...965..\n941...7.8\n.7..6..4.\n.2..7...."}
OpenAI O4 Mini (Medium Reasoning)
Model answer: {"answer":"...4.8...\n..6.7..1.\n7.2..95.4\n.9..743..\n..7..58..\n8...96.5.\n9.41.78..\n.7..6..4.\n...2.7..."}
Arcee.ai Spotlight
Model answer: Here is the Sudoku grid with digits extracted and empty cells represented by dots (.): ``` . . . 4 8 . . . . 6 . . 7 . . 1 . . 7 2 9 5 4 . 4 . . 9 7 4 3 . . . . . . 7 5 8 . . . . . 8 9 6 5 . . . . . 9 4 1 7 8 . . . . 7 . 6 . 4 . . . . . 2 7 . . . . . . ```
ChatGPT-4o (High Reasoning)
Model answer: { "answer": [ "...4.8...", ".6.7...1.", "72.9.5.4.", ".97.4..3.", "..7.5.8..", ".89.6.5..", "941.7.8..", "7..6..4..", "..2.7...." ] }
ChatGPT-4o (Medium Reasoning)
Model answer: { "answer": [ "...4.8...", ".6.7..1..", "72.9.5.4.", ".97.4..3.", "..7.5.8..", ".89.6.5..", "941.7.8..", "7..6..4..", "..2.7...." ] }
Claude 3.5 Haiku
Model answer: Here's the Sudoku grid extracted from the image, using dots (.) for empty cells: ..64.8... .6..7..1. 7.2.9.544 .9.7.4.3. ..7.5.8.. .8.9.6.5. .94.1.78. .7.6...4. .2.7.....
Cohere Aya Vision 32B
Model answer: ``` 4 . . 8 1 . . . . . . 6 7 . . . . . . 7 . 2 9 5 . . . . . . . . . . . . . . 8 . . . . . 9 . . . 6 . . 1 . . . 9 . . 4 . . 3 . . . 7 . . . . . 8 . . . 5 . . 4 . . . ```
Cohere Aya Vision 8B
Model answer: 4 7 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GPT-4.1
Model answer: { "answer": [ "...4.8...", ".6..7..1.", "72.9.5.4.", "9.7.4..3.", "..7.5.8..", ".89.6.5..", "941.7.8..", ".7..6..4.", "..2.7...." ] }
GPT-4.1 Mini
Model answer: { "answer": [ "..4.8....", ".6..7..1.", "7.29.5.4.", ".9.7.4.3.", ".7.5.8...", "89.96.5..", "9.4.1.78.", ".7..6..4.", "..2.7...." ] }
GPT-4.1 Nano
Model answer: { "answer": "2.3.8.6.7.1.9.2\n7.6.2.9.5.4.\n9.2.7.4.3.8.1\n8.9.7.5.6.2.3\n3.8.9.6.1.4.7\n4.1.2.3.7.9.8\n5.4.1.2.8.7.6\n6.7.3.1.2.5.9\n1.5.4.8.9.3.2" }
GPT-5 Nano
Model answer: {"answer": "I’m not able to reliably read all digits from this image due to its resolution. Could you provide a higher-resolution crop of just the Sudoku grid (or zoom in on the grid area)? Once I can clearly see each cell, I’ll output the 9x9 grid as requested."}
Gemini 2.0 Flash Lite
Model answer: { "answer": "....4.8....6..7.1.72.954..9.74.3..7.5.8..8.965.94.178..7.6.4...2.7...." }
Gemini 2.5 Flash
Model answer: {"answer": "...4.8... ..6.7..1. 7.2.9.5.4 ..97.4.3. ...75.8.. ..8.9.6.5 9.4.1.7.8 ..7.6..4. ...2.7..."}
Gemini 2.5 Flash Lite
Model answer: {"answer": "..4.8....6....7....1.7.2.9.5.4.9.7.4.3....7.5.8.......9.6.5.9.4.1.7.8.7...6..4..2.7.."}
Gemma 3 27b
Model answer: ``` ....4..8.. ..6.4.7.1 7.2.9..5.4 .9..7.4.3 ..7.5.8.. .8.9..6.5 9.4..1..78 ..7..6.4. .2.7.... ```
Gemma 3 4B
Model answer: ```python def extract_sudoku_grid(image): """ Detects and extracts digits from a Sudoku puzzle image. Args: image: A PIL Image object representing the Sudoku puzzle. Returns: A string representing the 9x9 Sudoku grid in text format, where each row is a string of 9 characters. """ grid = [] for i in range(9): row = "" for j in range(9): pixel_value = image.getpixel((j, 8 - i)) # Image coordinates are (x, y) if pixel_value[0] > 190: # Check if the pixel is dark enough to be a digit digit = pixel_value[0] - 220 row += str(digit) else: row += "." grid.append(row) return "\n".join(grid) # Example usage (assuming you have the image loaded as 'image'): # from PIL import Image # image = Image.open("sudoku.png") # sudoku_grid = extract_sudoku_grid(image) # print(sudoku_grid) ``` **Explanation:** 1. **`extract_sudoku_grid(image)` function:** - Takes a `PIL Image` object (`image`) as input. - Initializes an empty list `grid` to store the rows of the Sudoku grid. - Iterates through rows (outer loop) and columns (inner loop) to build the grid. - **Pixel Retrieval:** `image.getpixel((j, 8 - i))` retrieves the color value of the pixel at column `j` and row `8 - i`. This is because the `y` coordinate in an image starts at 0 at the top, but the Sudoku grid has the top row at `y=0`. Subtracting `i` from 8 maps the row index `i` to the corresponding `y` coordinate. - **Digit Detection:** - `if pixel_value[0] > 190:`: This condition checks if the pixel's RGB value (stored as a tuple `pixel_value`) is dark enough to represent a digit.
Mistral Small 3.1 24B
Model answer: Let's extract the digits from the Sudoku puzzle given in the image. Here's the 9x9 text representation of the Sudoku grid, where empty cells are represented by a dot (.): ``` 48....1. .27...4. 97..5.3. .7..8.5. ..96...7 41.7...4 .5.....8 6.5.1.... .2.6.4.7 ``` In this representation, a dot (.) indicates an empty cell. This representation assumes the correct order from top-left to bottom-right of the board. Make sure this matches the original structure of the Sudoku puzzle you provided. If there is any discrepancy, please clarify or provide more details.
OpenAI O3 (High Reasoning)
Model answer: {"answer": "....48...\n.6..7..1.\n7.2.9.5.4\n.9..74..3\n....5..8.\n8..9.6.5.\n94..1.7.8\n.7..6..4.\n.2.....7."}
OpenAI O3 (Medium Reasoning)
Model answer: {"answer": "...4.8...\n.6..7..1.\n72..9.5.4\n.9.7.4.3.\n....5..8.\n8..9.6.5.\n94..1.7.8\n..7.6..4.\n2........"}
Phi 4 Multimodal
Model answer: . . . . . . 4 8 . . . 1 . 62844. . 7 65. 9.
Qwen 2.5 VL 7B
Model answer: Here's the Sudoku grid with the digits extracted and represented in a 9x9 grid format: ``` . . . 4 8 . . 1 . 6 . . 7 . . . 5 . 7 2 9 5 4 . 1 . 9 . 7 4 3 . . . 7 5 8 . . 8 9 6 5 . 9 4 1 7 8 . 7 . 6 4 . 2 7 . . . ```