If you’re a frequent user of Google Spreadsheets, you probably already know that you can insert images from the Insert Image menu option. This doesn’t actually insert images into a cell, which is often what people are trying to do.

Get the all-in-one guide to supercharge your G Suite productivity.

The Insert Image menu option actually places an image on top of a Spreadsheet, rather than inside a cell. So if you’re trying to insert several images into a Spreadsheet in some sort of order this isn’t terribly helpful.

Using the =IMAGE Spreadsheet function allows us to insert an image inside a cell, using the image’s URL. This makes it really easy to insert images into a particular cell, and will get larger or smaller depending on the size of the cell (while maintaining the image’s aspect ratio).

There are actually several variations of this function that give you even more functionality:

  • =IMAGE(“URL”) – image retains aspect ratio while increasing / decreasing the cell size
  • =IMAGE(“URL”,2) – image stretches to fit all edges of the cell
  • =IMAGE(“URL”,3) – image retains its original size
  • =IMAGE(“URL”,4,50,50) – set the size of the image by replacing 50,50 with desired dimensions

Click here to watch this video on YouTube.


UP NEXT: How to Change the Paper Size in Word

13 thoughts on “Insert Images Into Google Spreadsheet Cells

  1. Yaphet Reply

    Does it matter where the source image is from? I’ve tried pasting from dropbox and it get “no image found at the url”. I tried pasting from google drive and i get “invalid url”.

    • Ed Reply

      I’ve tried combinations from Google Drive URL, from public access, to anyone with a link, with no success. How do I get the correct Google Drive URL?

      • Klaus Reply

        Ed if you open the image in your Google Drive the key is between / / before edit at the end e.g. /ajlkajcdcsdckjsdch/edit so ajlkajcdcsdckjsdch would be the key to insert at id=

  2. Chris Britton Reply

    Is there a way to insert an image into the cell that is not hosted online somewhere, i.e.- a screenshot I’ve taken.

    • Alexia Reply

      Did you ever figure this out? I’m trying to do the same thing.

  3. Doug Reply

    Does any one know of a way to put a variable into the image string so it can reference a cell to change the place to lookup the image?

  4. Greg Reply

    Hi Gooru,
    Great information – thanks for the tip. I have a related question that I hope you can answer. If I want to insert an image inside a cell, how can I assign a script to the newly inserted image?

    What I’d like to do is create a table of contents tab inside a Google Sheet that has many other tabs. On the table of contents, I’d love to have inserted images that act as buttons to navigate to these different tabs. I can “assign script” to images that have been inserted through the menu toolbar (e.g., Insert > Image or Insert > Drawing). However, it’s extremely clunky to have to realign my images if a new row is inserted into the table of contents.

    So my question is this, is there a way to “assign script” to an image inserted into a cell using the =IMAGE(“URL”) method? If not, is there a way to “assign script” to a hyperlink? I could always just use hyperlinks to navigate to each tab, but I don’t like how it opens a new window every time you click on the hyperlink. And I don’t like how it requires two clicks of a hyperlink (one click for the hyperlink, and then another click for the web address that pops up) to arrive at the desired tab.


  5. Kathi SMith Reply

    I can not get this to work. I have photos in Google Photos – using the URL from there and nothing shows up.
    any suggestions?
    Also tried the long url – but that too did not work.

Leave a Reply

Your email address will not be published. Required fields are marked *

Loading Facebook Comments ...