Accept the license agreement before using TCGenie.
✓ You own your data
✓ Commercial use allowed
✓ Standard software license
Full agreement below, scroll to accept.
How TCGenie works
Scan a card, get a live price, build the invoice.
Scan → Invoice
Create invoices while scanning.
Reprice
Update your whole stock as the market moves.
Research
Check live prices instantly.
Swipe to go back
Swipe in from the left or right edge of the screen to close a popup or return to the previous screen.
Buy
Buy cards & track what you pay.
Stock
Add cards, manage by location, print QR labels.
Supported right now
Pokémon only.
• English & Japanese — singles + sealed
• Chinese — sealed + singles (eBay-priced)
• Graded slabs — PSA, Beckett, CGC, SGC, TAG (TAG eBay-priced)
Send feedback
Tell us what happened — we read every message.
0 / 1000
How was that scan?
Your quick answer helps us sharpen TCGenie.
Chat with TCGenie
Usually replies within 24h
Messages stay in this conversation — not email.
Price any item
Printing labels
Connecting…
0 / 0
⚠ Out of thermal labels (or it disconnected). Reload the roll / power-cycle, then tap Resume.
Export results
What's new
Here's what changed since you were last here.
Move to…
TCGplayer catalog
Automatic by default
TCGenie already knows every TCGplayer product ID — there's nothing to upload.
Add your own Seller Portal Custom Export only if you want to keep your own SKUs on this device.
Add manually
Search a card by name or number, then tap it to add.
Game
You can enter:
Language
📊 How you price
TCGenie is learning your pricing from every stock-add & sale — suggested vs. what you actually chose. Gets sharper over time.
🔖 Tracked cards
Every card added to stock gets a unique tracking ID — mark them At show / Sold to follow individual cards.
🎪 Show Planner
When you can only bring so many, this picks the best — scored on margin, value, momentum (recent sold vs market), and how long each has sat.
Settings
Your business name & logo appear on your invoices and receipts.
Store Pricing
Automatically calculate your selling price.
Base value = highest of the checked sources
Tiered pricing rules
Override the markup by price band — e.g. cheap cards get a bigger %, expensive cards a smaller one. A card uses the rule whose “from $” is the highest it still meets. Below the lowest rule, the formula above applies.
Intake / buy rules (what you pay to buy)
Set what you pay for cards by value band — a cash % and a trade-credit % per tier, for as many tiers as you want. A card uses the tier it meets; below your lowest tier a default ladder applies.
Value cards on
Sold avg = recent sales, outlier-trimmed (low mis-lists dropped, high sales kept). Lower of the two pays the safer of market vs. sold. Applies to every card in the buy-list.
Don’t buy graded cards under $
Damaged sealed is worth % of a clean copy (applied to both the buy offer and the sell price)
Card history & data (stock age)
Every card records the date you acquired it, used for stock age and the sort options. It stays tied to the card even if it leaves and re-enters stock. Clearing resets every card’s acquired date to today.
Theme (your app colors)
Pick a preset or set your exact brand colors — the whole app recolors live.
Sales tax (on receipts)
Deducted = backed out of the agreed price (vending-style — nothing added for the customer). Added = charged on top at checkout.
ModeStateRate%
Card processing fee (surcharge at checkout)
Pass your card processor's fee (Square, Stripe, etc.) to the customer. Added on top of the invoice total at checkout. Enter a percentage or a flat dollar amount.
Type%$
Apply the fee only to these payment methods (leave all unchecked = charge it on the whole total)
Tip: check Pay by card / Square so cash & app payments stay at the base price and only card sales carry the fee. Add a Square link under Payment links above.
Improve scanning
Payment links (for customer receipts)
CashApp, Venmo, PayPal, Zelle… these get attached when you send a receipt. Add up to 10.
🩺 System health & recognition gallery
Expand to load…
Re-sticker rule
On Stock, “Changed prices only” re-stickers a card when its price moves by at least…
Require
Blank = re-sticker on any change. Either = whichever hits first · Both = only when both are met.
Get a PNG image (share to text/email/Dropbox, or save):
Or print straight to your Bluetooth printer (one at a time — keep this screen open):
Print #to(blank = all · row #s)
Import stock — CSV · photos · video · link
📥 Import any CSV → stock
Upload an export from Collectr, TCGplayer, eBay, CardLadder, Shiny — any site. Unknown formats are analyzed automatically, and you review everything before it's added.
Photos: snap each card (one per shot) or a screenshot of a collection list. Or screen-record your Collectr / Shiny portfolio and we'll read every product, quantity & price right off the screen — or slowly pan a binder/box and we'll identify each card.
Public Collectr / Shiny / PriceCharting link. (PriceCharting has no conditions — you'll set those after.)
Stock CSV
Back up your stock, or bulk add/remove from a spreadsheet.
Tools — Grade calculator & TCGplayer
TCGplayer
Raw singles only. A TCGplayer “Add to Inventory” (or removal) CSV — resolves each card to its real TCGplayer SKU, unpriced rows parked at 99999.99, quantity as Add-to-Quantity. Graded slabs use the Card Ladder export below.
Card Ladder
Export your graded slabs as a Card Ladder “Upload Collection” CSV — cert #, grade, and set, ready to import (respects the selected location).
Scan a QR label, or tap Snap to identify a card with no label.
🎥
Analyzing…
This can take a minute or two — analyzing each card in your recording.
▲
▼
◀
▶
Centering scan
Line the card up flat
Hold the camera steady…
💡 For an accurate read, take the card out of its sleeve and lay it on a clean, flat surface that won't scratch it. Hold the camera straight above — no glare. It auto-captures.