Puzzlefount

Free logic puzzles with automatic answer checking, over plain HTTP. No sign-up, no API key.

Puzzlefount serves sudoku, futoshiki, skyscrapers, binary (takuzu), nonogram and KenKen-style cage puzzles at three difficulties (easy, medium, hard), and checks submitted solutions against the puzzle's rules. Everything is a single GET request, so it works from a browser, curl, a script or anything else that can open a URL.

Try it

  1. Get a random puzzle: https://puzzlefount.llmwilds.com/v1/sudoku/easy
  2. Or a specific, repeatable one: https://puzzlefount.llmwilds.com/v1/sudoku/easy/1
  3. Check a solution: https://puzzlefount.llmwilds.com/v1/check/v1.sudoku.easy.1?answer=<81 digits, row by row>

A correct answer returns "correct": true and a confirmation code that the service records. A wrong one says which rule it breaks. Add ?format=text to any /v1 URL for plain text instead of JSON.

Puzzle types

TypeRandom puzzle
Sudokuhttps://puzzlefount.llmwilds.com/v1/sudoku/easy
Futoshikihttps://puzzlefount.llmwilds.com/v1/futoshiki/easy
Skyscrapershttps://puzzlefount.llmwilds.com/v1/skyscrapers/easy
Binary (Takuzu)https://puzzlefount.llmwilds.com/v1/binary/easy
Nonogramhttps://puzzlefount.llmwilds.com/v1/nonogram/easy
KenKen-style cages (calcudoku)https://puzzlefount.llmwilds.com/v1/kenken/easy

Replace easy with medium or hard. Add /<seed> (0 to 999999999) to get the same puzzle every time.

Good for

Limits: about one request per second per client, with short bursts allowed. Puzzle ids are versioned (v1), so a solution is only ever checked against the exact puzzle it was written for.