pdf.to.design Docs

pdf.to.design docs

Last updated

What it is

pdf.to.design converts PDF files into editable Figma designs — through a Figma plugin, a web tool, or the ‹div›RIOTS API.

Option Output
Figma plugin Figma layers, or static images
Web tool Figma layers via clipboard
API Figma layers, or Figma REST JSON

Figma plugin requires Figma open; the web tool and API don't. Full output details, including both API formats, in Output.

What it does

Drop in a PDF. pdf.to.design reads its contents — text, fonts, vectors, and images — page by page and rebuilds them as native Figma layers, preserving as much of the original editability as the import method allows, from static images up to fully editable layers (see Output, below).

Where it runs

The plugin runs inside Figma — you'll need Figma open to use it (Figma Community). It works in Figma Design, FigJam, Figma Slides and Figma Buzz. In Slides each PDF page imports as a slide; in Buzz, the PDF lands in a new asset.

The web tool runs in your browser, at divriots.com/pdf.to.design — no Figma required. Accepts drag-drop, click-to-browse, or clipboard paste.

The ‹div›RIOTS API runs wherever you call it from — any backend or app that can make an HTTP request. Same engine, exposed as the pdf input format. Metered separately — see Pricing. Full reference: ‹div›RIOTS API documentation.

Supported input formats

Format Extension
Portable Document Format .pdf

Supported across the plugin, the web tool, and the API. Multi-page PDFs are supported, including exports from Canva, Adobe InDesign, Adobe Illustrator, and Office apps. Password-protected PDFs work too: the plugin and the web tool ask for the password; through the API, pass it as password.

Output

Figma plugin — import methods

Every import goes through one of two methods, trading full editability for a static picture of each page:

Method What you get
Editable layers Text imports as editable text layers, shapes and icons as editable vectors, and images as native Figma images.
Static images Each page imports as a pixel-perfect image. Pixel density is adjustable.

Multi-page PDFs land in a section, with each page as its own frame. Before importing, preview the PDF and choose your pages and layout:

Setting What it does
Page selection Import every page, or just a range — for example 1-5, 8, 11-15.
Page layout Stack the page frames vertically, horizontally, or in a grid.

Web tool

The web tool returns the converted PDF as Figma layers only — there's no HTML output. Drop your PDF, choose its pages, wait for the conversion, then copy the result to your clipboard and paste it straight into Figma. The pages come through as editable layers, one frame per page, stacked vertically inside a single frame.

Setting What it does
Page selection Convert every page (the default), or just a range — for example 1-5, 8, 11-15. Dropping several PDFs at once applies the same choice to each.
Password Asked for only when the PDF is password-protected. It's used for that conversion and never stored.

Page layout, font mapping, and Static images are plugin-only.

API

Two output formats are available for the pdf input type. Pass range (for example 1-5, 8) to convert only some pages.

Output format What it is Credits
figma-clipboard Data to load into the clipboard and paste onto the Figma canvas 2
figma-rest JSON, structurally compatible with the Figma REST API 2

Full reference: ‹div›RIOTS API documentation.

Editability

Element Behavior
Text Imports as editable Figma text layers.
Fonts Detected and matched against the fonts available in Figma. Fonts embedded in the PDF are detected; in the plugin, any that are missing from your workspace are flagged, and you can map each one to an alternative before importing.
Vectors and shapes Shapes, icons, and paths convert to editable Figma vectors, keeping the same geometry they had in the PDF.
Images Extracted from the PDF as separate image layers. In the plugin they import as native Figma images — not frames with an image fill — so you can crop, resize, and swap them like any image placed directly in Figma.
Pages Each page becomes its own frame. In the plugin the frames share a section, whichever layout you choose — layout only changes where they sit on the canvas. The web tool stacks them vertically inside a single frame.

This table describes the Editable layers import method — Static images trades all of this away for a pixel-perfect picture of each page (see Output, above).

Limits

Limit Value
Max file size (plugin) Editable layers: 500 MB on the free plan; up to 10 GB on ‹div›RIOTS ONE
Fonts Fonts missing from your Figma workspace need to be mapped to an alternative. Embed fonts when you export the PDF so pdf.to.design can detect them.
Dense, print-heavy PDFs May need light cleanup after import.

Privacy & processing

  • The Figma plugin, the web app and the API convert your file on the ‹div›RIOTS API. The file is stored only for the processing, then deleted, and never used for training.
  • Anonymous usage analytics are captured (on api.divriots.com) to improve the experience.
  • If an import fails, you can choose to send that one file to us for debugging; nothing is uploaded unless you click that button.

Terms and privacy policies for ‹div›RIOTS products are published at divriots.com/legal.

Pricing

Option Free tier Paid
Figma plugin Static images: unlimited. Editable layers: 5 imports, first 3 pages only ‹div›RIOTS ONE — full features, and multiple files at once
Web tool Same as the free Figma plugin: 5 imports, first 3 pages only ‹div›RIOTS ONE — full features, and multiple files at once
API Metered per call — pdf input reserves 2 credits/call for either output format (figma-clipboard or figma-rest) — see Output, above

One subscription for every ‹div›RIOTS product — pdf.to.design included — with access to every ‹div›RIOTS plugin, service, and API.

Explore plans

How to use

Figma plugin

  1. Open your Figma file, launch pdf.to.design from the plugins menu.
  2. Drag and drop your PDF into the plugin, or click to browse.
  3. If the PDF is password-protected, enter the password when prompted.
  4. Choose an import method — Editable layers or Static images.
  5. Select the pages to import, map any missing fonts, and pick a page layout — vertical, horizontal, or grid.
  6. Click Import.
  7. Your pages land in a section, one frame per page — edit directly on the canvas.

Web tool

  1. Go to divriots.com/pdf.to.design.
  2. Drop your PDF, paste it from the clipboard, or click to browse.
  3. Keep All pages, or choose Some pages and enter a range, then click Convert.
  4. If the PDF is password-protected, enter the password when prompted.
  5. Wait while the engine reads the document.
  6. Click Copy to Clipboard.
  7. Paste into Figma — the pages you chose arrive as editable layers.

API

  1. Generate an API key from your ‹div›RIOTS ONE dashboard.
  2. Send a request to the /convert endpoint with input: pdf and a chosen output format — figma-clipboard or figma-rest.
  3. The conversion runs as a background job: the call returns 202 Accepted with a Location header. Poll GET /convert/jobs/{jobId} until status is done, then download the result from resultUrl (a signed URL valid ~15 min; re-poll for a fresh one if it expires).

Full reference: ‹div›RIOTS API documentation.

FAQ

What file types does pdf.to.design support?

.pdf — including exports from Canva, Adobe InDesign, Adobe Illustrator, and Office apps. Multi-page PDFs are supported.

Can I import a password-protected PDF?

Yes — the plugin and the web tool ask for the password, so you don’t need to remove the protection with a separate tool first. Through the API, pass it as password. It is used for the conversion only, never stored.

How are multi-page PDFs organized?

Each page becomes its own frame. In the plugin the frames share one section, and you choose whether they stack vertically, horizontally, or in a grid, and whether to import every page or just a range. In the web tool you choose every page or a range too, and the frames stack vertically inside a single frame.

What happens to my fonts?

Text imports as editable Figma text, matched against your available Figma fonts. In the plugin, missing fonts are flagged and you can map each one to an available alternative before importing. Embed fonts when you export the PDF so pdf.to.design can detect them.

How are images imported?

In the plugin, images import as native Figma images rather than frames with an image fill applied, so you can crop, resize, and swap them like any image placed directly in Figma.

Can I get HTML output instead of Figma layers?

No — pdf.to.design only produces Figma output: layers via the plugin, layers via clipboard from the web tool, or figma-clipboard or figma-rest via the API. For HTML output from an image, see image.to.design.

Can I use pdf.to.design without Figma?

Yes — the web tool at divriots.com/pdf.to.design runs in your browser without needing Figma open. Copy the result to your clipboard as Figma layers, then paste it into Figma when you’re ready. To convert from your own code, use the ‹div›RIOTS API.

Does it work in Figma Slides?

Yes — run the plugin in a Figma Slides file and each PDF page imports as a slide.

Can I import a Canva, InDesign, or Google Slides file?

Yes — export it as a PDF from the source tool, then import that PDF. From Canva, use PDF Standard. From InDesign, either Adobe PDF (Interactive) or Adobe PDF (Print) works. The same route works for Google Slides, Gamma, OpenOffice and StarOffice presentations, and Mural boards.

Does the plugin upload my PDFs?

For editable layers, yes: the PDF goes to the ‹div›RIOTS API, which converts it. It is stored only for the processing, then deleted, and never used for training. An 'Images' import renders in the plugin and uploads nothing.

Does it work with Figma's Dev Mode?

Yes — once converted, standard Figma functionality applies, including Dev Mode inspection, prototyping, and component libraries.

Can I turn my edited design back into a PDF?

Yes — with the companion plugin export.design.

Can I import multiple PDFs at once?

Yes — importing multiple files at once is included with ‹div›RIOTS ONE.

Is pdf.to.design free?

There’s a free plan: unlimited imports as static images in the plugin, and 5 imports as editable layers (first 3 pages only) in both the plugin and the web tool. ‹div›RIOTS ONE unlocks full features and importing multiple files at once. The API is credit-metered per call.

Support

Need a hand, hit a bug, or have a PDF that doesn’t convert the way you expect? Email us at [email protected]. Attaching the PDF (or a screenshot of the result) helps us help you faster.

See also