THE PROBLEM
Moving Your Collection Should Not Take Hours

If you are reading this, you probably already track your LEGO collection somewhere. Maybe you have a Brickset account with hundreds of sets logged. Maybe you use BrickLink's inventory system. Maybe you have a personal spreadsheet with columns for set numbers, purchase prices, quantities, and notes. Whatever your current system, you have put time into building that data, and the thought of manually re-entering everything into a new tool is enough to make you close the tab and stay where you are.

I get it. I had the same problem when I started building GameSetBrick. My own collection was tracked across two platforms and a Google Sheet. The idea of typing in 100-plus set numbers one by one was miserable. So I built the CSV import feature specifically to solve this problem - for myself first, and then for every collector who faces the same barrier.

The CSV import in GameSetBrick lets you take a file exported from Brickset, BrickLink, or any spreadsheet application and import it directly into your Vault or Wishlist. It auto-detects the file format, shows you a preview before importing, handles quantities and purchase prices, and uses a progress bar so you can watch it work. The entire process takes about 30 seconds for a collection of 200 sets. I covered the Vault in the Vault collection tracker guide and the Wishlist in the wishlist sharing guide if you want context on where your imported data ends up.

SUPPORTED FORMATS
Brickset, BrickLink, and Everything Else

The import feature supports three categories of CSV files, and the auto-detection system figures out which one you are using without any input from you.

Brickset exports. Brickset is one of the most popular LEGO collection tracking platforms, and millions of collectors have data stored there. If you go to your Brickset collection and export it as a CSV file, that file has a specific column structure: set number, set name, theme, subtheme, year, pieces, quantity owned, and other fields. GameSetBrick recognizes this structure automatically. When you upload a Brickset CSV, the importer maps the columns correctly, handles the set number format (Brickset uses a "number-variant" format like "10294-1"), and pulls in quantities so that if you own two copies of a set, both are imported. No configuration needed - just upload and go.

BrickLink exports. BrickLink uses a different column structure than Brickset, and it also uses a different set number format. BrickLink inventories can include condition information (new vs. used), price data, and quantity. The GameSetBrick importer recognizes BrickLink's format and maps everything correctly. If your BrickLink export includes prices, those are imported as your cost basis in the Vault, which means your ROI tracking is accurate from the moment of import. Condition data is preserved in the notes field so you do not lose that information.

Custom CSV files. This is where the flexibility really shows. If you track your collection in a Google Sheet, Excel file, or any other spreadsheet, you can export it as a CSV and import it into GameSetBrick. The auto-detection system looks for common column headers like "set number," "set_number," "number," "set," "price," "paid," "cost," "quantity," "qty," and variations of these. If it can find a column that contains LEGO set numbers, it can import the file. The system is forgiving about formatting - it handles set numbers with or without dashes, with or without variant suffixes, with or without leading zeros.

If the auto-detection cannot confidently identify the columns, it asks you to confirm the mapping before proceeding. You will see a dropdown for each detected column asking "What does this column contain?" with options like Set Number, Quantity, Purchase Price, Notes, and Skip. This manual mapping step only happens when the columns are ambiguous - for clean Brickset and BrickLink exports, it is fully automatic.

One question I anticipated early on: what about duplicate detection? If you already have some sets in your Vault and you import a CSV that contains those same sets, the importer handles it gracefully. During the preview step, duplicates are flagged with a yellow indicator. You can choose to skip duplicates, update existing entries with the imported data, or add them as additional copies. This prevents the common problem of accidentally doubling your collection count because you imported on top of existing data.

THE PREVIEW
See Everything Before You Commit

Importing data blindly is stressful. You do not know if the file was parsed correctly until the data is already in your account, and by then it might be a mess to clean up. That is why the CSV import has a mandatory preview step.

After you upload your CSV file, GameSetBrick parses it and shows you a preview table of every set it found. For each set, you see the set number, the matched set name (looked up from the GameSetBrick database), the quantity, the purchase price if available, and a status indicator. The status indicator shows one of four states: Ready (green, set was found and matched), Duplicate (yellow, set already exists in your Vault), Not Found (red, the set number did not match any known LEGO set), or Partial (orange, the set was found but some data like price was missing).

This preview lets you catch problems before they become data quality issues. If you see a bunch of "Not Found" entries, you might realize that your CSV has a formatting issue - maybe the set numbers are in a column you did not expect, or maybe they include non-LEGO items. If you see unexpected duplicates, you can decide how to handle them before importing. If prices look wrong because they are in a different currency or format, you can cancel and fix the source file.

The preview is scrollable and searchable. If you are importing a large collection - 500 sets or more - you can search within the preview to spot-check specific sets rather than scrolling through the entire list. The search works on set numbers and set names, so you can quickly verify that your most important sets were detected correctly.

At the bottom of the preview, you see a summary: total sets to import, total duplicates, total not found, and the destination (Vault or Wishlist). You choose the destination here - every set in the import goes to the same place. If you want some sets in your Vault and others in your Wishlist, you would do two separate imports with two separate CSV files. This keeps the import process simple and predictable.

Only after you review the preview and tap "Import" does the data actually enter your account. Nothing is written until you confirm. This two-step process - upload then confirm - prevents accidental imports and gives you full control over what enters your collection.

IMPORT DESTINATION
Vault or Wishlist - Your Choice

The import feature lets you choose whether the sets go into your Vault (sets you own) or your Wishlist (sets you want). This distinction matters because the two lists serve different purposes in GameSetBrick.

Importing to the Vault makes sense when you are migrating your existing collection from another platform. Every set imported to the Vault counts toward your total collection value, appears in the Portfolio Value Chart, and generates ROI data if purchase prices are included. This is the most common import destination - you already own these sets and want to track them in GameSetBrick.

Importing to the Wishlist is useful in a different scenario. Maybe you maintain a spreadsheet of sets you want to buy, or maybe you exported your BrickLink wanted list. Importing those to the Wishlist puts them on your radar within GameSetBrick, where you can track their market prices and price history without them counting as owned sets in your collection. When you eventually buy one, you can move it from Wishlist to Vault with a single tap.

I have seen collectors use the Wishlist import creatively. One approach is to export the full list of sets from a specific theme on Brickset - say, all Architecture sets ever made - and import that CSV as a Wishlist in GameSetBrick. This creates a comprehensive theme tracker where you can monitor values, identify deals, and pick off sets one at a time as your budget allows. The Wishlist becomes a research tool rather than just a shopping list.

Another approach is to import a CSV of sets from a specific retirement year - all sets that retired in 2024, for example - into the Wishlist to monitor their post-retirement appreciation. This gives you a dashboard of retired sets where you can watch secondary market prices climb and decide which ones to buy for investment purposes. Combined with the Flip Finder data, this creates a powerful research pipeline.

THE PROGRESS BAR
Watching It Work

After you confirm the import, the process begins. For small collections - under 50 sets - it happens almost instantly. For larger collections, the progress bar shows you exactly where things stand.

The progress bar fills as sets are processed and added to your account. Each set requires a database write and a market data lookup, which is why larger imports take a few seconds. The progress bar shows both the count (e.g., "147 of 312 sets imported") and the visual fill percentage. This transparency is important because importing hundreds of sets involves real data processing, and you should never wonder whether the app froze or is still working.

During the import, sets are processed in batches for efficiency. Firestore writes are batched to minimize round trips, and market data lookups are parallelized where possible. A collection of 200 sets typically imports in 15 to 30 seconds depending on your internet connection. A collection of 500 sets might take a minute. These are not long waits, but they are long enough that a progress indicator matters for confidence.

If any individual set fails to import - maybe a set number was malformed and got past the preview check - the import continues with the remaining sets. Failed sets are collected and shown in a summary after the import completes. You can then manually add those sets or investigate why they failed. The import never stops entirely because of a single bad entry. This resilience is critical for large imports where one bad row in a 400-row CSV should not invalidate the other 399.

When the import completes, you see a summary screen showing how many sets were successfully imported, how many were skipped as duplicates (if you chose to skip), and how many failed. From there, you can go directly to your Vault or Wishlist to see the imported sets in context with your existing data. If you imported to the Vault, the Portfolio Value Chart immediately reflects the new total, and your collection value updates in real time.

QUANTITIES AND PRICES
Handling the Details That Matter

Two CSV fields deserve special attention because they carry financial significance: quantities and purchase prices.

Quantities. Many collectors own multiple copies of the same set, especially investors who buy retiring sets in bulk. If your CSV includes a quantity column, the import respects it. A row with set number 10281 and quantity 3 creates three separate Vault entries for the Bonsai Tree. Each one is tracked individually for market value and ROI purposes. This matters because you might have paid different prices for each copy (one at retail, one on sale, one at a markup), and the per-unit tracking keeps your financial data accurate.

If your CSV does not include a quantity column, every row is treated as quantity 1. This is the safe default - it is better to undercount than to accidentally create duplicate entries. You can always add additional copies manually after import.

Purchase prices. If your CSV includes a price, cost, or paid column, those values are imported as the cost basis for each set in the Vault. This is one of the most valuable pieces of data you can include because it enables accurate ROI calculations from the moment of import. Without a purchase price, GameSetBrick can track market value but cannot tell you whether you are making or losing money on a specific set.

The importer handles common price format variations. Prices with dollar signs ($29.99), without dollar signs (29.99), with commas for thousands (1,299.99), and with different decimal formats are all parsed correctly. If the importer detects prices that seem unreasonable - like a negative number or a value over $10,000 - it flags them in the preview for your review rather than silently importing bad data.

For collectors migrating from Brickset, there is one caveat: Brickset does not include purchase price data in their standard CSV export. You can add prices manually in Brickset before exporting, or you can import without prices and add them set by set in GameSetBrick afterward. BrickLink exports do include pricing data for most inventory items, which makes BrickLink-to-GameSetBrick migrations particularly smooth.

If you have been tracking your collection in a personal spreadsheet, my recommendation is to make sure you have clean columns for set number, quantity, and purchase price before exporting to CSV. Those three fields give GameSetBrick everything it needs to set up accurate tracking from the moment of import. Set names, themes, and other metadata are automatically pulled from the GameSetBrick database based on the set number, so you do not need to include them in your CSV.

MIGRATION TIPS
Making Your Import Go Smoothly

Here are some practical tips for getting the best results from the CSV import:

Export fresh data. If you are migrating from Brickset or BrickLink, export your collection right before importing. This ensures the set numbers and quantities are current. Stale exports might include sets you have since sold or be missing recent additions.

Clean up your source first. If you have sets in your collection that you no longer own, remove them from the source before exporting. It is easier to clean up one list in Brickset or your spreadsheet than to clean up duplicate or incorrect entries across two platforms.

Start with a test import. If you have a large collection, consider exporting just 10 to 20 sets first as a test. Import those, verify that the data looks correct in the Vault, and then do the full import. This catches any formatting issues before they affect your entire collection.

Include prices if you have them. Even approximate prices are better than no prices for ROI tracking. If you know you paid roughly retail for most of your sets, you can add a price column to your spreadsheet with retail values before exporting. The ROI calculations will be approximately correct, which is much more useful than having no cost basis at all.

Use the preview. Do not skip the preview step. Spend 30 seconds scanning the results, checking that set numbers matched correctly, and verifying that quantities and prices look right. The preview is your safety net - use it.

The CSV import feature exists to remove the biggest barrier to trying GameSetBrick: the effort of starting over. You do not have to start over. Your existing collection data travels with you. Whether it is in Brickset, BrickLink, a spreadsheet, or any other CSV-compatible format, you can have it in GameSetBrick in under a minute.

Ready to import your collection? GameSetBrick is free to use - export your collection from wherever you track it, upload the CSV, and your entire collection is in GameSetBrick in seconds. No download required, works on any device.

RELATED READING
More From The Earl of Bricks