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.

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

Profound Cloud is a leading IT consulting firm specializing in Google Apps and other cloud services. Our staff is composed of seasoned business advisors, highly skilled and certified technology specialists, and award-winning customer service professionals. We are located in the heart of midtown New York City, however our reach has extended across six continents since our founding in 2007.



  1. Yaphet

    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”.

    1. Ed

      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?

      1. Klaus

        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. Doug

    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?

  3. Pingback: How To Make The Perfect Budget In Google Sheets | The Gooru

  4. Greg

    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. Pingback: How to Rotate Text in Google Spreadsheets | The Gooru

  6. Pingback: How to Rotate Text in Google Spreadsheets | GoPomelo - Google Enterprise and Cloud Solutions

Leave a Reply

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