Skip to content
100% local

Product attribute parser

Turn freeform product attribute text into a clean key/value table or JSON.

Input
Output

Product attribute parser

Paste product attributes written the way they actually show up in a spreadsheet export, a supplier email or a scraped listing — "Color: red, Size: XL" on one line, or "Weight - 2kg" and "Material = Cotton" each on their own — and this tool turns them into a clean, ordered list of key/value pairs. It reads colons, equals signs and dashes as key/value separators, and commas or semicolons as the split between attributes on the same line, so it does not matter whether a product's specs are crammed onto one line or spread across several.

It is built for e-commerce catalog cleanup: normalizing a supplier's product feed before import, turning a copy-pasted spec sheet into something a spreadsheet can sort, or checking that every listing in a batch actually has a Color and a Size before it goes live. Spacing does not need to be consistent — "Color:red", "Color : red" and "Color: red" all parse the same way — and mixed delimiter styles in a single paste are handled without extra setup. A hyphen with no surrounding space, like in "Made-in" or "Micro-USB", is left alone rather than mistaken for a separator, so compound words in a key or value survive intact.

Two output formats cover the two things people usually do next. "Table (key | value)" gives a plain-text, two-column layout that pastes straight into a spreadsheet cell by cell. "JSON array" produces a [{"key": ..., "value": ...}] array ready to drop into a script or a product schema. "Remove duplicate pairs" collapses attributes that repeat with the exact same key and value, and "Sort by key" alphabetizes the result so related attributes (Color, Material, Size, Weight) line up regardless of the order they were typed in.

Everything happens in your browser — the pasted attributes, however messy or proprietary, are never uploaded or sent to a server.

FAQ

What delimiters does it recognize between a key and a value?
A colon, an equals sign, or a dash with at least one space next to it — "Color: red", "sku=AB-12" and "Weight - 2kg" all work. A dash with no spaces around it, like in "Made-in" or "Micro-USB", is treated as part of the word instead.
Can I put several attributes on one line?
Yes. Separate them with a comma or a semicolon, for example "Color: red, Size: XL; Weight - 2kg" — or put one attribute per line instead. Both styles can be mixed in the same paste.
What happens to text that doesn't look like a key/value pair?
It is skipped rather than guessed at, so the output only contains attributes the tool is confident it parsed correctly.
Can I export the result as JSON instead of a table?
Yes. Switch "Output format" to "JSON array" to get a `[{"key": ..., "value": ...}]` array instead of the plain-text table.
Is my product data uploaded anywhere?
No. Parsing happens entirely in your browser — nothing you paste here is sent to a server, which matters for supplier data you're not meant to share.