EmbedPDF

Add or extract PDF attachments

See the files inside a PDF, save them, or attach new ones. Free, and your files never leave your device.

Your files stay on your device. Nothing is uploaded.

How it works

  1. 1

    Add your PDF

    Drop it on the page or choose it. The files inside it are listed straight away.

  2. 2

    Save or attach files

    Save any file, or all of them at once. Drop other files on the page to attach them.

  3. 3

    Download the PDF

    Changed something? Press Download PDF to get it with its new attachments.

FAQ

Questions people ask

What are PDF attachments?

Files carried inside a PDF, like the spreadsheet behind a report or the XML of an e-invoice. PDF readers list them in an attachments panel. Some are pinned to a spot on a page instead; this tool shows both kinds.

How do I get the files out of a PDF?

Drop the PDF on this page. Press Save next to a file, or Save all files to get them together in one zip file.

How do I attach a file to a PDF?

Open the PDF here, then drop the files you want to attach on the page, or press Attach files. Press Download PDF to get the PDF with the files inside.

Can I attach any kind of file?

Yes: spreadsheets, images, XML, other PDFs, any file. PDF readers show them in their attachments panel.

Are files I remove really gone?

Yes. The downloaded PDF is written fresh, so a file you removed is not left inside it. A signed PDF is the exception: to keep its signature, it keeps its signed version, with the files it had then.

Are my files uploaded anywhere?

No. The tool runs in your browser, on your device, with the open source EmbedPDF engine. Your files are never sent to a server, and the tool keeps working if you go offline after the page has loaded.

Is it free and open source?

Yes. There is no account, no watermark and no limit on how often you use it. The tools and the EmbedPDF library they are built on are open source under the Apache-2.0 license, and the code is on GitHub.

Which browsers does it work in?

Any current version of Chrome, Edge, Firefox or Safari, on a computer, tablet or phone.

For developers

Work with attachments in your app

Listing, saving and attaching files is a few calls in EmbedPDF, in the browser or in Node.

attachments.ts
import { localEngine } from '@embedpdf/engine';

const engine = localEngine();
const doc = await engine.open({ kind: 'bytes', bytes });

const { attachments } = await doc.attachments.list();
const data = await doc.attachments.download(attachments[0].ref);
await doc.attachments.create({ data: file }); // a File the user picked