Manual Battle Table

Play your saved Pokémon TCG decks in your browser.

Practice at a flexible paper-style table, face an AI deck, invite a friend, or find a casual opponent. You control your cards while the table keeps both players in sync.

Free to use with any deck you have built or uploaded to PokémonCard.io. Unofficial and not presented as an official Pokémon game.

Preview of the Manual Battle Table play area
A shared table with private hands and a public action log.
01

Play with other people

Join Quick Match to find an online opponent, or open a private table and invite a friend with a link.

02

Practice against AI

Play your side while a deck-aware bot runs its own cards and turns for a faster, more automated solo session.

Choose an AI opponent →
03

Bring any saved deck

Use any deck you have built or uploaded to PokémonCard.io. There is no separate deck import or setup.

Sign in and choose a deck →

Live now · 1,146 total last 7 days

Best on desktop
Solo
0
Practice bot
0
Private
0
Quick Match
0 queued · 0 playing
AI opponents

Meet the decks waiting at the table.

Practice against modern championship lists or revisit classic theme decks, each piloted with its own cards and strategy.

Sign in to choose an opponent →
Match replays

Save it. Replay it. Share it.

After a match ends, either player can preserve a permanent replay. Share one link and viewers can play, pause, restart, or move through every public table action step by step.

Private hands, Deck order, face-down Prize identities, and face-down table-card identities are never included in the public replay.

What the table handles

Private by designOpponent Deck order, hand contents, face-down Prizes, and face-down table cards never enter your browser.
Paper-game primitivesDraw, search, reveal, attach, evolve, move zones, face-down table cards, damage, conditions, markers, Prizes, coins, dice, Rock-Paper-Scissors, and turns.
One shared timelineEvery card action, private-information check, random result, turn, concession, and filtered chat message is timestamped.
Found a bug?

Open a new thread and explicitly detail the bug, what you were doing, and what happened.

Report a bug →