Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
78 lines (54 sloc) 2.67 KB


Converts OpenType and TrueType (.otf and .ttf) files into 3D printable (.stl) models of letterpress type for a specified point size and glyph.

This project brings together two technologies, old and new, that empower people through the democratization of production.


3d-print-letterpress requires node.js.

Install via npm

$ npm install 3d-print-letterpress -g

Usage Example

$ 3d-print-letterpress 
Usage: 3d-print-letterpress type-file [point-size [glyphs]]
Usage: 3d-print-letterpress svg-file

Keep in mind that STL files are unitless, and that you will have to scale your models to type-high (0.918 in or 23.317 mm).

Single Glyph

$ 3d-print-letterpress Gotham-Book.otf 16 H
output written to Gotham-BookSTL/Gotham-Book16ptUpperH.stl

Multiple Glyphs

$ 3d-print-letterpress Gotham-Book.otf 16 OMG
output written to Gotham-BookSTL/Gotham-Book16ptUpperO.stl
output written to Gotham-BookSTL/Gotham-Book16ptUpperM.stl
output written to Gotham-BookSTL/Gotham-Book16ptUpperG.stl

SVG Path File

$ 3d-print-letterpress bird.svg
output written to svg_pathSTL/svg_path97ptbird.stl

Final Product

Depending on the resolution of your 3d printer, you will likely have to sand the letter face to be perfectly level. I used fine sandpaper while checking the height with a type gauge (pictured above).

My first print:

I chose a sans-serif letter T for its very geometric figure. The grooves are a byproduct of how the 3d printer extrudes. I like how it gives an indication of the material from which the type is made.


3d-print-letterpress uses

  • opentype -- parser for OpenType and TrueType formats
  • JSModeler -- 3D modeling library modifed here to work in Node.js (removed references to the DOM)
  • node-raphael -- SVG utility to perform path calculations