How to extract images from Google Docs and Google Slides
Three reliable ways to get every image out of a Google Doc or Slides deck — with or without losing resolution — including the publish-to-web trick that beats every other method.
Google Docs and Slides don't have an "export images" button. They have three workarounds, with very different output quality.
Right-click → Save to Keep (lowest quality)
Right-click any image → Save to Keep. The image lands in Google Keep where you can drag it to your desktop. Fast for one image; the saved file is often downsampled. Avoid if quality matters.
Download as Web Page (every image, full quality)
Google Docs: File → Download → Web Page (.html, zipped). The zip contains an images/ folder with every embedded image at original resolution. This is the right answer for batch extraction.
Google Slides doesn't have the same option directly, but File → Download → PowerPoint (.pptx) gives you a .pptx file. Unzip it (it's a zip archive) — the ppt/media/ folder inside contains every image at original quality.
Publish to Web (URL-accessible images)
File → Publish to the web. Each image gets a public URL you can right-click → save. Useful when you need to embed images elsewhere or pipe them through another tool by URL. Caveat: the document is now public until you stop publishing.
Apps Script for automation
If you're processing many docs, Apps Script can iterate every image and save it to Drive:
function extractImages() { const doc = DocumentApp.openById("DOC_ID"); const images = doc.getBody().getImages(); const folder = DriveApp.createFolder("extracted"); images.forEach((img, i) => { folder.createFile(img.getBlob()).setName(`img_${i}.png`); }); }
For Slides: SlidesApp.openById, then iterate slides and getImages() per slide.
What you can't do
- Extract images from a doc shared as view-only without making your own copy first — File → Make a copy, then use any of the methods above.
- Get images that were inserted via Google Drawings as separate Drawings — you'll get a placeholder thumbnail, not the source.
- Bulk-extract from a folder of docs without scripting — Apps Script or the Drive API is required.