npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@crafter/voxtype

v0.1.0

Published

3D typography in pure SVG — turns text into voxel and extruded SVG sculptures

Readme


Install

npx @crafter/voxtype "HELLO"

Or install globally:

npm install -g @crafter/voxtype
# or
bun add -g @crafter/voxtype

Quick start

# Voxel mode (default) — block letter sculpture
voxtype "HELLO" -o out.svg

# Extrude mode — smooth extruded outlines
voxtype "HELLO" --mode extrude -o out.svg

# With theme and projection
voxtype "VOXTYPE" --theme catppuccin --projection oblique -o out.svg

# Pen plotter output — stroke only, no fill
voxtype "PLOT" --plotter -o plotter.svg

Modes

voxel

Rasterizes glyphs into a grid, then stacks voxel cubes in 3D. Each character becomes a block sculpture rendered with isometric or oblique projection.

voxtype "CODE" --mode voxel --resolution 20 --tile 8 --depth 3
  • --resolution — grid height in voxels (detail level)
  • --tile — size of each voxel cube in SVG units
  • --depth — how tall the voxel stack is

extrude

Traces the actual glyph outlines, extrudes them along the projection axis, and renders visible faces with Phong-inspired shading. Produces smooth, typographic 3D letterforms.

voxtype "TYPE" --mode extrude --depth 8 --tile 10
  • --depth — extrusion depth (higher = thicker letterforms)
  • --tile — scale factor for the extrusion geometry

Themes

| Name | Description | |--------------|---------------------------------------| | default | Blue gradient, no background | | catppuccin | Mocha palette, dark #1e1e2e bg | | one-hunter | Red/purple/blue, VS Code inspired | | dracula | Pink/purple/cyan on #282a36 | | mono | Grayscale, light | | mono-dark | Grayscale, near-black #0a0a0a bg | | emerald | Green tones, no background | | sunset | Amber/red on #1c1917 |

voxtype "DARK" --theme mono-dark
voxtype "BLOOM" --theme emerald
voxtype "NIGHT" --theme dracula

Projections

| Name | Description | |--------------|--------------------------------------------------| | isometric | Classic isometric — equal angles, no perspective | | oblique | Cabinet oblique — front face undistorted |

voxtype "ISO" --projection isometric
voxtype "OBL" --projection oblique

Plotter mode

Stroke-only output, black on white, no fill. Ready for pen plotters or laser cutters.

voxtype "HELLO" --plotter -o plotter.svg

All options

Usage: voxtype [options] <text>

Arguments:
  text                  Text to render

Options:
  -V, --version         output the version number
  --font <path>         Path to .ttf or .otf font file
  --size <px>           Font size in px (default: "72")
  --mode <type>         Render mode: voxel, extrude (default: "voxel")
  --resolution <n>      Grid height in voxels (default: "20")
  --depth <n>           Extrusion depth (default: "3")
  --tile <n>            Tile size in SVG units (default: "8")
  --theme <name>        Color theme (default: "default")
  --projection <type>   Projection type (default: "isometric")
  --plotter             Stroke-only mode for pen plotters (default: false)
  -o, --output <path>   Output file (default: stdout)
  -h, --help            display help

Web preview

Start the local server for a live interactive playground:

bun dev
# http://localhost:3333
  • Type any text and see the SVG update in real time
  • Switch modes, themes, projections instantly
  • Download SVG or copy to clipboard
  • Shareable URLs — state encoded in query params
  • 5 built-in presets: logo, sticker, pen-plotter, retro, smooth

Custom fonts

Pass any .ttf or .otf file:

voxtype "CUSTOM" --font /path/to/font.ttf -o out.svg

Without --font, voxtype falls back to system fonts (SF Pro on macOS, Arial on Windows).


Output

All output is pure SVG — no raster images, no external dependencies. The SVG can be:

  • Embedded directly in HTML
  • Opened in Figma, Inkscape, or Illustrator
  • Sent to a pen plotter (with --plotter)
  • Animated with CSS or JS
  • Scaled to any size without quality loss

License

MIT — Railly Hugo