Image links in a CSV: capitals, spaces and %20
A product picture can go missing after import even when its link looks right. Three small differences are easy to miss: capital letters, a space before or after the link, and a space written as %20. The rows in the example below are made up.
Capital letters. On many image hosts, the part of the link after the domain name is case-sensitive, so "images/Blue-Mug.JPG" and "images/blue-mug.jpg" may point to two different files, or to one file and nothing. Some hosts ignore case, so a link can work in one place and fail in another. (verify) Do not change every link to lower case: a file whose name really has capitals would then stop loading. Make each link match the real file name letter by letter.
Spaces at the edges. A space before or after a link is invisible in the cell. Some imports may trim it, others may read the link as broken. (verify) Remove edge spaces from the link column, as described in "Hidden spaces in a product CSV: find and fix them".
A space inside the link, or %20. In a web address, %20 is the written form of a space. So "images/white jar.jpg" and "images/white%20jar.jpg" usually name the same file, but an import may accept only one of the two forms. (verify) For a space inside a file name, follow step 4 of "Broken image links in a product CSV: find and fix": renaming the file and its link to a name without spaces removes both forms of the problem.
Find them. 1. Work on a copy of the file. 2. Sort or filter the image link column and read each link against the file list in your image folder or on your image host. 3. Search the column for "%" and for a space. 4. Open a few full image addresses in a browser to see whether each picture loads. (Not run.) 5. Import one test row first.
The free CSV check does not flag this. It does not read image link columns at all, so every row below passes it. Check these links by hand.
Row 1: SYN-001, [_]images/Blue-Mug.JPG space before the link
Row 2: SYN-002, images/red-cup.jpg[_] space after the link
Row 3: SYN-003, images/Green-Bowl.jpg file is really green-bowl.jpg
Row 4: SYN-004, images/white%20jar.jpg space written as %20आँकड़े कहाँ से आते हैं
- HQ CEO chain draft, 27 September 2026; synthetic example only, no customer file, no store, image host or browser tested; host and import behaviour stated hedged ("many", "some", "may") and marked (verify); the browser step is marked (Not run.)
- Free CSV check behaviour (heloft.com/m01): no image link column is read; synthetic files with headers image, image src, Image Src, image_url and görsel, holding edge spaces, mixed-case paths, an inner space and %20, gave no problems (local run with synthetic files, 27 September 2026)