How to extract images from an XD file without uploading it
Every "free" online XD tool you've used uploads your file to a company server, extracts it there, and — in several documented cases — keeps a copy or a live download link for days, or limits free users to a few conversions a month. For client work, unreleased designs, or artwork you simply wouldn't post publicly, that's an unnecessary risk. The safer approach is to extract the file where it already is: on your own device.
This tool does exactly that. When you drop an XD here, your browser:
- Checks the file is really an XD file — by its magic bytes, not its name — so a JPEG renamed .xd is refused with a clear message, a PDF renamed .xd is refused with a pointer at the Extract Images from PDF tool, a DOCX renamed .xd is refused with a pointer at the Extract Images from DOCX tool, an XLSX renamed .xd is refused with a pointer at the Extract Images from XLSX tool, a PPTX renamed .xd is refused with a note that it is a presentation, a Sketch file is refused with a pointer at the Extract Images from Sketch tool, a CBZ or plain .zip renamed .xd is refused with a pointer at the CBZ tools, and a password-protected archive is refused with an explanation instead of a cryptic error. A real XD saved with the wrong extension still extracts.
- Reads the file's own structure and pulls the images in artboard order — the manifest lists the artboards in document order, and each artboard's .agc scene graph says which embedded images its shapes use, by resources hash, so the document preview comes first, then the thumbnail, then the artboard images in artboard order, each labelled with the artboard that uses it. Manifest, .agc and macOS entries are skipped, and everything skipped is listed on the file card.
- Hands you the originals — download one image and it keeps its stored identity (an embedded image downloads as its resources hash plus its detected extension); download the file as a ZIP and every image is renamed image-01, image-02 and so on in artboard order. Nothing is re-encoded, rasterized or resized at any point: the bytes you download are the bytes that were stored in the file.
What makes this extractor different
Most pages that top the results for this search convert on a server, or handle one file at a time with no previews — instead of handing you the images themselves. The desktop options are installs, not browser tools. This page does the simpler job, and does it fully in the browser: no upload, no monthly cap, no account, no 10 MB limit, a batch of 20 files, artboard order with artboard labels and unreferenced images labelled, original identity on per-image downloads, sequential names in the ZIP, and a live network-request counter so you can verify the privacy claim yourself.
Honest limitations
Verbatim means verbatim — no quality recovery
JPEG throws away detail when it compresses, and extracting cannot put it back. But nothing is lost either: the source bytes download unchanged, in every format. There is no quality setting because there is nothing to re-encode.
The document preview is a snapshot at save time
preview.png is the full-canvas render saved when the file was last saved — not a live re-render. If the file was edited after its last save without saving, the preview shows the older state.
Metadata stays in the files
Extraction copies the stored bytes, so EXIF and other metadata inside each image is kept — including location data, if the image has any. The file's own package parts are skipped, and listed on the card, but the images themselves are untouched. Strip metadata yourself before sharing an image publicly.
No editable design, no text
Extraction cannot restore the editable design — only Adobe XD reassembles that. This tool pulls out images only: it does not extract the document's text, and images linked from outside the file are never inside it to extract.
Artboard labels, when the file cooperates
Artboard labels come from the manifest and the .agc scene graphs. If a file's artboard layout cannot be read, its images fall to the unreferenced tail with a warning on the card — they still come out byte-for-byte. An image used by several artboards is extracted once, labelled with all of them.
Embedded images carry no filenames
Adobe XD stores embedded images under bare hashes (resources/<hash>), not filenames — so a per-image download is named after its hash plus its detected extension. The ZIP names (image-01, image-02, …) are the readable way to keep the images in artboard order.