Walmart serves product photos from its image server, i5.walmartimages.com, with the size written into the address. Pages ask for copies fitted into a small square box, and Chrome receives them as AVIF even when the address ends in .jpeg. If you sell on Walmart Marketplace and want your own listing photos back, or a brand has given you permission to reuse its photos, two small edits to the address get you the full-size file.
Right-click a product photo and choose "Open image in new tab". The address looks like this:
https://i5.walmartimages.com/seo/Product-Name_8097d32f-….jpeg?odnHeight=768&odnWidth=768&odnBg=FFFFFF
odnHeight and odnWidth set a box the photo is fitted into, and odnBg=FFFFFF fills the rest of the box with white. In the Walmart addresses I collected, the numbers ranged from 117 to 2000. A 1500×2000 clothing photo asked for at 573 came back as a 573×573 square with white bars down both sides, so the page copy can have a different shape from the photo the seller uploaded.
Two edits work. They give you different files, so pick by what you need.
Remove everything from the question mark onward. On the seven products I checked, this returned the full pixel size every time, from 1275×1515 up to 3000×3000, in the photo's own shape.
The file is re-compressed, though, and Walmart's server picks its format from the list of formats the browser says it can show. Chrome's list includes AVIF, so Chrome gets AVIF. One 1389×1389 candle photo came back as an 85 KB JPEG to a plain request, while the server reported the stored upload at 553 KB. Walmart's image guide accepts JPEG, JPG, PNG and BMP files, so an AVIF copy has to be converted before you upload it to Walmart again.
Change both numbers to 4000, so the address ends in ?odnHeight=4000&odnWidth=4000&odnBg=FFFFFF. On all seven products this returned the uploaded file untouched (a JPEG, or a PNG when the address ends in .png): the byte count matched the original size the server reports. In the four I repeated with Chrome's request headers, the answer was still a JPEG. The tall clothing photo stayed 1500×2000, and no photo was enlarged.
Asking for 2000 or less shrinks a bigger photo: 2000 on a 3000×3000 photo gave 2000×2000. Anything above 2000 returned the stored upload in my tests, including a 5000×5000 photo asked for at 4000. Save each photo from its tab with "Save image as", then check its pixel size, because Walmart does not document any of this.
If you plan to upload the photos to Walmart again, Walmart Marketplace Learn's image guide asks for 2200×2200 pixels, at least 1500×1500 for zoom, a 1:1 square and 5 MB or less. The main image needs a seamless white background. No image may carry watermarks, your name or logo, or Walmart's or another retailer's logo or name.
Photos already on live listings do not always meet that. In my sample, a 1389×1389 photo was under the zoom minimum, and the 1275×1515 and 1500×2000 photos were not square. Check the size before you assume a saved photo can go straight back up.
odnHeight, odnWidth and odnBg parts from Walmart photo addresses; those photos show an HD badge.source.txt holding the page link.The free version saves up to 30 images per download in their original format. With All tabs, a bigger batch stops at the end of a whole product tab (or after 30 images if the first tab alone has more), and the next press saves the rest. Converting a whole batch to JPG and padding every photo to a white square, which matches Walmart's 1:1 rule, are part of Pro, a single US$9.99 payment (the launch price until 31 December 2026, then US$14.99). Right-click Save image as JPG on a single photo is free.
.jpg name. Whether that format is JPEG or AVIF depends on what Walmart's server sends.Use this for photos you took, or with permission from the brand or seller who owns them. Saving a photo does not give you the right to list with it.
Saving many listings at once, one folder per product with its link: see this guide.
Address edits checked 31 October 2026 on Walmart's image server with seven product photos, using the formats Chrome asks for and a plain request. I made PixLasso, and I mention it where it helps; the first method needs no extension.