Skip to content
ijanosPublic

About

3D printable text ambigram generator

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

Ambi

Browser-based tool for creating 3D-printable ambigrams from two words of the same length.

👉 Live demo → ambi3d.com

Successor to 3dwords.rekettye.com (GitHub).

Features

  • 3D ambigram generation from any two equal-length words
  • Multiple fonts with per-side font selection (some combos may yield weird results)
  • Adjustable letter spacing
  • STL export for 3D printing
  • Optional base platform with configurable height
  • Perspective and orthographic camera modes
  • Normal vector and wireframe visualizations
  • Warnings for floating-geometry issues

How it works

Everything runs client-side. No server, no tracking, no cookies.

Three.js handles 3D rendering, STL export, and font outline loading. Solid creation, rotation, and Boolean intersections happen in Manifold's WebAssembly module. The UI is vanilla TypeScript transpiled to JavaScript, built with Vite.

Browser support

Requires WebGL and WebAssembly.

Installation & development

npm install
npm run dev      # start dev server
npm run build    # type-check, lint, and build for production
npm run preview  # preview the production build

Adding fonts

Fonts are stored as *.typeface.json files in src/assets/fonts/. The catalog is auto-generated during npm run dev and npm run build via the generate:fonts script.

To add a new font, drop a valid typeface JSON file into src/assets/fonts/ and rebuild. Fonts are sourced from components-ai/typefaces, Three.js and Google Fonts. Converted with facetype.js when needed.

License

Source code is dual-licensed under either of:

at your option.

Font files have their own licenses mentioned in the *.typeface.json files.

About

3D printable text ambigram generator

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages