Feed Repairer

Paste a feed with a header row. You get two things back, and the second matters as much as the first: the repaired file, and a list of what was left alone.

🔒 Your data never leaves your browser.

Turn off for columns where case carries meaning, like SKUs.

The rule: one right answer, or nothing

Every change this page makes has exactly one possible answer. Mojibake is repaired only when re-encoding the repaired text reproduces the original bytes — that round trip is what makes the reversal unique, because several encoding chains produce plausible-looking output and only one of them is right.

Anything with more than one answer is listed and left. A spreadsheet that turned a product code into a date could have started from MAR1 or 1MAR; that choice needs to know what the product is, which no file contains.

Damaged beyond repair is not the same as fine

Scientific notation genuinely destroys digits: 8.71E+12 keeps three significant figures of a thirteen-digit barcode, and nothing recovers the rest. Those cells are reported as needing the source system rather than passed through silently — a file that looks repaired but still carries a broken barcode is worse than one that never claimed to be fixed.

What it will not do, on purpose

It will not merge L with Large. They may mean the same thing in your catalogue or they may not, and applying that automatically would be this tool making a merchandising decision. The column auditor shows those sets and lets you decide.

Capitalisation is unified within a column, because that changes presentation and never which value a cell holds — and you can switch it off for columns where case matters.

Why the "left alone" list is the honest half

A repairer that fixes everything looks more capable. It is also the one that changes data in places you will not look, in a file that is about to go to a public channel. Listing what it could not decide is the part that makes the rest trustworthy.

Every check this tool runs (10 rules)

FIX-M01 Only repairs that are uniquely determined

Every change this tool makes has exactly one possible answer. Anything with more than one — a damaged value that could have been two different originals, a size that might or might not be the same as another — is listed untouched instead. A repairer that guesses changes data in places you will not look, and the file is going to a public channel.

Source: Google Merchant Center — Product data specification

FIX-E01 Mojibake repaired and proved by round trip

Garbled text is only repaired when re-encoding the repaired value reproduces the original bytes exactly. That round trip is what makes the answer unique — without it, several encoding chains produce plausible-looking text and only one of them is right.

Source: Google Merchant Center — Product data specification

FIX-X01 Spreadsheet damage reversed where it is reversible

Scientific notation, dropped leading zeros and similar spreadsheet damage are undone only where the original is recoverable with certainty. Where a value could have been more than one original — the classic case being a code a spreadsheet turned into a date — it is left as it is and both readings are listed.

Source: Google Merchant Center — Product data specification

FIX-I01 Invisible characters removed

Zero-width characters, non-breaking spaces and byte order marks are removed or replaced by their documented equivalent. There is no ambiguity here: each character has one correct handling, recorded in the character table.

Source: Google Merchant Center — Product data specification

FIX-W01 Leading and trailing whitespace trimmed

Stray whitespace at the ends of a value is invisible in a spreadsheet and significant everywhere else. Removing it cannot change meaning, so it is done without asking.

Source: Google Merchant Center — Product data specification

FIX-C01 Capitalisation unified within a column

Where a column holds the same value in several capitalisations, they are unified to the spelling used most — or the one written first if they tie. This changes only presentation, never which value a cell holds.

Source: Google Merchant Center — Product data specification

FIX-L01 Left alone because more than one repair was possible

The value is damaged, but the damage has more than one plausible reversal. Both readings are given so a person can pick — that choice needs to know what the product actually is, which no file contains.

Fix: Check the original source of the row.

Source: Google Merchant Center — Product data specification

FIX-S01 Synonyms are never merged automatically

Values like L and Large may or may not mean the same thing in your catalogue, so this tool does not merge them even though it can see them. Use the column auditor, which shows the sets and lets you decide.

Source: Google Merchant Center — Product data specification

FIX-V01 Nothing needed repairing

No mojibake, spreadsheet damage, invisible characters or stray whitespace were found.

Source: Google Merchant Center — Product data specification

FIX-H01 No header row

The first line must name the columns, so repairs can be reported per column.

Source: Google Merchant Center — Product data specification

Only repairs with exactly one possible answer are applied. Everything else is reported untouched.