Drop files to upload

JPG, PNG, WebP, GIF, SVG, MP3 — Max 50MB

Select File

Auto-deletes in ~2 weeks

Free — no account needed

CDN SSL Permanent Instant
GOOGLE SHEETS

Image URLs for Google Sheets.

Google Sheets can show a picture inside a cell with the IMAGE("url") formula, but that formula needs a direct link to the actual image file - not a Drive share page and not a web page that happens to contain the photo. Upload your image here, copy the link it returns, and drop it straight into =IMAGE(). It handles JPG, PNG, WebP, GIF and SVG up to 50 MB, with no recompression and no watermark, so product photos, icons and charts stay crisp in the grid.

Images for Google Sheets at a glance

Price
Free
Sign-up
Not required
Formats
JPG, PNG, WebP, GIF, SVG
Max size
50 MB
Output
Direct URL for =IMAGE()

How It Works with Google Sheets

1

Upload your image

Upload your image to ImageToURL and copy the generated direct URL.

2

Select your cell

In Google Sheets, click the cell where you want the image to appear.

3

Use the function

Type =IMAGE("paste-your-url-here") and press Enter to display the image.

Why You Need External URLs

=IMAGE() Needs Public URLs

The =IMAGE() function only works with publicly accessible, direct image URLs; private links or HTML pages will not render.

Google Drive Links Fail

Google Drive sharing links point to preview pages, not raw image files, causing errors in your spreadsheet.

Permanent URLs

Our CDN-backed URLs never expire, ensuring your reports and dashboards remain functional long-term.

Team-Accessible

Public CDN links mean every collaborator sees your images instantly without needing complex permission management.

Ways to show an image in Google Sheets

Sheets offers a few routes to a picture in the grid, and they behave differently when you sort, share or move the file. Here's the practical comparison.

MethodPublic URL neededMoves with the rowWorks for collaboratorsNotes
=IMAGE(direct URL)YesYes (in-cell)YesThe reliable route for link-driven lists
Insert > Image over cellsNoNo (floats on top)YesGood for one logo, not for data rows
=IMAGE(Drive link)YesYesOften failsDrive link is a viewer page, not the file
=IMAGE(web page URL)YesYesRiskyErrors unless it ends at the raw image
=IMAGE(Imgur page)YesYesNoGallery page, not a direct file link

How the =IMAGE() function works

The formula takes the form =IMAGE(url, [mode], [height], [width]). The url has to be a direct link to the image file, served over the open web - that's the part people trip on. Mode 1 is the default and fits the picture to the cell while keeping its proportions; mode 4 lets you pin an exact pixel size. Paste the link this tool gives you between the quotes and the cell fills with the picture. Resize the row or column and, in fit mode, the image scales to match.

Why Google Drive links break in =IMAGE()

Copying a Drive file's share link feels like the obvious move, but that URL opens a Drive preview page rather than the raw image. =IMAGE() can't turn a web page into a picture, so the cell shows an error or a broken thumbnail. People then spend ages hunting for the 'right' Drive URL format. A host that returns a true direct link sidesteps the whole problem - the URL ends in the file extension and points straight at the bytes Sheets needs.

Keeping a spreadsheet's images alive

If a sheet is a quick scratch list, anonymous links lasting a couple of weeks are fine. But a catalog or dashboard you'll revisit deserves links that won't vanish: sign in free and mark uploads 'keep forever' so no cell turns into a broken-image box later. Bear in mind anyone you share the sheet with can read the image URLs, and the images themselves are public, so reserve this for catalog and reporting visuals rather than anything confidential.

Where =IMAGE() links earn their keep

A direct URL in a cell turns a plain spreadsheet into something you can actually read at a glance:

Product catalogs

Put a thumbnail next to every SKU so the photo sorts and filters with the row. Inventory and pricing sheets get far easier to scan.

Dashboards and reports

Drop logos, flags or status icons into summary tables. Because the image lives in the cell, it travels with the data when you reorganise.

Asset and content trackers

Track creative, listings or social posts with a preview image beside each entry instead of a folder full of files to open separately.

Frequently Asked Questions

How do I display an image in Google Sheets?

Use the =IMAGE() function with a direct image URL. For example: =IMAGE("https://imagetourl.cloud/your-image.jpg").

Why don't Google Drive image links work in =IMAGE()?

Google Drive links point to a preview page, not the raw image file. The =IMAGE() function requires a direct URL that serves the image file directly.

Can I resize images inside Google Sheets cells?

Yes, you can use the mode parameter in =IMAGE() to fit, stretch, or keep the original size, or define custom dimensions.

Will the images load for everyone who views my spreadsheet?

Yes. Since ImageToURL provides public, CDN-backed URLs, anyone with access to your spreadsheet will see the images load instantly.

Is there a limit on how many images I can add?

There is no limit from our side. While Google Sheets may slow down with thousands of images, typical catalogs and dashboards work perfectly.

What is the difference between =IMAGE() and Insert > Image?

=IMAGE() puts the picture inside a cell, so it moves, sorts and filters with the row - ideal for product catalogs and dashboards. Insert > Image > Image over cells floats the picture on top of the grid and doesn't sort with your data. For a link-driven list, the formula is almost always what you want.

What's the syntax for =IMAGE() with a custom size?

Use =IMAGE(url, mode). Mode 1 fits the image to the cell keeping aspect ratio, 2 stretches it, 3 keeps original size, and 4 lets you set height and width in pixels, like =IMAGE("https://imagetourl.cloud/abc.png", 4, 80, 120).

What image formats and sizes are supported?

JPG, PNG, WebP, GIF and SVG, up to 50 MB each. Transparent PNGs keep their transparency, which is handy for logos and icons sitting in coloured cells.

Do the image links expire?

Anonymous links last at least a couple of weeks. For a sheet you'll keep around - a price list, an asset tracker, a dashboard - sign in with a free account and choose 'keep forever' so the cells don't turn into broken-image errors months later.

Are the images private?

No. =IMAGE() only works with publicly reachable URLs, and anonymous uploads here are public to anyone with the link. That's fine for catalog and product images, but don't host confidential material this way.

Add images to your spreadsheets today

Upload an image, copy the URL, and use =IMAGE() in Google Sheets in seconds.

Upload Now