Importing your inventory from a CSV

Turn a spreadsheet from TCGplayer, Manabox, Dragon Shield or your own tracker into CardNexus inventory in three guided steps — and optionally list everything for sale at the same time.

Last updated 6 days ago

Got a spreadsheet of cards — exported from TCGplayer, Manabox, Dragon Shield, a marketplace, or your own collection tracker? The CSV importer turns it into CardNexus inventory in three guided steps. You can also use it to put cards up for sale in bulk, by including a price column.

This guide walks through every step, every message you might see, and how to fix it.

Where to find the CSV importer

  • To add cards to your inventory — from your inventory, choose Add cards and pick the CSV option.

  • To add cards to a list — open the list, then Add products and choose CSV.

  • To add cards to a bulk import you already started — open the import, then Add products from CSV.

  • To import and put your cards on sale at the same time — from your inventory, use Add for sale and choose CSV. You will be asked which game first.

You always pick the game before uploading, and one file covers one game. If your spreadsheet mixes several games, split it into one file per game.

Before you start

You need:

  • A .csv file. Most spreadsheet apps and trading-card tools can export one — in Excel or Numbers, use File → Save As → CSV.

  • At least one way to identify each card: a CardNexus ID, a vendor ID (Cardmarket, TCGplayer, Scryfall…), a print number, or the card name.

  • A quantity for each row.

Don't have a file yet? On step 1, click Download template to get a ready-made CSV with the right column titles and a few filled-in example rows for the game you picked. Fill it in and upload it back.

You need a verified seller profile to use the "list for sale" version of the importer. If you have not finished seller verification yet, do that first.

Step 1 — Upload your file

  1. Open the importer from one of the entry points above.

  2. Drag your file onto the upload area, or click to browse.

  3. Wait a few seconds. A typical 1,000-row file is instant; very large files can take up to a minute.

How big can my file be?

Where you are importing

Maximum size

Maximum rows

Into your inventory, a list, or for sale

250 MB

500,000 rows

Into a bulk import you already started

30 MB

30,000 rows

Above 2,000 rows the import runs in the background and you will see a progress dialog — you do not need to keep the page still or open in any particular way.

Messages you might see at this step

What we show you

What it means

How to fix it

The file is empty

There is no content in the file.

Re-export from your source tool.

The first row doesn't contain any column names

Your CSV has no header row.

Add a header row (for example Name, Set, Quantity, Condition) and upload again.

The CSV only contains a header — add at least one data row

You uploaded just the column titles.

Add at least one card and upload again.

Your file exceeds the row limit

Too many rows for this destination.

Split it into smaller files and import them one after another.

File too large

The file itself is too heavy.

Split it up, or delete unused columns before exporting.

Unsupported file type. Please upload a .csv file

We only read .csv files.

Save your spreadsheet as CSV and upload again.

We couldn't parse the file

The file is damaged, or uses an encoding we cannot read.

Open it in a spreadsheet app and save it as UTF-8 CSV.

Step 2 — Map the columns

This is where you tell CardNexus what each column in your spreadsheet means. We detect most of them for you — a column called "Qty" becomes Quantity, "Set Name" becomes Expansion — but you can change any of our guesses.

The columns are split into two groups: Product identifier (how we recognise the card) and Product details (everything else).

Identifiers — how we recognise each card

You must map at least one identifier. They are not equally reliable, and a banner at the top of the step tells you how confident we are with the choice you made.

Identifier

How good is it

What it is

CardNexus ID

Perfect — an exact match every time

Our own product number. It is included in every CardNexus export, so re-importing a file you exported from us always matches perfectly.

Vendor ID

Excellent

A product code from another platform: Cardmarket, TCGplayer, Scryfall, and others depending on the game. You also pick which type it is from a dropdown. A vendor ID is matched across the whole game, so even a wrong or missing set name will not break the row.

Print number (with the card name or the expansion)

Good

The number printed on the card, such as 223/264, EN001 or 12a.

Card name alone

Risky

Many cards share a name across sets and printings. Expect "Multiple matches found" on step 3, which you will have to resolve by hand.

The other columns

Column

What it is

Examples

Quantity

How many copies. Required, and it must be a whole number above zero.

1, 4, 10

Expansion

The set the card belongs to. Set name or set code both work.

Alpha, Stellar Crown, M10

Finish

The foil treatment.

Foil, Non-foil, Reverse Holo, Etched, Cold Foil

Condition

The state of the card.

Near Mint, NM, LP, Lightly Played

Language

The printed language.

English, EN, Japanese, Français

Variant (only on some games)

Alternate styles.

Extended Art, Borderless, Full Art

Location

Where you store the item. New locations are created automatically.

Binder A, Box 3

Tags

Comma-separated tags. New tags are created automatically.

Trade, Favorites

Comment

A public comment, shown to buyers when the item is listed for sale.

Slight edge wear on the back

Internal note

A private note for you. Never shown to buyers.

Bought at my local game store

Price (only when importing for sale)

What you want to sell each copy for.

12.50, 12,50, 12,50 €

If a column is missing from your file, you have three options for it:

  • Map a column from your CSV — the normal case.

  • Set a default value for all rows — apply the same value to every row. Ideal when everything you are importing is, say, English and Near Mint.

  • Leave it out — only possible for columns that are not required.

If you map nothing for Condition, Finish or Language, we fall back to Near Mint, Standard and English.

What if my file spells things differently?

We already understand most common spellings: NM, M/NM, Lightly Played, LP, EX, foil, holo, non-foil, EN, Anglais, 日本語 and many more. For anything we do not recognise, we ask you to pick the matching CardNexus value once, and we apply your choice to every row that used the same spelling. You never have to fix them one at a time.

Before you can continue

The footer tells you what is still missing:

  • "Map an identifier to continue" — you have not mapped any of CardNexus ID, Vendor ID, Print Number or Card Name.

  • "Map X required fields to continue" — a required column still has neither a mapping nor a default value.

  • "Resolve X unmapped values to continue" — some spellings in your file still need you to pick the matching CardNexus value.

Once everything is green, click Validate & continue.

Step 3 — Check the results and fix what's wrong

We now run every row against the CardNexus catalog. Most rows normally come back as Valid & ready; the rest are grouped so you can fix many at once.

Three counters sit at the top: Total rows, Valid & ready, and Errors remaining.

You also get two ways to work through the problems, switchable in the toolbar:

  • Group by error (default) — identical problems are collapsed together. If 47 rows wrote the set as "Alfa" instead of "Alpha", they appear as a single group: fix it once, all 47 are fixed. This is by far the fastest way to clean up a large file.

  • All invalid rows — a flat, searchable list if you prefer going row by row.

The problems you can run into

Invalid expansionThese expansion names don't match any expansion in our catalog. You wrote "Stellr Crown", we suggest "Stellar Crown". Click the suggestion to fix every affected row at once. If nothing looks right, the set may not be in our catalog yet — exclude those rows for now.

Card not foundWe couldn't find these cards in our catalog. The name and print number combination does not exist for that expansion. Usually a typo, a wrong expansion mapped on step 2, or a set we do not carry yet. You can review the row and pick the right card by hand, or exclude it.

Multiple matches foundSeveral cards match this name. The name exists in several printings — different sets, alternate arts, promos. We list the printings (up to 25) so you can choose. If several rows share the same ambiguity, Fix all applies your choice to the whole group.

Language not availableThese cards weren't printed in the requested language. The card exists, but not in that language. We show you every language it was actually printed in — pick one and we update all the affected rows.

Finish not availableThese cards weren't printed in the requested finish. Same idea: the card is not available as Foil, only as Non-foil, for example. Pick an available finish or exclude the rows.

Duplicate entryMultiple rows are the same card. Several rows describe exactly the same thing: same printing, language, condition, finish, storage location and tags. Merge adds their quantities into a single entry, which is usually what you want. Rows that differ only by location or by tags are not treated as duplicates, so you can keep one row per binder.

Invalid vendor ID typeThese rows reference a vendor ID type that isn't configured for this game. You picked, for example, Cardmarket as the vendor ID type, but this game is not sold on Cardmarket. Go back to step 2 and pick a type that applies to the game.

Your other options

  • Exclude — skip a single row, a single value, or a whole group. Useful for "these 200 cards aren't on CardNexus yet, I'll deal with them later".

  • Undo — every fix and every exclusion can be undone.

  • Download error file — download a CSV of just the rows that still have a problem, with their error label, so you can work on them in your spreadsheet tool.

Rows that are skipped without an error

Some rows cannot be read at all and are quietly set aside. This happens when a row has no identifier, an unusable quantity (empty, zero, a decimal or text), or — when importing for sale — no price. You will see how many were skipped in the summary before you confirm.

Importing and putting cards on sale at once

If you opened the importer through the for sale entry point, two things change:

  1. A Price column becomes required.

  2. Each row creates the inventory entry and lists it for sale, in one step.

Prices are flexible: 12.50, 12,50, 12,50 € and $12.50 are all understood. Two things to keep in mind:

  • We do not convert currencies. The number goes in as-is, in the currency of your seller profile. There is no currency column.

  • Do not use thousands separators. A price written 1,234 is rejected; write 1234.

Your listings go live as soon as the import finishes. If you want to review your prices before buyers can see them, import without prices first, then use the bulk listing tools from your inventory.

Finishing up

Click Import valid items when you are ready. A confirmation dialog sums up exactly what is about to happen: how many rows will be imported, how many you excluded, how many invalid rows will be skipped, and how many could not be read.

Confirm, and your cards are added. You are then taken to your inventory, your list, or your import — depending on where you started.

If you were importing into a bulk import, nothing is in your inventory yet: your rows are staged in the import workspace, where you can still adjust them, and they only land in your inventory when you commit the import.

Frequently asked questions

Can I import a file exported from TCGplayer, Manabox or Dragon Shield? Yes — that is the most common use of the importer. There is no button to pick per tool: we read your column titles and recognise most of them automatically. Anything we miss, you map by hand on step 2, which takes a few seconds.

What about Cardmarket? Cardmarket does not offer a stock export through its website — only sellers with API access can pull their stock out. If you have obtained a CSV that way, or built one from your Cardmarket data, the importer reads it like any other file. Map the Vendor ID column and choose Cardmarket as the type for the most precise match possible.

Will importing add to what I already own, or replace it? It adds. If you already own three copies of a card and your file has two more of the same printing, language, condition and finish, you end up with five. Merging duplicates works inside a single import; it does not compare against what is already in your inventory.

Can I re-upload the same file after fixing it? Yes. Every upload starts a clean session — your previous mapping and fixes are reset.

My file is huge. Will this work? Up to 500,000 rows in a single file. Anything above that must be split, which your spreadsheet tool can usually do with a filter.

Does CardNexus keep my original file? No. Your file stays in your browser while you map and fix things, and only the cards you actually import are saved to your account. Close the tab before finishing and nothing is kept.

I see "We can't recognise your cards yet". What do I do? You have not mapped an identifier. Go back to step 2 and map a CardNexus ID, a Vendor ID, a Print Number or a Card Name — a CardNexus ID or a vendor ID whenever you have one.

Can I export my CardNexus inventory and import it back? Yes, and it is the most reliable round-trip we offer: our exports include the CardNexus ID, the quantity, and your locations, tags, comments and notes, all of which are recognised automatically on the way back in.

My import partly succeeded — some rows landed, some didn't. This is rare, and usually a temporary hiccup on our side. Check your inventory to see which rows made it, then upload a fresh file with only the missing ones. If it keeps happening, contact support.