3D Text Image Generator - Create Extruded Text PNG Online
Generate stunning 3D extruded text images online. Customize depth, colors, rotation, font, and download as transparent PNG. Free, no signup.
About
Flat text communicates content. Extruded text communicates presence. This tool renders real 3D-extruded typography onto an HTML Canvas, letting you control extrusion depth d, face color, shadow color, rotation angles θx and θy, and font parameters. The output is a production-ready transparent PNG. Unlike CSS text-shadow hacks that only fake depth with a few offset copies, this renderer draws up to 80 discrete extrusion layers with per-layer color interpolation, producing a smooth gradient from face to shadow that holds up at print resolution. The limitation: true perspective projection is not applied. The tool uses parallel (oblique) projection, which is accurate for signage and social media headers but will not match a camera lens distortion model.
Formulas
Each extrusion layer i (from 0 to d) is drawn at an offset computed by the rotation angles:
The color of each layer is linearly interpolated between the extrusion (shadow) color and the face color:
Where d = extrusion depth in pixels, θx = vertical rotation angle, θy = horizontal rotation angle, Cface = front face hex color, Cshadow = back extrusion hex color. Layer 0 is the deepest (drawn first), layer d is the front face (drawn last). This back-to-front painter's algorithm ensures correct occlusion without z-buffering.
Reference Data
| Parameter | Range | Default | Effect |
|---|---|---|---|
| Font Size | 24 - 200 px | 80 | Controls glyph height on canvas |
| Extrusion Depth | 0 - 80 px | 20 | Number of layered copies creating 3D effect |
| X Rotation | −45° - 45° | 0° | Vertical tilt of extrusion direction |
| Y Rotation | −45° - 45° | 15° | Horizontal tilt of extrusion direction |
| Canvas Width | 200 - 2000 px | 800 | Output image width |
| Canvas Height | 100 - 1000 px | 400 | Output image height |
| Face Color | Any hex | #7C8CF8 | Front face fill of text glyphs |
| Extrusion Color | Any hex | #3A3D8C | Deepest layer color; intermediate layers interpolated |
| Background | Transparent or any hex | Transparent | Canvas background fill |
| Font Family | System fonts | Arial Black | Typeface used for rendering |
| Letter Spacing | 0 - 30 px | 2 | Tracking between glyphs |
| Outline | On/Off, 1 - 6 px | Off | Stroke around each glyph for contrast |
| Drop Shadow | On/Off | Off | Soft shadow beneath entire text block |
| Bold | On/Off | On | Font weight toggle |
| Italic | On/Off | Off | Font style toggle |
Frequently Asked Questions
measureText() and adding the spacing offset between characters. Kerning pairs defined in the font file are partially lost in this process, so results may differ slightly from CSS-rendered text.