How PDFtoSTL works
PDFtoSTL converts vector content from PDF files into extruded 3D meshes you can print on any FDM or resin printer. Here's what happens under the hood and how to get the best results.
Four steps to a print-ready file
- Upload a PDF — drop in any document with text, line drawings, or simple graphics. Multi-page files are supported; pick the exact page you want.
- Refine the source — crop with Select area, paint out headers or watermarks with the Eraser, and toggle Images to include detected raster graphics.
- Adjust settings and convert — match your printer's layer height and nozzle diameter, choose base and extrusion thickness, enable multi-color or mirror mode, then hit Convert.
- Preview, add cutouts, and download — inspect the relief in the built-in 3D viewer, optionally punch through-holes for mounting, then download the STL or 3MF.
The conversion pipeline
- Vector extraction — the PDF page is rendered to SVG with all text converted to vector paths. Every character glyph becomes a set of precise draw commands.
- Path parsing — SVG paths are parsed and Bezier curves are flattened to polylines at the configured curve tolerance.
- Polygon assembly — subpaths are classified into filled polygons (with holes for counters in letters like o, e, B) and stroked polylines (buffered to their real stroke width). Everything is merged into one clean geometry.
- 3D extrusion — the polygons are extruded to the configured height and combined with a rectangular base plate. The result is exported as binary STL or multi-color 3MF.
Optimized for your 3D printer
Most PDF-to-3D converters produce raw geometry and leave you to fix print issues in the slicer. PDFtoSTL takes a different approach: it builds the model around your specific printer settings so the output prints correctly the first time.
You enter two key values from your slicer profile — layer height and nozzle diameter — and the converter uses them throughout the entire pipeline:
- Layer-snapped heights — base thickness and text extrusion height are rounded to exact multiples of your layer height. This guarantees every layer is a full pass — no partial layers that cause banding, under-extrusion, or surface quality problems.
- Nozzle-aware feature filtering — PDF text often contains details finer than any FDM nozzle can reproduce (hairline strokes, thin serifs, tiny punctuation). The converter compares every feature against your nozzle diameter and either drops it for a clean result or thickens it so it actually prints, depending on your Thin line boost setting.
- Thin line boost — a uniform dilation applied to fine strokes. Set it to light for already-bold artwork, medium (default) for typical documents, or heavy for PDFs with very fine lines. The boost ensures thin features come out above the nozzle width so your printer can lay down a solid extrusion.
- Min detail size — strips out specks, dots, and micro-artefacts smaller than a threshold you choose. This keeps the mesh clean without having to manually erase every tiny imperfection from the source PDF.
The result is a print-ready model tuned to your hardware. You shouldn't need to tweak extrusion widths or filter geometry in the slicer — the converter already did it.
All parameters
| Parameter | Default | What it controls |
|---|---|---|
| Layer height | 0.20 mm | Your slicer's layer height — base and text heights snap to whole multiples |
| Nozzle diameter | 0.4 mm | Your nozzle size — features thinner than this are dropped or boosted |
| Base thickness | 1.0 mm | Height of the flat backing plate (snapped to layers) |
| Extrude height | 1.0 mm | How far text and lines protrude above the base (snapped to layers) |
| Scale | 1.0× | Overall size multiplier (0.1× to 3.0×) |
| Thin line boost | Medium | Thickens fine strokes so they survive printing (light / medium / heavy) |
| Min detail size | 0.0 mm | Drop tiny artefacts smaller than this diagonal |
| Curve tolerance | 0.1 mm | Bezier flattening precision — lower is smoother but produces larger files |
| Mirror X | Off | Flip horizontally — use with Emboss for stamps and printing plates |
Output modes
| Mode | Format | What you get |
|---|---|---|
| Default | STL | Single-color relief — text and lines extruded on top of a base plate |
| Multi-color | 3MF | White base + one component per detected colour, each mapped to an extruder. Works with Bambu AMS, Prusa MMU, and manual filament changes. |
| Inset bottom | 3MF | Text is flush with the bottom surface of the plate. A solid slab sits on top. Useful for multi-colour prints where the text is visible from below. |
| Inset top | 3MF | Text is flush with the top surface of the plate. A solid slab sits underneath. Useful for multi-colour prints where the text is visible from above. |
| Deboss | STL | Text subtracted from the plate — channels are carved into the top surface by the extrusion height. Total height stays at the base thickness. Ideal for debossing plates pressed into paper, leather, or clay. |
Multi-color 3MF and color mapping
When Multi-color is enabled, the converter scans the page for distinct fill and stroke colours, clusters them by RGB distance, and opens a Color Mapping dialog before conversion. You can assign each cluster to an extruder (1–4) or skip it entirely.
The exported 3MF embeds Bambu-compatible configuration, so Bambu Studio opens its colour-matching dialog automatically. Cura and PrusaSlicer read the standard basematerials block.
Cutouts (through-holes)
After converting, switch to the 3D preview and click Cutout to punch holes straight through the base plate and relief. The converter auto-detects circular and rectangular shapes in the source PDF — hover near one and it snaps to size. You can also place free-form holes anywhere on the plate.
Cutouts are perfect for screw holes, mounting points, key-chain loops, and wall hangers.
3D printing tips
- Layer height: 0.1–0.15 mm for readable small text; 0.2 mm is fine for headings and thick lines.
- Nozzle: a 0.4 mm nozzle prints features down to ~0.4 mm width. Match the nozzle diameter setting to yours.
- Extrusion height: 0.6–1.0 mm gives a clear tactile relief without wasting filament. One or two layers above the base is usually enough.
- Base thickness: 1.0 mm is sturdy enough for handling. Increase to 1.5–2.0 mm for larger pages.
- Material: PLA works well for most reliefs. For stamps, select Emboss + Mirror X and print in TPU (flexible).
- Bed adhesion: a brim helps with full-page prints that cover most of the build plate.