“Which is the best chess tactics trainer” is the wrong question, and it is the wrong question in an interesting way. It sounds like a question about products. It is really a question about specification: what does a trainer have to do before it can make you stronger, rather than just keep you occupied for twenty minutes a day?
I have an unusual angle on this. I trained tactics hard on my way from around 2300 to nearly 2600, and then spent two years building a trainer, which means I have both used these things badly and watched thousands of other people use them badly. The failure is remarkably consistent. People solve for months, the count climbs into five figures, and nothing happens to their chess.
So here is the specification, in the order that matters.
It has to explain the miss, not just mark it
This is first because it is the one almost nothing does, and the one that separates training from a quiz.
You play a move. It loses. What happens next decides whether that puzzle taught you anything. A red cross and the correct line tells you what you failed to find. That is a small lesson. What you actually need is the refutation of the move you played, because that shows you what you failed to look at, and the thing you failed to look at is the hole in your calculation that will cost you a real game on Thursday.

That is why Chess.PhD runs a full Stockfish engine on the device rather than calling a server. Play a losing move, tap Why, and it plays out the exact line that punishes you, move by move. Solve it cleanly instead and you can step through the winning continuation to the end, because the key move is usually only half the idea.
And because the engine is on the phone, all of it works with no signal at all. On a plane, on the Underground, in a cottage with terrible wifi. The analysis does not stop when the bars do.
The difficulty has to sit at the edge of your ability
You improve in a narrow band, roughly where you solve three out of four. Above that you are revising. Below about half you stop calculating and start guessing, and guessing is a skill you do not want to practise.
Almost nobody picks that band correctly for themselves. Left alone we drift toward comfort, because a long green streak feels like progress and being stuck feels like failure. So the trainer has to hold the dial for you.
Ours reads your rating from a short calibration and your first solves, then aims each position at that level, tightening when you win a run and easing off when you miss. The scale runs from 400 to 2700, so it works for someone who learned the moves last month and for someone chasing a title. If you would rather drive, there are five manual steps from minus 300 to plus 300 rating points.

The library has to be deep at your rating, not just large
A headline number means nothing on its own. What matters is how many positions exist at your exact level, in the theme you need, that you have not already seen. A trainer that recycles Tuesday’s puzzles on Friday is not testing you, it is testing your memory.
Five million positions is the number behind our adaptive mode, and the reason it can stay narrow. Depth at a rating band is what lets the selector be fussy instead of scraping whatever is left.
Themes fine enough to drill one idea for a whole session
“Do more puzzles” is advice shaped like a plan. “Do fifty deflection puzzles because you keep walking into deflection” is an actual plan.
That needs proper tagging, and it needs per-theme accuracy so you can find the leak in the first place. Chess.PhD splits tactics into 62 themes across motifs, mates and endgames, each with its own score. Forks alone hold 649,000 positions. There are pins, skewers, discovered attacks, deflection, back-rank and smothered mates, mate in 1 through mate in five, zugzwang, the lot. You can browse the whole pattern library here on the site before you install anything.
The per-theme score is the part people underrate. A respectable overall percentage will hide a 41 percent on one motif for a year. Split it out and your weak spots stop having anywhere to sit.
A rating that can go down
A number that only rises is a progress bar, not a measurement.
Your first thirty puzzles set a real ELO. After that there is a proper stats page: accuracy, positions solved, minutes trained, a rating line by week or month, and a Strengths against Growth Areas split that more or less writes your homework for you. There is a rank ladder from Pawn to King and a daily streak with a couple of freezes, so one bad Tuesday does not torch a month.

Ten minutes to judge any trainer
Open it and run these four checks. They take longer to describe than to do.
Solve ten positions and count. If you got nine or ten, the difficulty is flattering you and the whole session was revision.
Then deliberately play a plausible losing move, and watch what happens. If you get a cross and the right answer, you have a quiz. If you get the punishment for your own move, you have a coach.
Next, try to spend a whole session on one theme. If you cannot filter to a single motif, you cannot ever fix a specific weakness, only hope it comes up.
6
4
c And last, notice when the point gets awarded. Here 1.Ng6+ wins because 1…Kg8 runs into 2.Qh8 mate. Enter the check on a hunch and most trainers congratulate you immediately, which quietly teaches you that hunches work. In a real game nobody hands you a tick for the first move of a sacrifice. Say the whole line out loud before you commit, whatever the trainer lets you get away with.
Who ours is for, and who it is not
It is for someone who trains on a phone, most days, in the gaps: ten minutes on a commute, fifteen before bed. Someone whose real problem is not volume but the same mistake arriving again and again without ever being named.
The honest limits: it is iOS only, and it is not where you play your games. It does one job. There is a longer case for it in the best chess puzzles app for iPhone, and the method it is built around is in how to use a chess tactics trainer properly.
Whatever you end up solving on, the tool is maybe a fifth of the result. The routine is the rest, which is why one player gains 300 points in a season and another solves 40,000 positions and gains nothing at all. How to get better at chess tactics is where that work actually is.