From the Maker’s Bench

Insights from our network of 3d print operators and designers.

Intagly team·Updated

How to Add Text to an STL File

Add raised, engraved or two-color text to an STL, with font sizes we measured, from the makers who print Intagly customers’ orders.

Open the model in your slicer, press the Text tool, type, and choose whether the letters stand up from the surface, cut into it, or sit flush in a second color. Bambu Studio, OrcaSlicer, PrusaSlicer and Creality Print all have that tool now. For most prints, we use Bambu Studio’s Text Shape in Arial at a Size of 6.5 mm, which is about as small as Arial prints cleanly on a standard 0.4 mm nozzle. On Cura, which has no text tool, or with no slicer at all, Tinkercad does the same job free in your browser. Both routes are below, with the font sizes we measured so the letters don’t vanish.

Which route is yours?

You want toUseJump to
Put a name or label on a model you already sliceYour slicer’s Text toolText in your slicer
Do it with no slicer, or you use CuraTinkercad (free, in the browser)Tinkercad steps
Text in a second color, flush with the surfaceText set to Modifier + a second filamentTwo-color text
The smoothest possible lettered facePrint the text face down on a smooth plateSmooth lettering
Text on its own: a sign, name tag or keychainTinkercad or PrusaSlicer, then exportText as its own STL
Text on a curved surfaceBambu Studio or PrusaSlicer surface optionsCurved surfaces
A logo instead of wordsAn SVG file and the same stepsHow to modify an STL

Raised, engraved, flush or cut-through?

Decide this first, because it changes the size you need.

StyleLooks likeSlicer settingWatch out for
Raised (embossed)Letters stand up from the surfacePart (Bambu) / Added (PrusaSlicer)Keep it 0.6–1 mm tall: three to five layers at 0.2 mm
Engraved (debossed)Letters cut into the surfaceCut (Bambu) / Subtracted (PrusaSlicer); Hole in TinkercadGrooves need to be about 1 mm wide, so go bigger than for raised text
Flush, second colorSmooth surface, letters in another colorModifier + a second filamentNeeds an AMS or another multi-material setup
Cut-through (stencil)Letters cut all the way through a plateCut, deeper than the plateO, A, B, D, P, Q and R lose their centers unless you use a stencil font

Text size that actually prints

This is where most text goes wrong. A 0.4 mm nozzle lays down lines about 0.42 mm wide, so any stroke of a letter thinner than that prints as a smudge or not at all. Font size alone doesn’t tell you the stroke width, so we measured it: we rendered every letter and digit of common fonts and found the thinnest stroke in each. The Size field in Bambu Studio and the Height field in PrusaSlicer and OrcaSlicer set the font’s full height (the em), so capital letters come out at about 70% of the number you type.

FontSmallest Size, 0.4 mm nozzleCrisp (two lines per stroke)Smallest Size, 0.2 mm nozzle
Arial6.0 mm12.0 mm3.1 mm
Arial Bold5.2 mm10.4 mm2.7 mm
Arial Black4.5 mm8.9 mm2.3 mm
Verdana Bold4.1 mm8.2 mm2.1 mm
Comic Sans Bold3.5 mm7.0 mm1.8 mm
Times New Roman20.7 mm41.4 mm10.8 mm

How to read it: at the first number, most strokes print as a single line. That’s fine for a label. At the second, every stroke gets two lines and the letters look sharp. Our Arial at 6.5 mm sits just above Arial’s 6.0 mm limit, with capitals about 4.7 mm tall. Switch to Arial Bold or Arial Black and you can go a millimeter or so smaller with the same result. Skip Times New Roman and other serif fonts for small text: their hairline strokes are a fifth the width of Arial’s and disappear below about 20 mm. Avoid Impact for small lettering too: it prints, but the holes in a, e and o close up.

A few more rules from the same numbers. The thinnest spots in every sans-serif font are where diagonal strokes meet, in x, X and k, so check those letters in the preview first. Engraved text needs grooves about a millimeter wide, so use the crisp column for it. For lettering smaller than the table allows, we swap in a 0.2 mm nozzle, which halves every limit. Put text on a top face where you can: letters on a vertical wall are built from stacked layers and lose detail at small sizes.

Need lettering smaller than this, wrapped around an odd shape, or matched to a brand? Chat with one of our design engineers; it’s free to ask.

Add text in your slicer

SlicerOpen the toolRaised / engraved / flushCurved surfaces
Bambu StudioSelect the model, then Text Shape in the top toolbarPart / Cut / ModifierSurround surface and projection modes
OrcaSlicerSame tool as PrusaSlicer: select the model, press TSame as PrusaSlicerUse surface
PrusaSlicerPress T, or right-click the model → Add part → TextAdded / Subtracted / ModifierUse surface (up to 90°)
Creality PrintText embossing tool (version 5.1.2 and later)Raised or engravedDepends on version
UltiMaker CuraNo text toolMake the text in Tinkercad–

Bambu Studio (what we use)

1. Select the model and click Text Shape in the top toolbar. 2. Type your text, pick the font (we use Arial) and set Size; ours is 6.5 mm. Bold and Italic are next to the font. 3. Choose the operation: Part for raised letters, Cut for engraved, Modifier for flush letters in another color. 4. Click the face where the text should go and drag it into place; Thickness sets how tall raised letters stand, Embedded Depth how far they sink into the surface. Recent versions also take more than one line of text: press Enter.

Then slice and look at the preview at the top layers. If any letter shows gaps or missing strokes, raise the Size or switch to a bolder font before you print.

PrusaSlicer and OrcaSlicer

OrcaSlicer took PrusaSlicer’s text tool, so they work the same way. Select the model and press T (in PrusaSlicer you can also right-click the model → Add part → Text). Type the text, pick a font (any TrueType font installed on your computer works), set Height, then choose Added (raised), Subtracted (engraved) or Modifier. Drag the text onto the face you want; it snaps to the surface.

Cura

Cura has no built-in text tool; there is an open feature request for one. The quickest way round it is to add the text in Tinkercad below, export the combined STL, and open that in Cura.

No slicer text tool? Use Tinkercad

Tinkercad is Autodesk’s free 3D editor, and it runs in your browser. It takes STL and OBJ files under 25 MB. Our example is a penguin utility case from Thingiverse; any STL works the same way. New to it? Our beginner’s guide to Tinkercad covers the basics, and the video on this page walks through these steps.

1. Start a design and import your STL

Click Create, then 3D design. Click Import, choose your STL and check the units are set to millimeters before it loads.

Tinkercad dashboard with the Create menu open and 3D design highlighted
Tinkercad import dialog for an STL file with units set to millimeters

2. Add the Text shape

In the Basic Shapes panel on the right, find Text and drag it onto your model. Type your words in the Text field of the Inspector, the shape’s settings panel, and pick a font there.

Tinkercad Text shape placed on the penguin case lid with the text settings open

3. Size it

Hold Shift and drag a corner handle to scale the text evenly, or click a dimension and type it. Tinkercad measures the whole block of text, not the font, so measure a capital letter instead: keep capitals at least 4.5 mm tall in Arial (about 3.7 mm in Arial Bold) on a 0.4 mm nozzle, and make the text 0.6–1 mm thick.

Resizing the Tinkercad text shape with Shift held on a corner handle

4. Raise it or engrave it

For raised letters, lift or lower the text so it sinks about half a millimeter into the surface and stands up above it; text that only touches the surface can print as a loose layer. For engraved letters, set the text to Hole in the Inspector and push it into the surface as deep as you want the grooves.

5. Group and export

Select everything (Ctrl+A) and click Group. That merges the letters with the model, or cuts them out if they’re a hole. Then Export and choose .STL. Open the file in your slicer and check the letters in the preview.

No printer? Upload the exported STL and one of our makers prints it and ships it to you.

Two-color text

Contrast is what makes small lettering readable: black on white or white on black. There are two ways to get it.

With an AMS or another multi-material setup: this is how we do flush lettering. In Bambu Studio, set the Text Shape to Modifier and give it the second filament in the object list. The surface prints perfectly flat and smooth, and only the color of the letters changes. Raised text works too: assign the text part its own filament.

With one nozzle and one spool at a time: make the text raised, slice, and drag the preview’s layer slider to the first layer of the letters. Add a pause or color change there (PrusaSlicer has a + button on the slider for it and inserts M600). The printer stops, you swap filament, and everything above that layer, which is only the letters, prints in the new color. Use the same type of filament for both.

Two-color text kit

A matte black and matte white pair we buy and run: ELEGOO Matte PLA. The matte surface doesn’t glare, so small letters stay readable from any angle.

Add both to your Amazon cart

Amazon shows both items for you to confirm before anything is added. Or check Matte Black or Matte White on its own.

Smooth lettering: print the text face down

For the smoothest lettering, we turn the print over so the lettered face sits on a smooth build plate. Flush text set to Modifier works best this way: the face comes out as flat as the plate, with the letters in the second color. Place it lettering-down in the slicer, then change a few filament settings. These are ours for PLA in Bambu Studio:

Setting (Bambu Studio filament profile)WhereOur value
Flow ratioFilament tab1.02
Recommended nozzle temperature, MinFilament tab230°C
Smooth PEI Plate, initial layerFilament tab, Print temperature60°C
Nozzle, initial layerFilament tab, Print temperature230°C
Part cooling fan, initial layersCooling tab0% for the first 2 layers
Bambu Studio filament settings: flow ratio 1.02, recommended nozzle temperature 230 to 240 C, Smooth PEI plate 60 C, nozzle 230 C
Bambu Studio cooling settings with the part cooling fan at 0% for the first 2 layers

The hotter, slightly over-extruded first layers with no fan press the plastic flat against the plate, so the lettered face has no gaps between lines. Save it as a separate filament profile so your normal prints keep their settings.

Text as its own STL: signs, name tags and keychains

If you want the words themselves as a part, skip the import. In Tinkercad, drag a Box onto the workplane as a base plate (2–3 mm thick is plenty), drop a Text shape on top so it sinks into the plate, add a Cylinder set to Hole near one end if it’s a keychain, Group and export the STL. In PrusaSlicer, right-click the empty bed and choose Add shape → Text, then File → Export → Export plate as STL.

For a cut-through stencil, pick a stencil font, one with small bridges across the letters, so the middles of O, A and D stay attached.

Text on curved surfaces

Flat text on a curved face leaves some letters floating and others buried. Bambu Studio’s Text Shape can wrap the text around the surface (the Surround modes), and PrusaSlicer and OrcaSlicer bend it along the face with Use surface; PrusaSlicer’s limit is a 90° curve. If you have the original CAD file, Fusion’s Emboss command wraps text onto curved faces cleanly. An STL opened in Fusion is a mesh, though, and embossing onto it is slow going, so for a downloaded STL the slicer is the better tool.

Tight curves, small text and a part that has to look professional is exactly the job our design engineers take on.

FAQ

How do I add text to an STL file?

Open it in a slicer with a text tool (Bambu Studio, OrcaSlicer, PrusaSlicer or Creality Print), select the model, add text, choose raised, engraved or flush, and place it on the face you want. Without one of those, import the STL into Tinkercad, add a Text shape, group and export.

Can I add text to an STL without installing software?

Yes. Tinkercad runs in your browser and is free: import the STL, drag in the Text shape, group, and export a new STL.

How do I add text in Bambu Studio?

Select the model, click Text Shape in the top toolbar, type, set the font and Size, choose Part, Cut or Modifier, and click the face where it goes. We use Arial at Size 6.5 mm.

How do I add text in Cura?

Cura has no text tool. Add the text in Tinkercad, export the STL, and open that in Cura.

How do I turn text into an STL?

In Tinkercad, put a Text shape on the workplane (on a thin box if you want a plate behind it), group and export as STL. In PrusaSlicer, right-click the empty bed, Add shape, Text, then export the plate as STL.

What is the smallest text a 3D printer can print?

On a 0.4 mm nozzle, about Size 6 mm in Arial or 4 mm in Verdana Bold, with capital letters 3–4.5 mm tall. A 0.2 mm nozzle halves that. Resin printers go much smaller.

How do I engrave text into a 3D print?

Set the text to Cut (Bambu Studio), Subtracted (PrusaSlicer) or Hole (Tinkercad) and sink it 0.5–1 mm into the surface. Make the grooves about 1 mm wide by using the larger sizes in the table above.

How do I make two-color text?

With an AMS, set the text to Modifier or give the text part a second filament. With one nozzle, add a pause or color change at the first layer of raised letters and swap the spool.

Recap

JobToolSetting
Label a model you already sliceBambu Studio Text Shape (or PrusaSlicer/Orca, T)Arial, Size 6.5 mm or more
No slicer text toolTinkercad Text shapeCapitals 4.5 mm+, 0.6–1 mm tall, Group
Engraved lettersCut / Subtracted / HoleGrooves about 1 mm wide, 0.5–1 mm deep
Flush color lettersModifier + second filamentAMS or multi-material
Smoothest lettered faceText face down on a Smooth PEI plateFlow 1.02, 230°C nozzle, no fan for 2 layers
Black and white filamentELEGOO Matte PLABlack White
Tiny, curved or branded letteringA design engineerFree to ask

Got your file ready? Upload it for an instant quote, and one of our makers prints it and ships it to you.

*Some links in this guide are Amazon affiliate links. As an Amazon Associate, Intagly earns from qualifying purchases, at no extra cost to you.