feedwatch.
← Back to free feed checker

Supplier feed CSV and JSON format: fields, examples and limits

Prepare a supplier product feed for comparison with five required fields: sku, name, price, stock and currency. See valid examples and fixes for common errors.

Supplier Feed Watch product guide · Updated September 22, 2026

The five required fields

Use a UTF-8 encoded .csv or .json file, no larger than 1,000,000 bytes (1 MB), containing no more than 10,000 product rows. Both snapshots must use the same SKU convention. The two files can use different supported formats.

FieldExpected valueExample
skuUnique, nonempty text. Matching is case-sensitive; retain leading zeros.001-MUG
nameNonempty product name, up to 500 characters.Stoneware mug
priceNonnegative decimal, up to 9 digits before the point and 2 after. No currency symbols or thousands separators.12.50
stockNonnegative whole number.24
currencyThree uppercase letters. This is a format check, not verification of a currency code.USD

A valid CSV example

sku,name,price,stock,currency
001-MUG,Stoneware mug,12.50,24,USD
002-BOWL,"Bowl, large",18.00,0,USD

The delimiter is a comma. Quote an entire field if its value contains a comma, double quote or line break. Inside a quoted field, represent a literal double quote with two double quotes. Each row must have the same number of fields as the header.

The checker accepts ordinary line endings and a UTF-8 byte-order mark. Semicolon-delimited exports, spreadsheet workbooks and XML feeds must be converted first. Avoid opening SKU columns as numbers in a spreadsheet: that can remove leading zeros and change the identifiers.

A valid JSON example

[
  {"sku":"001-MUG","name":"Stoneware mug","price":12.50,"stock":24,"currency":"USD"},
  {"sku":"002-BOWL","name":"Bowl, large","price":18.00,"stock":0,"currency":"USD"}
]

Use a top-level array of product objects. Keep SKUs and names as strings. Repeated object keys are rejected, since silently keeping the last value could hide a mistaken price. JSON Lines, an object wrapping the array and nested field mappings are not supported.

Fix common validation errors

What happens to extra columns?

Additional column names are checked for additions or removals between snapshots. Changes to their values are not compared. Image URLs, categories, descriptions, shipping and channel-specific attributes therefore need separate validation. CSV has a maximum of 100 columns, and a parsed field cannot exceed 4,096 characters.

Ready to compare?

Use the home page’s downloadable sample files to confirm the format, or follow the step-by-step comparison guide. Files stay in your browser. A valid comparison checks the supported data fields, not whether your supplier’s underlying information is correct.

Check your next import.

Compare two files in your browser. Free, no account needed.

Open the free feed checker →