Extract PDF attachments — pulling the embedded files out, in the format they were stored in
Where the Attachments Viewer surfaces the metadata of every embedded file inside a PDF, Extract Attachments pulls the actual bytes out and saves them to your disk as standalone files. The difference matters when you actually need to use the embedded content: open the e-invoice's XML in your accounting system, read the research paper's source data in Excel, run the archive package's source documents through their native applications. Here is how extraction works, the three common workflows where pulling attachments out is the load-bearing operation, and the patterns that catch users on first use.
How extraction works
The tool parses the PDF's /Names tree's /EmbeddedFiles entry, identifies every file stream, decodes any compression filters (FlateDecode is most common), and writes each decoded stream out as a file. Filenames come from the PDF's /F or /UF entries — UF (Unicode filename) is preferred when present; F (PDFDocEncoding) is the fallback. MIME types are inferred from extensions: .xlsx → application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, .xml → application/xml, etc.
Output is a single .zip containing every extracted file with its original filename preserved. Filenames that contained path separators ("/" or "\") get sanitized — embedded paths are usually irrelevant and sometimes a vector for path-traversal attacks if the user blindly trusts them.
Three workflows where extraction is the load-bearing operation
Specific cases that benefit:
- Processing e-invoices (ZUGFeRD / Factur-X). European hybrid e-invoices embed structured XML data inside the visible PDF. Your accounting system reads the XML, not the PDF. Extract pulls the XML out so the accounting system can process it directly without a separate vendor-supplied data extractor.
- Reanalyzing research data. Many scientific papers embed source data (CSVs, JSON, raw measurements). Extracting them lets you reanalyze with your own statistical pipeline rather than trusting the paper's chart interpretation.
- Recovering source documents from PDF/A-3 archives. A PDF/A-3 archive package preserves the original source document(s) alongside the rendered PDF. If the archive's PDF version is no longer satisfactory and you have the original Word / Excel / Photoshop file embedded, extraction recovers it.
Two patterns that catch users
Surprises worth knowing:
- Some PDFs have no extractable attachments despite seeming to. PDFs can include image objects, form widgets, or annotations that look like attachments in a UI but aren't tracked in /EmbeddedFiles. If the Attachments Viewer surfaces nothing, there's nothing for Extract to pull. For image extraction use Extract Images; for form-data extraction use the Form Fields inspector.
- Rare compression filters may fail to decode. Common: FlateDecode (basically Zlib). Less common: LZWDecode, ASCII85Decode chained — these decode fine. Rare: JBIG2Decode or custom proprietary filters where the encoder used an unusual variant. The tool reports the failure with the offending attachment name; you can usually open the source PDF in Acrobat and save the attachment manually.
Security note
Extracted attachments are just files — they have whatever payload was embedded. If the source PDF came from an unknown sender, treat the extracted attachments with the same caution you would treat any email attachment from that sender:
- Scan with anti-malware before opening. Especially .docx, .xlsx, .js, .exe, .bat extensions. These can carry executable payloads.
- Open in a sandbox first. If your platform supports application sandboxing (macOS Sandbox, Windows Sandbox), open suspicious extracted files there first.
- Verify against the sender's expected attachment list. If the sender said "the PDF contains the invoice XML," extraction should produce one .xml. If you get six files including .exe, something is wrong.
Limits and compatibility
On the free web tool, extraction handles PDFs up to 100 MB with no attachment-count cap. Decoding runs in your browser; nothing is uploaded. Output is a single .zip containing every extracted file with original filenames preserved (path-sanitized).
Common pairings: Attachments Viewer first to verify what's inside before extracting. Extract Attachments → Remove Metadata + AI · Redact on the main PDF to sanitize after attachments are extracted (the source PDF may still carry references to the attachments even after the bytes are extracted).