PDFs are everywhere; SVGs are what designers and developers actually want to work with: editable, scalable, web-friendly. This converter parses your PDF in the browser and gives you back clean per-page SVGs, with the option to edit the design in a full editor before you download.
Per-page SVGs, packaged sensibly
SVG has no notion of multi-page documents, so we split: one SVG per page, named page-01.svg, page-02.svg, and so on, all in a single ZIP. If your PDF is a single page, you skip the ZIP and download the SVG directly. If you want to grab only a specific page, opt to edit, delete the pages you don't need, then export.
Converting a PDF to a vector file
“PDF to vector” and “PDF to SVG” are usually the same request. A PDF is already a vector container — text, paths and fills are stored as instructions, not pixels — so converting one to a vector file is not tracing or redrawing anything. It is reading the instructions that are already in there and re-expressing them in a format your editor can open. That is why the vectors survive in a way that “image to vector” never manages. It is not lossless — fonts are remapped to the nearest available family, so check type-heavy artwork.
SVG is the vector format that matters here because every browser, Illustrator, Inkscape, Affinity Designer, Figma and every cutting machine reads it. If you were sent a PDF and asked for “the vector file”, an SVG is almost always the thing being asked for. Drop the PDF above and you get one per page.
The exception that catches people out: a PDF that contains nothing but a scan or a screenshot has no vector data to recover. It is a bitmap in a vector wrapper. The converter will still produce an SVG, but that SVG contains the same bitmap — it will not scale cleanly and it cannot be recoloured path by path. Turning that into real vector artwork is image tracing, a different operation needing a different tool. If your PDF came out of a design application it will convert properly; if it came out of a scanner it will not.
Vector preserved where possible
The conversion uses Mozilla's pdf.js via the @polotno/pdf-import package, which we built for SDK customers who needed to import existing PDF assets into Polotno editors. It walks the PDF operator stream, recovering text as text, shapes as paths, embedded images as images. The output isn't a screenshot wrapped in SVG. It's a real vector reconstruction.
Edit during conversion
As soon as the PDF parses, the design opens in the live Polotno editor. Move things, retype text, swap colors, drop in new images, delete pages you don't need, then click Download SVG in the bar above the editor. Single pages export as .svg, multi-page designs as a .zip. No round-trip through Illustrator, no upload to a third-party service.
The same conversion in code
The Polotno SDK exposes the same primitives this page is built on. To do the conversion in your own browser or Node.js code:
import { pdfToJson } from "@polotno/pdf-import";
import { jsonToSVG } from "@polotno/svg-export";
const buffer = await file.arrayBuffer();
const json = await pdfToJson({ pdf: buffer });
// An SVG document holds one page, so export them one at a time —
// the same reason multi-page PDFs come back as a ZIP above.
const svgs = await Promise.all(
json.pages.map((page) => jsonToSVG({ ...json, pages: [page] })),
);Full API reference: PDF Import and the Import & Export overview.
