Bulk-upload Shopify product metafields from a spreadsheet — free.
Let your agent work across all your spreadsheets for you.
Every other metafield tool starts by telling you to rename your columns. This one
doesn't. Upload the product sheet you already keep — the one with Fabric Content and
Wash Instructions and Ingredients at the top — and we work out what each
column means and map it to the matching product.metafields field. Anything we
can't place is named, with the reason. Your original file is never changed.
No template, no strict format
The usual bulk-metafield workflow asks you to produce a file in Shopify's shape first: one row per
metafield, a namespace.key you have to look up, a type string you have to get exactly
right. That's a formatting exercise standing between you and the actual work, and it's why so much
product copy never makes it into metafields at all.
Upload your sheet as it is instead — one row per product, one column per thing you know about it.
We read the column headers, not a template: Fabric Content,
Composition and Fibre Content all land on the same material metafield,
because they all mean the same thing. Then we write the row-per-metafield import file for you, with
the namespace, key and type filled in correctly.
The five it covers
This page handles the five plain-text product metafields that account for most of the work — the ones whose value is simply words:
custom.material— fabric content, composition, what it's made of.custom.care_instructions— washing and care.custom.size_and_fit— sizing and fit notes.custom.ingredients— ingredient or INCI lists.custom.specifications— specs, technical details, dimensions.
Your product handle column can be called Handle, Product Handle,
Slug or URL Handle — we read any of them. Metafields whose value is a
pointer rather than words — a related product, a spec-sheet PDF, a size-chart image —
behave differently enough to have their own pages, linked below.
You get a plain-language ledger, not a pass/fail
Every column in your file comes back in one of two lists. What we mapped names the column, the metafield it went to, and why. What we couldn't names the column and what stopped us — no match, not confident enough, values that don't look like the field, or two columns competing for the same metafield. Nothing is quietly dropped and nothing is quietly guessed: if a column isn't in the first list, it's in the second with a reason you can act on.
That second list is the useful half. A column we won't place is usually a column that needs a decision only you can make, and telling you which one is more honest than a silent skip that leaves you to discover the gap in your storefront weeks later.
Blank cells never clear a metafield
An empty cell produces no import row at all, and every row we write is a merge — it creates the metafield if it's missing and updates it if it's there. Nothing in the file you upload can turn into an instruction to erase a value you already have.
Reviewed file, not an automatic write
This tool hands you a reviewed file to check and import yourself — it never writes to your store directly. Your uploaded file is read in memory and never stored.
Prefer to start from an example?
Download metafields-apparel-basics.xlsx — ten
products from a small apparel label, with the messy real-world headers a merchant actually keeps
(Fabric Content, Wash Instructions, Fits Like,
Ingredients, Tech Specs) and not one of them in Shopify's syntax. It also
carries three columns we deliberately won't place — a product title, a related-products
column and a lookbook PDF — so you can see both halves of the ledger on a real file before you
trust it with your own.
The harder metafield cases have their own pages
The five above are the simple ones: the value is words, and words import cleanly. The cases below fail in ways that plain text never does — usually silently, with no error at all — so each one gets its own page with the working format and a live proof:
- Bulk-edit variant metafields — per-SKU values (chest measurements, per-colorway fabric) that Shopify's own CSV import ignores entirely, with no error.
- Reference & file metafields — related products, spec-sheet PDFs and size-chart images, where the value is a pointer to another object rather than text.
- Safe metafields re-import — what your edited export would actually do before you upload it, including the blank cells that wipe values and the type changes that get rejected.
- Metafield references across stores — why cloning or migrating a store nulls every reference metafield, and the handle-based fix.
Want this inside your AI agent, on your own machine, with no upload at all? Install xlsx-for-ai and ask Claude or Cursor to “turn this product sheet into a Shopify metafields import.”