Understanding Amazon Feed Error 90004: Invalid Bytes in Your Submission File
Amazon error 90004 flags an invalid UTF‑8 byte, e.g., “In line 23, character 12 contains invalid byte(s) 0xE2”. A single bad character can reject a 5,000‑SKU feed, halting all inventory updates until the file is saved as UTF‑8 without BOM.
Overview
Amazon returns error 90004 when a bulk feed contains bytes that do not conform to the platform’s UTF‑8 requirements. The message pinpoints the exact line and character where the illegal byte appears, allowing sellers to locate and correct the problem quickly. Ignoring the error stops inventory, pricing, or listing updates from being applied, which can delay sales for high‑volume sellers.
Key Points
- Error pattern — The notification reads “In line {X}, character {Y} contains invalid byte(s) {Z},” for example “In line 23, character 12 contains invalid byte(s) 0xE2.”
- Primary cause — Bytes that fall outside the accepted UTF‑8 range, such as curly quotes or hidden control characters, trigger the rejection.
- Typical sources — Copy‑pasting from Microsoft Word, exporting from Google Sheets, or importing supplier catalogs often inject non‑UTF‑8 symbols.
- Immediate fix — Open the file in a plain‑text editor, navigate to the reported line 23, character 12, delete or replace the offending symbol, then save the file as UTF‑8 without BOM.
- Impact scope — A single invalid character can invalidate an entire feed of thousands of SKUs, causing all updates in that batch to be ignored.
- Prevention tip — Always generate feeds from Amazon’s downloadable templates, which are pre‑configured for the correct encoding.
How Error 90004 Occurs
- File upload — The seller selects a flat file, XML, or tab‑delimited feed and clicks “Upload.” Amazon’s intake service stores the file temporarily for validation.
- Encoding scan — Amazon’s parser reads each byte, checking that it follows UTF‑8 rules; for instance, a line containing “Café ™” includes the trademark symbol (0xE2 0x84 0xA2) that may be mis‑encoded.
- Invalid byte detection — When the parser meets a byte sequence that cannot be decoded—such as a stray 0xC3 without a following continuation byte—it records the line and character position and aborts further processing.
- — Amazon returns error 90004 with the precise location, preventing any data from being written to the catalog until the file is corrected.
Analysis & Recommendations
Why This Matters
When error 90004 occurs, Amazon rejects the entire batch, so a 5,000‑SKU inventory file may be ignored, delaying stock and price changes. This downtime can cost sales and require manual re‑upload after fixing the encoding.
Key Takeaways
- Error 90004 reports the exact line and character, e.g., “line 23, character 12 contains invalid byte(s) 0xE2”.
- A single invalid UTF‑8 character can invalidate an entire feed of thousands of SKUs (example: 5,000 SKUs rejected).
- Saving the file as UTF‑8 without BOM and using tools like `iconv -f UTF-8 -t UTF-8` validates encoding before upload.
- Automating sanitization with Python’s `unicodedata.normalize('NFKD', text)` removes non‑ASCII symbols during feed generation.
Recommended Actions
- →In Seller Central, go to Inventory > Add Products via Upload, download the Amazon template, edit the file in VS Code, enable “Show invisible charac...
- →Run `iconv -f UTF-8 -t UTF-8 input.tsv -o output.tsv` in a command‑line window; if warnings appear, fix the highlighted rows before re‑uploading.
- →Add a pre‑upload script (e.g., Python using `unicodedata.normalize`) to strip or replace non‑UTF‑8 symbols automatically in your feed generation pi...
Comments
Join the discussion
Log in or create an account to share your thoughts on this update.
No comments yet. Be the first to share your thoughts!