Free · runs in your browser · files stay on your device

Add Text to Your STL Model

Open your own model (STL, 3MF, OBJ, GLB or PLY), click the face where the words should go and type. The letters follow that face, flat or curved, and are raised out of it or cut into it. Add several labels, then download one STL or 3MF. It all runs on your device.

Only need text, with no model? 3D text generator or Text to STL (AI).

Loading the text tool...

How to add text to an STL

  1. 1

    Open your model

    Drag an STL, 3MF, OBJ, GLB or PLY onto the tool, or try the keychain tag, ball or chess pawn sample. Nothing is uploaded.

  2. 2

    Click where the text goes

    Click a point on the model. The label sits on that face, square to it, with its letters upright. Click again to move it.

  3. 3

    Type and style it

    Type one or more lines, pick a font, letter height, spacing and angle, and choose Raised (emboss) or Cut in (engrave) with its height or depth.

  4. 4

    Download and print

    The text is joined to the model as one solid. Download STL, or 3MF with the text as its own object for a second colour.

What each setting does

Slicers print what is in the model, so text has to be part of the mesh. These settings decide how it is shaped and joined.

Raised (emboss)The letters stand out of the surface by the height you set (1 mm by default). They also reach 0.5 mm into the model, so they fuse with it even where the surface curves.
Cut in (engrave)The letters are cut into the surface to the depth you set (0.8 mm by default), measured from the surface under each letter.
Letter heightThe height of a capital H in millimetres. Lower-case letters and descenders follow the font. For FDM printers, about 5 mm and up reads well; small text needs a fine nozzle.
Spacing and linesLetter spacing adds (or removes) millimetres between letters. Line spacing sets the gap between lines. Each line can be aligned left, centre or right.
AngleTurns the label on the face. 0 keeps the letters upright: on a side face they read level, on a top face they read from the front.
WeightFonts come in regular and bold. Bolder thickens the strokes a little more, which helps small raised text print.
Curved facesThe label is laid onto the real surface under each letter, so text on a ball, a mug or a handle follows the curve with no floating letters and no gaps.
Text as its own objectFor multicolour printing, the 3MF keeps the text as a second object in the same model, so you can give it its own filament. Cut-in text becomes an inlay that fills the cut.

No model yet? Make one from a photo

Upload a photo of an object, a toy or a pet and get a 3D model you can download as GLB or STL, then add a name or a date to it here. The AI generators use credits; this text tool does not.

More free 3D printing tools

Add text to STL FAQ

Open the STL in the tool at the top of this page, click the face where the text should go and type it. Choose Raised to emboss the letters or Cut in to engrave them, set the letter height and depth, and press Download STL. The text is joined to your model as one solid, ready to slice.
Embossed text stands out of the surface, like a label on a nameplate. Engraved (debossed) text is cut into the surface. Engraved text is easier to print on a top face because it has no tiny islands to start in mid-air; raised text reads better from a distance and is the one to pick for a second colour on top.
Yes. Click anywhere on a ball, a cylinder or a rounded part and the label is laid onto the surface under it: each letter starts below the surface and ends at the height or depth you set, measured from the surface. Keep curved labels smaller than the curve, because letters past the edge of the face hang in the air.
For most FDM prints, 0.6 to 1 mm deep and 5 mm tall or more reads well, with strokes at least as wide as your nozzle. Deeper cuts are clearer but weaken thin walls. Test with a small label first if the text is tiny or the part is thin.
Yes. Tick Text as a separate object and download the 3MF. It holds your model and the text as two objects in one model, so in a multicolour slicer you assign the text its own filament. For engraved text the second object is an inlay that fills the cut. The STL download is always one joined solid.
A model with holes or loose edges is not a closed solid, so text cannot be cut into it. The tool first tries to close small gaps. If that is not enough, raised text is still added and kept overlapping in the file, which slicers join when they slice, while engraving asks you to repair the model first with the free STL repair tool.
Use the 3D text generator to type words and download them as a solid, with or without a backing plate, or Text to STL to make a whole model from a written prompt. This page is for putting text onto a model you already have.
STL (binary or text), 3MF, OBJ, GLB and PLY, up to 100 MB and 1.5 million triangles. The file is read, edited and saved in your browser and never uploaded. Only the open-source geometry engine (manifold-3d) and the fonts are loaded once. No account, no credits, no watermark.

3D Builder, Tinkercad, Meshmixer, Bambu Studio, PrusaSlicer, OrcaSlicer and Cura are named only to describe alternatives and compatibility; The3DAI is not affiliated with or endorsed by them. Fonts are the open-source typefaces that ship with three.js.