Loading 3D engine…
PrintForge is a free, browser-based 3D print design tool. Everything runs entirely in your browser — no uploads, no accounts, no cost. Design your model using one of four modes, then download an STL file ready to slice and print.
The four modes
Pre-built keyring and dog tag designs. Pick a template, enter your text, and adjust dimensions. Ideal for quick personalised prints.
Turn any photo into a 3D panel that reveals the image when backlit. Upload a JPG or PNG and adjust thickness settings.
Construct a model from scratch by combining boxes, cylinders, spheres, and text. Good for simple custom shapes.
Upload an existing STL file and customise it — rotate, scale, mirror, add embossed text, or carve geometry away using Boolean Cut.
Use the 3D viewport controls: drag to rotate, scroll to zoom, right-drag (or two-finger drag) to pan. The ☰ Panel button hides the left panel to give you more space.
Start with a pre-built shape and personalise the text and dimensions.
Choose from Dog Tag, Keyring, Bookmark, Name Badge, Oval Tag, Pendant, Luggage Tag, or Flat Disc. The 3D viewport updates instantly.
Type up to 14 characters in Line 1. Add an optional second line — useful for a year, a number, or a subtitle. Adjust the text size with the slider.
Width controls how wide the tag is. Depth controls thickness. Toggle the keyring hole on or off.
Click Download STL at the bottom of the panel. Open it in your slicer (Bambu Studio, PrusaSlicer, Cura, OrcaSlicer) to prepare for printing.
A lithophane is a 3D panel that looks opaque normally but reveals a photo when held up to a bright backlight (torch, lamp, or LED panel).
Click the upload zone or drag a JPG, PNG, or WebP photo onto it. High-contrast photos with clear shadows and highlights produce the best results.
Controls the physical width of the panel in mm. The height is calculated automatically to preserve your image's aspect ratio.
Min thickness is the thinnest point (bright image areas). Max thickness is the thickest (dark areas). A larger gap increases visual contrast. Typical values: 0.8 mm min, 3–4 mm max.
Low (1 mm sampling) builds fast with a smaller file. High (0.25 mm) gives fine detail but takes longer and creates a larger STL. Medium is a good starting point.
Invert swaps thin and thick areas — enable this if the image looks like a negative. Border frame adds a solid perimeter for rigidity.
Combine primitive shapes and text to build a custom model from scratch.
Click any shape button (Box, Round Box, Cylinder, Sphere, Disc, Flat Cube) to add it to the scene. Each shape appears in the Scene objects list.
Click a shape in the list to select it (it highlights orange). Size and position sliders appear below — adjust width, height, depth, and X / Y / Z position in mm.
On a touchscreen, press and drag a shape directly in the 3D viewport to move it along the horizontal plane. Touching empty space still orbits the camera.
Type in the Add text to model field. Pick which face to attach it to, then position it with the Left/Right, Up/Down, and Rotation sliders. Click ✕ to remove the text.
All shapes and text are merged into a single STL file. The export is in millimetres and ready for slicing.
Upload an existing STL and modify it — fix orientation, resize, mirror, add embossed text, or cut geometry away.
Drag an STL onto the upload zone, or click to browse. Binary and ASCII STL are both supported. The file loads directly in your browser — nothing is uploaded anywhere.
Use X (Tilt), Y (Spin), and Z (Roll) sliders to rotate the model. Many STLs arrive lying flat — use X Tilt to stand them upright. Steps are 5° for control.
Scale X, Y, and Z independently from 10–300%. Set all three to the same value for uniform scaling, or stretch one axis to change proportions.
Tick X, Y, or Z to flip the model along that axis. Useful for producing a mirror image of an asymmetric design.
Type in the Add custom text section. Choose a face, adjust size and raise height (how far text sticks out), then position with the offset sliders. Click ✕ to remove.
Click Boolean Cut. A red transparent shape (the cutter) appears in the viewport. Choose Box, Cylinder, or Sphere. Use position and size sliders to place it over the part you want to remove. Click Apply Cut to subtract that volume.
All transforms are baked into the exported geometry. Open the file in your slicer and it will be exactly as you see it in the viewport.
Select your printer to display its build volume in the 3D view and enable the Fit to Bed feature.
Click the printer bar at the top of the left panel to expand it. Select your printer from the dropdown. If yours isn't listed, choose Custom and enter your build volume dimensions manually.
A blue wireframe box in the 3D viewport shows your printer's maximum volume. Your model should fit inside it. The fit badge in the printer bar turns green when it fits, or yellow when it exceeds any axis.
Use the Scale slider (bottom of the panel) to resize the whole model uniformly. Click Fit to Bed to automatically scale it to just fill your printer's build volume.
Set nozzle size, layer height, infill %, bed adhesion type, and whether supports are needed. These are for reference only — they don't change the STL geometry. Enter them in your slicer when you open the file.