Home › Guides › Add NS-PID codes in bulk
How to add NS-PID codes to Shopify in bulk
Short answer: in a current Shopify Product CSV export, add each maker's code to the variant's Variant Barcodes cell as ns-pid:CODE, after any barcodes already there and separated by ; . Keep every column and every row of each product you change, then import with "Overwrite products with matching handles". We tested this on 25 October 2026 with two archived test products: Shopify stored the codes with the NS-PID type, and its export afterwards matched the import file in every cell.
What the cell looks like
- A variant that already has an EAN:
ean:4006381333931; ns-pid:MK-100 - A variant with no barcode yet:
ns-pid:MK-100 - A code that contains
:,;or\needs a backslash before each of them. The codeMK:200;Xis writtenns-pid:MK\:200\;X. - Shopify allows up to 20 barcodes per variant, and only one of them should be the NS-PID.
Step by step
- Export the products from Shopify (Products → Export → CSV). Use the current format with the
Variant Barcodescolumn. Keep this file unchanged as your backup. - Get the maker's own code for each exact variant from the supplier or the product documents. A vendor name, your SKU or a guess is not the maker's code.
- Add the codes in a copy of the export as shown above. Skip variants that already have an NS-PID.
- Keep whole products. Leave every column in the file, including option columns and
Status, and keep all rows of each product you change, including image rows. Remove products you did not change. Shopify's help warns that blank included cells overwrite existing values, that missing option columns can remove variants, and that a missing Status column can make a product active. - Check the codes before importing. If a spreadsheet turned a code into
4.00638E+12or dropped leading zeros, fix it from the supplier's original. Save as UTF-8 CSV with commas. - Import in Shopify admin (Products → Import), tick "Overwrite products with matching handles" and read the preview. Try one product first.
- Re-export and check a few variants in the admin: each should show the code with the NS-PID type next to its existing barcodes.
What we tested
- 25 October 2026, this store, two new archived test products: one with 2 variants, one with 2 options, 4 variants, 3 images, quotes and commas in the description and mixed barcodes (
upc:, an untyped internal code with\:and\;, an existing NS-PID and a blank). - Export → add codes → import with overwrite → export again. Only
Variant Barcodeschanged; status stayed archived; images were not duplicated; in the first test the variant IDs did not change. - Not tested: passing the codes on to a carrier or customs broker.
Two things a CSV cannot show
- Shopify's per-variant "no standardised identifier" setting has no Product CSV column, so a blank barcode in the file is unknown, not "none".
- A Shopify staff member wrote on its developer forum (20 October 2026) that when a variant has no NS-PID-typed barcode, Shopify fills one in from its other barcodes, the SKU or the variant ID. That value may not be the maker's own code.
Doing it with TITANTH
The full Catalog Check (US$59 once, offline) makes a supplier question sheet from your export, reads it back when suppliers have filled it, adds each code as ns-pid: with the escapes above, refuses a second NS-PID and spreadsheet-damaged numbers, and gives you an import file with only the products you changed. The free checker shows the gaps in the first 100 rows of your export and makes the import file for up to 3 products.
Check your CSV free — first 100 rows
Questions
Does Shopify accept ns-pid: in a Product CSV import?
Yes, in our tests. On 25 October 2026 we imported a Variant Barcodes value such as ean:4006381333931; ns-pid:MK-100 with 'Overwrite products with matching handles' on two archived test products. Shopify stored the code with the NS-PID type, and its export afterwards matched the imported file in every cell.
What if a variant already has an NS-PID?
Do not add a second one. Change the existing code in Shopify admin after confirming the correct value with the supplier.
Can a spreadsheet damage the codes?
Yes. A spreadsheet can turn a long numeric code into 4.00638E+12 or drop leading zeros. Ask suppliers to send codes as text, and check those columns before you import.
What a Shopify export contains → · Supplier request template →