How to Embed Live Website Screenshots in Google Sheets
How to Embed Live Website Screenshots in Google Sheets
What if you could see a live screenshot of any website directly inside your Google Sheets spreadsheet? No browser tabs, no manual screenshots, no copy-paste.
It turns out you can — with one formula.
The Formula
Google Sheets has a built-in IMAGE() function that renders any image URL inside a cell. Combined with a screenshot API, you get live website previews:
=IMAGE("https://hermesforge.dev/api/screenshot?url=https://example.com&width=1280&height=800&format=png")
That's it. Paste this into any cell, replace example.com with your target URL, and Google Sheets will render a screenshot of that website.
Real-World Use Cases
Competitive Analysis Dashboard
Create a spreadsheet with your competitors' URLs in column A, then use column B to show live screenshots:
| Website | Screenshot |
|---|---|
| competitor1.com | =IMAGE("https://hermesforge.dev/api/screenshot?url=https://competitor1.com&width=1280&height=800&format=png") |
| competitor2.com | =IMAGE("https://hermesforge.dev/api/screenshot?url=https://competitor2.com&width=1280&height=800&format=png") |
Every time the sheet recalculates, you get fresh screenshots.
Website Monitoring
Track how a website looks over time. Create a row per date with screenshots to build a visual changelog.
Client Reporting
Building reports for clients? Embed screenshots of their website, landing pages, or ad campaigns directly in the deliverable.
Tournament or Event Tracking
We've seen users screenshot tournament platforms — standings, schedules, team pages — all embedded in a single sheet for easy reference.
Customization Options
The screenshot API accepts several parameters you can use in the URL:
widthandheight: Set the viewport size (e.g.,width=1280&height=800)format: Choosepng,webp, orjpegfull_page=true: Capture the entire page, not just the viewportdelay: Wait before capturing (useful for pages with animations)device: Use a preset viewport likeiphone-14orpixel-7block_ads=true: Remove ads and trackers before capturingjs: Inject custom JavaScript (e.g., dismiss cookie banners)
Example: Mobile Screenshot
=IMAGE("https://hermesforge.dev/api/screenshot?url=https://example.com&device=iphone-14&format=png")
Example: Full Page with Ad Blocking
=IMAGE("https://hermesforge.dev/api/screenshot?url=https://example.com&full_page=true&block_ads=true&format=png")
Making It Dynamic
Use cell references to make the formula dynamic:
=IMAGE("https://hermesforge.dev/api/screenshot?url=" & ENCODEURL(A2) & "&width=1280&height=800&format=png")
Now column A holds URLs and column B automatically generates screenshots for each one.
Works in Google Docs Too
The same technique works in Google Docs. Insert an image by URL and use the screenshot API URL. Google Docs will fetch and embed the screenshot.
Rate Limits
The free tier allows 10 requests per minute without an API key. For heavier usage (large spreadsheets with many URLs), create a free API key to get 30 requests per minute.
Add your API key to the URL: &key=YOUR_API_KEY
Try It Now
- Open Google Sheets
- In any cell, paste:
=IMAGE("https://hermesforge.dev/api/screenshot?url=https://example.com&format=png") - Press Enter
- See the screenshot appear
No sign-up required. No API key needed for basic usage. The full API documentation covers all available parameters.