How to Convert CSV to Excel With Images (Keep Pictures Attached)

How to Convert CSV to Excel With Images To convert CSV to Excel with images, import the CSV into Excel first, then add the pictures in Excel itself […]

How to Convert CSV to Excel With Images

To convert CSV to Excel with images, import the CSV into Excel first, then add the pictures in Excel itself — because a CSV file cannot hold images at all. A CSV is plain text: rows of values separated by commas. It has no way to store a photo, a logo, or a thumbnail. The images have to join the data after the conversion, either embedded in cells, floating over the sheet, or linked from image URLs in one of your columns.

This trips up a lot of people. They export a product list from Shopify, WooCommerce, or an inventory system, open the CSV, and wonder where the pictures went. The pictures were never in the CSV. The export usually keeps an image URL in one column (or several), and the actual image files live on a server somewhere. Your job is to turn that text-based export into a workbook where each row shows its picture — and to do it in a way that survives saving, sharing, and sorting.

There are three reliable ways to do it, and the right one depends on what you are starting with: image files on your computer, image URLs in a column, or a mix of both. This guide covers all three, plus the mistakes that make images vanish, drift to the wrong row, or bloat a workbook to hundreds of megabytes.

Why Images Disappear From a CSV

A CSV file stores exactly one thing: text. When a system exports products, orders, or assets to CSV, it writes the image's web address as text — something like https://example.com/photos/red-chair.jpg — into a column usually named Image URL, Image Src, or Thumbnail. The photo itself stays on the server. Open that CSV in Excel and you see a column of links, not pictures.

That is actually useful. The URL column is the bridge: it tells Excel (or a script, or an add-in) exactly which picture belongs to which row. The work is turning those addresses into visible pictures and making sure each picture stays attached to its row when you sort, filter, or share the file.

If your export has no image column at all, check the export settings before doing anything else. In Shopify, for example, the product export includes an Image Src column; in WooCommerce, the product CSV includes an Images column. Re-exporting with images included is far easier than hunting down hundreds of photos by hand. The guide to converting a Shopify product CSV to Excel covers that export in detail. If you only need the file itself converted, the free CSV to Excel converter handles the conversion step.

Method 1: Embed Pictures in Cells (Best for Sharing)

Modern Excel (Microsoft 365 and Excel for the web) lets you place a picture in a cell rather than floating on top of the sheet. A picture in a cell moves with the cell when you sort or filter, and it travels with the file when you send it. This is the method to use when the workbook itself is the deliverable — a product catalogue, an asset register, or a catalogue you email to a client.

Step-by-Step: Pictures in Cells

  1. Import the CSV properly. Open Excel, go to Data > From Text/CSV, pick your file, and load it. Using the import wizard (rather than double-clicking the CSV) keeps dates, codes, and long numbers intact. The guide to converting CSV to Excel without Excel covers the import options if you are on Sheets or LibreOffice instead.
  2. Save as .xlsx first. A CSV cannot store pictures, so save the imported data as a real workbook (File > Save As > Excel Workbook) before adding a single image. If you add pictures and then save as CSV, Excel will silently drop them.
  3. Insert the pictures. Select the cell where the first picture belongs, go to Insert > Pictures > Place in Cell, and choose your image file. Excel scales the picture to fit the cell. Repeat row by row, or select a whole column of cells and insert multiple pictures at once — Excel places them in order.
  4. Size the rows. Set the row height (right-click a row > Row Height) so pictures are visible — 60 to 90 points works well for product thumbnails. Widen the image column too, so pictures are not squeezed.
  5. Sort-test before you send. Sort the sheet by a different column and confirm each picture moved with its row. If a picture stays behind, it was placed over the cell, not in it — delete it and re-insert with Place in Cell.

Keeping File Size Under Control

Full-resolution photos bloat a workbook fast: 500 product photos at 3 MB each is 1.5 GB of workbook. Before inserting, resize photos to the size they will actually be shown at — 400 to 800 pixels on the longest side is plenty for a catalogue thumbnail. Excel also offers Picture Format > Compress Pictures, which shrinks all pictures in the workbook at once. Compress after inserting, and keep the originals in a separate folder in case you need print quality later.

Method 2: Turn Image URLs Into Clickable Pictures

If your CSV already has an image URL column, you have two choices: leave the URLs as clickable links, or convert them into embedded pictures.

Clickable links are the lightweight option. The workbook stays small, and anyone with internet access can click through to the full-size photo. The downside is obvious: no internet, no pictures, and if the server moves the files, the links die. For an internal working file where everyone is online, links are often enough.

Step-by-Step: From URL Column to Pictures

  1. Check the URLs. Click a few to confirm they open the right photo. Fix any that are relative paths (/images/red-chair.jpg) by prefixing the site's domain, or they will not open for anyone else.
  2. Make them clickable. If Excel imported the URLs as plain text, select the column, go to Data > Text to Columns, and finish the wizard (or simply click into a cell and press Enter) to turn them into hyperlinks. In Google Sheets, links usually become clickable automatically.
  3. To embed instead: use Insert > Pictures > Place in Cell > From Online / Stock Images in newer Excel versions, or a small Power Query / VBA routine that loops down the URL column and inserts each image into the next column. For a one-off file under 100 rows, inserting by hand is often faster than writing the routine; for 1,000 rows, automation pays for itself.
  4. Keep the URL column. Do not delete it after embedding. It is your audit trail: if a picture looks wrong, the URL tells you which file it came from, and you can re-download the original.

Method 3: Link Pictures Instead of Embedding (Best for Big Catalogues)

When the catalogue has thousands of rows, embedding every photo makes the workbook slow to open and painful to email. The alternative is to keep the pictures in a folder and link to them: each row stores the file path or URL, and Excel displays the picture from that location.

Floating pictures (Insert > Pictures > Place Over Cells) can also work for a printable catalogue layout, but they do not move when you sort — so a sorted sheet will show the wrong picture next to each row. If you use floating pictures, freeze the sort order: sort once, place pictures, and never sort again. For most working files, pictures in cells (Method 1) are safer than floating pictures.

Which Method Fits Your File?

Situation Best method Why
Catalogue to email or share (under ~300 rows) Pictures in cells Pictures travel with the file and survive sorting
Internal working file, everyone online Clickable image URLs Workbook stays small; full photos one click away
Huge catalogue (1,000+ rows) Linked pictures / URLs Embedding everything makes the file slow and huge
Printable catalogue with exact layout Floating pictures, sort frozen Precise placement, but never sort after placing
Images already on your computer Pictures in cells, resized first No dependency on a server staying up

Common Problems and Fixes

Pictures move to the wrong row after sorting. The picture was placed over the cell, not in it. In Microsoft 365, re-insert with Place in Cell. In older Excel, right-click the picture > Format Picture > Properties > "Move and size with cells" — that setting helps, but true in-cell pictures are more reliable.

The workbook is enormous. Resize the source photos before inserting, then use Compress Pictures. If the file is still huge, switch to linked URLs for the bulk of rows and embed pictures only for the rows people actually look at.

Images vanish after saving. You saved as CSV. CSV stores text only, so every picture is discarded on save. Always save as .xlsx (or .xlsm if you used macros). If a colleague asks for "the CSV back", export a separate CSV of the text columns and keep the picture workbook as the master.

Wrong picture on a row. This usually means the URL column and the picture column got out of step — someone sorted one column without the other. Fix it by re-sorting the whole table as one block (select any cell in the table, then sort), never by sorting a single column on its own.

Broken image links. The photo was moved, renamed, or the site changed its URLs. Keep a local copy of every image you link to, and re-check links before an important send. If you control the source system, prefer stable URLs (a media library URL) over temporary export links.

FAQ

Can a CSV file contain images?

No. CSV is plain text — commas and line breaks, nothing else. It can contain the address of an image (a URL or file path) as text, but never the image itself. To get pictures, convert to .xlsx first and add the images in Excel, Sheets, or LibreOffice.

How do I convert a CSV with an image URL column to Excel with pictures?

Import the CSV into Excel, save as .xlsx, then turn the URLs into pictures: either insert each picture with Insert > Pictures > Place in Cell, or use an automated routine that loops down the URL column. Keep the URL column as your audit trail in case a picture needs replacing.

Why do my pictures disappear when I save the file?

Because you saved as CSV. Saving as CSV discards everything except text — pictures, formatting, and formulas all go. Save the picture version as .xlsx and, if you need a CSV for another system, export a separate text-only copy.

How do I keep pictures attached to the right row when I sort?

Use pictures placed in cells (Microsoft 365 / Excel for the web), which move with the cell when you sort or filter. Floating pictures placed over cells do not move, so sorting scrambles them. If you must use floating pictures, sort once, place them, and never sort again.

How do I stop the workbook getting huge with hundreds of photos?

Resize photos to display size (400–800 px on the longest side) before inserting, then use Picture Format > Compress Pictures. For very large catalogues, link to image URLs instead of embedding, or embed pictures only for the rows people actually view.

Final Checklist

  • The file is saved as .xlsx (never CSV) so pictures survive.
  • Each picture sits in the cell of its own row — verified with a sort test.
  • The original image URL column is kept as an audit trail.
  • Photos were resized before inserting, and Compress Pictures was run.
  • Links were spot-checked before sharing, and a local copy of the images exists.

If all five checks pass, your CSV is now a real picture catalogue in Excel — each row showing its own image, in the right place, at a file size you can actually send.

CE
csvtoexcel.site team

We build free, private, browser-based file tools. Every guide is written and tested by our editors.