TCGJoin's match analyzer takes a video of a recorded match (a YouTube link or a file of your own) and returns a report with the cards each player put on the table, on which turn and at which minute. There is no magic: it compares the artwork of every card that enters the table against the game's catalog, frame by frame. So everything depends on one thing you do control: how you record.
Today it works with Pokémon TCG and Magic: The Gathering. This guide applies to both, and to any game added later: the camera doesn't know rules, only pixels.
The rule that matters most: every card has to look big
The analyzer identifies a card by its artwork. To do that reliably, the artwork has to fill a minimum number of pixels in the video: in our measurements, a card about 150 px wide reads well, and from 180 px it reads almost every time. Below 120 px the engine lets half the cards through unread, not because it gets them wrong, but because it would rather not read than make something up.
On the table, that means two setups that work:
- Record in 4K with the phone about 80 cm from the table, framing both play areas in full.
- Record in 1080p with the phone less than 50 cm away, which usually means framing your area and your opponent's very tightly.
If in doubt, go 4K. The files are bigger (more on that below), but it reads the most complete matches.
Where to put the phone
- Fixed camera, on a stand or tripod. If the camera moves, the cards blur and the engine discards them. A phone held in your hand won't work.
- On your side of the table, slightly raised and pointing toward your opponent, with both play areas in frame. The analyzer understands that the bottom half is you and the top half is your opponent.
- Or overhead, from above, with one player on the left and the other on the right, like tournament streams. When you upload the video, pick the camera option that matches your framing.
- Even light, no glare. A lamp right above the table turns every glossy sleeve into a mirror. Matte sleeves are better.
- Clear table: glasses, dice and the deck out of the play area. Anything that looks like a rectangle with a picture on it wastes the engine's time.
You don't need to play differently or keep your hands out of the way on purpose. The engine confirms each card after seeing it in several consecutive frames, so a hand passing over it won't erase it from the report.
What it reads and what it doesn't
What shows up in the report: every card that enters the table, whose it is and when; cards placed on top of another (evolutions, tools, auras); and the turns, which are deduced from who is putting down cards. Every card comes with its confidence level and, if the video is from YouTube, a link to the exact second it appears.
What no camera can see: the hand, the deck, prize cards or energies attached under a Pokémon. And anything it can't read with confidence (a blurry, covered or too-small card) goes into a separate list as “unread”, never as a made-up name.
In Magic, lands enter every turn, and in One Piece the DON!! go under the leader: the report shows them as cards entering, with no further interpretation. Turns are marked as “inferred” when the engine deduced them instead of seeing them.
File size and how to upload it
A 30-minute match takes between 1 and 2 GB recorded in 1080p on a phone, and between 5 and 10 GB in 4K. The direct upload limit is 2 GB per video, so you have two routes:
- Short or 1080p video: upload it straight from the page, over wifi. Before sending you'll see the file size and an estimate of how many minutes of play fit.
- Long or 4K video: upload it to YouTube as unlisted (it doesn't need to be public) and paste the link. The analyzer downloads the 1080p version and works with that.
The video isn't stored: it's downloaded, analyzed and deleted. The only thing left in your account is the report.
YouTube matches that already exist
The match doesn't have to be yours. Any YouTube video at 1080p or higher with a fixed camera will do: a tournament final, an official stream, a video from a players' channel. For tournament streams, turn on the “overhead” camera and, in the advanced options, the play-area preset for the official Play! Pokémon stream, which crops out the scoreboards and side panels. If you only care about one stretch, set the start and end second and you'll save minutes of waiting.
To give you an idea of the output: in the Masters final of the 2026 Indianapolis Regional, filmed overhead at 1080p, the analyzer identified all nine distinct cards in a three-minute stretch, and all nine were in the published deck lists. In the Magic World Championship final it read thirteen out of fourteen.
Quick checklist before you hit record
- Phone on a stand, camera still for the whole match.
- 4K at about 80 cm, or 1080p at less than 50 cm.
- Both play areas in frame, and nothing else.
- Even light, no lamp reflecting off the sleeves.
- Under 2 GB to upload directly; otherwise, unlisted on YouTube and paste the link.
Once the report is ready, you can open it with the Deck Coach and ask it to go through the match turn by turn: what was on the table, what it would have done differently and which cards from your collection would fit better.
Create your account, paste a match link and you'll have the report in a few minutes.
Analyze my first match