
I looked up sudoku online. First tap was a video. The second wanted an account before the grid would stay. Hint opened a weekly plan.
I wanted the other thing. A unique board in this tab, with pencil marks on the first screen. A hint that says why a cell is a 7. I built the sudoku page that does that. Then it stops.
I ranked this seventeenth out of 1,754. Score 9.3. About eighteen hours on the card. A lot of that was the uniqueness check. The rest was how I label Easy and Expert. The label names the move. I don't hide a private score behind the label. I wouldn't ship a grid with two answers. And I wouldn't stamp Hard on a puzzle just because a private score said so.
I Wanted the Next Grid
Usually it's a break. Sometimes it's the same date as a friend. You've got a few minutes and you want one board. Then maybe another.
Search for sudoku online and you get a wall. A pre-roll. A continue button that starts a video. Then, if you wait long enough, a hint that costs coins.
A hint pack is selling something else. I wanted the next grid.
I wanted the next grid. I didn't want a weekly plan.
You fill a cell. You ask why that cell is a 7. Then you close the tab. That's the whole visit.
Rank 17 of 1,754
I ranked this seventeenth out of 1,754, score 9.3, about eighteen hours. The card said unlimited sudoku and four difficulties. Pencil marks too. It also said you skip ads and an account.
The games pile on that list also has a later solitaire idea. You already know how sudoku works. You just don't want the extras the big sites hang on a fresh board.
Bing put "sudoku online" first when I typed just sudoku. The phrase sudoku itself returned 25 completions. The list had "sudoku nyt" and "sudoku 247". "sudoku kingdom online" was in there too. I didn't buy a volume number behind those. I have the completion count from the ranking pass.
sudoku daily challenge returned 10 completions, including "sudoku daily challenge no ads". That last one is the page I wanted.
Reddit is where I saw the same ask. A competing app on r/droidappshowcase sold itself with "No ads, no tracking, no account required, everything runs and stays on the device." I wanted that as a page you can open in a tab.
The Listing I Looked Up Today
Sudoku.com sits on the App Store as Sudoku.com Number Games, id 1193508329. I looked it up in this sitting. Average 4.76. 1,851,483 ratings. The ranking file still said 1,850,235.
That's one listing. I measured 1,851,483 today. Yours will differ.
The ranking write-up said that listing sells hint packs and puts a video in front of continue. I didn't sit through that app tonight. I have the write-up, and I have the live rating count.
NYT Sudoku sits behind the NYT Games subscription. 247sudoku.com was listed as a heavy banner and video load. Those are public apps. I didn't open them tonight to write this.
| What you open | What the ranking file said you pay | What this page does |
|---|---|---|
| Sudoku.com | Hint packs and a video to continue | Hint is a button. It stays free. |
| NYT Sudoku | The Games subscription | Daily is a UTC date. You don't sign in. |
| 247sudoku.com | Banner and video around the grid | The grid is the first thing on the page. |
Four Difficulties, One Method
A clue count alone is a weak label. Two 30-clue grids can ask for very different work. This page names a puzzle by the hardest named move that finishes it.
Easy is naked singles only. Usually 42 to 54 given cells. Medium needs hidden singles after those run out. Usually 32 to 41. Hard needs a naked pair or a pointing move. Usually 26 to 31. Expert is still unique, and those named beginner moves don't finish it. Usually 22 to 25.
Those bands sit next to the technique rule so you can see both. If a seed can't make that level, the page says so and you can try again.
I wrote the method on the page. I didn't hide a score behind "hard".
| Label | Hardest named move that finishes it | Usual given cells |
|---|---|---|
| Easy | Naked singles | 42 to 54 |
| Medium | Hidden singles | 32 to 41 |
| Hard | Naked pair or pointing | 26 to 31 |
| Expert | Unique, named beginner moves run out | 22 to 25 |
Unique or It Doesn't Ship
Sudoku is a public domain puzzle. Nobody owns the rules. A grid with two answers still gets sold as a puzzle, and that's the thing that breaks it.
A thread on r/sudoku, score 488, was someone who printed their own booklet because they couldn't find a small enough book. The top correction said the first puzzle was unsolvable. I keep that thread in my head when I'm tempted to skip a check. That's why uniqueness runs before you see a board.
The generator fills a complete grid and carves cells. Then it counts solutions, with a limit of two. One solution ships. Two or zero get thrown away. I'd rather toss a board than let you play a broken one. A pasted share link that isn't unique gets rejected, with a line that says so.
I didn't pull in someone else's sudoku package. The ranking card pointed at robatron/sudoku.js, MIT, 495 stars. I left it on the shelf. I wanted uniqueness and named techniques in tests I own. A package that only prints a finished grid would hide the two-answer case.
The tests use a known unique 81-cell string as a fixture when they check share links. Empty cells are zeros. The share path has to carry that string. It can't carry the solution sitting next to it in memory.
Pencil Marks on the First Screen
The ranking write-up said difficulty and pencil marks have to be on the first load. I kept that. Notes is a button under the grid. You don't have to hunt a settings drawer after the third puzzle to find it.
Auto notes is a checkbox, off when you arrive. Turn it on and empty cells get the candidates that are still legal. Turn it off and those marks clear. Your own notes from the pad stay only if you wrote them with Notes on.
Highlight conflicts is on by default in the saved settings. A clash in a row or a column goes red. A box clash does too. You can turn that off if you want to sit with a mistake. I left it on. I hit that clash a lot and I want it marked.
A Hint That Talks
Hint looks at the current board. If a cell has one candidate, it says naked single and fills it. If a digit has one seat in a row or a column, it says hidden single. Same for a box. A naked pair or a pointing move gets named the same way.
When those run out, it tells you it's using the unique solution. It doesn't invent a fancier name I didn't implement. I wanted it to name the move. Coins stay off the hint button.
The clock keeps running. A hint that pauses the clock pretends you were faster. I left the clock alone. The result card shows how many hints you used. A three minute expert with four hints isn't the same run as a three minute expert with none.
Undo walks back a fill or a note. It also walks back a hint. Pencil marks are a toggle on the pad. Auto notes is a setting, off by default, and it only writes candidates for empty cells.
Press Learn if you have never filled a grid. It starts with the goal, lights the given numbers, then one row, one column, and one box. After that it picks an empty cell and shows which digits that cell's houses already used. Gold cells are the ones that step is talking about. The clock pauses while Learn is open.
Daily Is a Date
Daily is medium, seeded from the UTC calendar date. A friend in another timezone still gets the same board that calendar day. The seed is daily:YYYY-MM-DD. I checked 03:00 UTC and 23:00 UTC on 2026-09-08. Both return 2026-09-08.
I didn't add a feed. I didn't put a streak on a server. Close the tab and the board is still in this browser until you clear it.
Share copies a link with the date, or with the 81 givens for a random puzzle. The page shows a short preview. Copy share link puts the full URL on the clipboard. The solution isn't in that URL. Share hands someone the start. The finished grid stays here.
A daily link looks like /tools/sudoku?d=2026-09-08. A random share looks like /tools/sudoku?p= plus eighty-one digits. Those digits are the givens. Empty cells are zeros. The page truncates that line so the hash doesn't blow the layout. The full string still copies.
The preview sits on the page before you finish. I wanted you to see a share line while you still have empty cells. Then you can invite someone into the same start. Your filled board stays here.
The Board Stays Until You Clear It
The current game writes to this browser. Close the tab, open it later, and an unfinished board comes back. A finished one doesn't. Daily and a pasted share win over that saved game, because those are what you asked for in the address bar.
Clear saved game wipes the board and the two checkboxes. It starts a new easy grid. I didn't add an account just so Clear would have a server to talk to.
Private mode can refuse localStorage. The page still plays. You just lose the resume. That's fine. A lost board is cheaper than a login.
Time Only Means Something Next to Hints
The timer counts time while the game is running. Pause stops the clock and records that you paused. Resume starts it again.
I didn't add a global list. I'm not ranking you against strangers. I wouldn't know what to do with those times anyway. The result card prints the clock and the hint count. Pause count sits next to those. Compare two times only when those other two numbers match.
Mixpanel gets a time band and a hint band. The bands are under_2m, 2_5m, 5_15m, 15m_plus, and 0, 1, 2-4, 5+. It doesn't get the digits.
What Mixpanel Gets
Softery.io loads Mixpanel and Google Analytics on every page, including this one. Those calls never get the grid.
The events send a difficulty name. They also say whether the run was random or daily. Shared too. Time band and hint band go out. So does a flag for whether you paused. The 81 cells stay out. So does the share string. A screenshot of the board stays out too.
If you want less of that, block the scripts. The grid stays. I'm not going to pretend Mixpanel is off. The site analytics are on. The grid isn't in them.
Keys, the Phone Pad, Thicker Boxes, and Cancel
Arrow keys move the selection. Digits 1 to 9 fill. Backspace and Delete erase. So does 0. N toggles notes. U undoes, and H asks for a hint. Command-Z and Control-Z undo as well.
On a phone the pad under the grid does the same work. The cells are square. The 3x3 boxes get a thicker line.
A new expert grid can take a moment. The page says it's building a unique grid. It names the phase so you can see if it's still filling, or if it has moved on to carving or classifying. Cancel stops that work. I put Cancel there because staring at a spinner with no way out is rude. If the worker is missing, the same generator runs on the main thread. I tested that path in jsdom, where Worker is undefined.
What I Left Off
I skipped hint packs. I skipped an ad between two puzzles. If a grid has two answers, it doesn't ship.
I still don't want a public leaderboard. I wouldn't know what those times mean. I skipped the email box for a streak too. Share doesn't include the solution. The download card doesn't print it either.
Site analytics stay on. The grid stays out of them. I didn't add an account so a saved board would have a server. I left robatron/sudoku.js on the shelf because I wanted the uniqueness check in tests I own.
A hint names the move and leaves the clock running. I didn't put coins on that button.
After One Round
When the last cell is valid, you get the clock and the hint count. Pause count is on that card too. You can copy the share link. You can download a card that says the time and the hint count. The card doesn't print the solution. I thought about putting the finished grid on that card. That's how a lot of these pages work, and it's also how a solved board ends up in a screenshot you didn't mean to send.
If you want another game in this tab, Wheel Spinner and Random Name Picker are already live. I won't point you at a solitaire page that is still a 404.
The catalog is on free tools.
Open the Grid
- Open Sudoku Online.
- Start on Easy, or press Daily if you want the shared seed.
- Tap a cell. Type a digit, or turn Notes on and mark candidates.
- Press Learn if the digits don't mean anything yet. Press Hint when you want the technique named. Press Undo if that was too much.
- Copy the share link if you want a friend on the same givens. The solution stays here.
If a shared link isn't a unique sudoku, the page says so. Try New Puzzle. Don't paste a random 81-character string and expect a fair board.
Last updated: September 8, 2026 | Reading time: 11 minutes
Written by Evgeniy Poznyak, who would rather read a named hint than buy a hint pack.