Type on screen is forgiving. Type in thread is not. A font that looks perfect in a vector editor can stitch out furry, gappy or warped the moment a needle pushes it into fabric, because embroidery is built from physical stitches that pull and pile up. This guide explains how embroidery fonts actually stitch, when to choose satin vs fill letters, how BX fonts fit in, and the small-text legibility rules that keep names readable on a hat or a baby blanket.
How embroidery lettering is actually built
Embroidery fonts are built from just three stitch types, combined cleverly.
- Satin — long, parallel stitches that span the width of a stroke and give that glossy, raised look. Satin is the workhorse of machine embroidery lettering because the light running along the threads is what makes type look crisp.
- Fill (tatami) — rows of short stitches that tile across a large area, used for letters or shapes too wide for a single satin stitch to span safely.
- Running — a single line of stitches, used for fine outlines, serifs and the tiniest text where there is no room for a column at all.
Underneath the visible thread sits underlay: low-density stitches laid down first to anchor the fabric to the stabilizer and give the top stitches a foundation. Skip the underlay and satin letters sink into the fabric and look thin; the right underlay (a centre run plus edge walk for satin) holds the stroke up and sharp.
The other force you cannot ignore is push-pull. As stitches form, thread tension pulls the fabric inward along a column and pushes it outward at the ends, so a perfect "O" stitches out closed up. The fix is pull compensation — quietly making columns a fraction wider than drawn so they finish the right size. A good lettering engine applies this automatically; a cheap auto-tracer does not, which is one reason traced "fonts" look mushy.
Satin vs fill letters, and the small-text rules
The single most common lettering mistake is using the wrong stitch type for the size of the letter.
| Letter element width | Best stitch | Why |
|---|---|---|
| Under ~1mm | Running outline | Too narrow for a column; satin will shred |
| ~1mm to ~9mm | Satin | Glossy, crisp, the default for type |
| Wider than ~9-12mm | Fill (tatami) | A single satin stitch this long snags and loosens |
For small-text legibility, height matters more than anything. Most fabrics will not hold clean lettering below about 5mm (roughly 0.2 inch) capital height, because the counters — the enclosed gaps in letters like a, e, o and the loop of an R — close up and fill with thread. Below that size, simplify: choose a clean sans-serif, drop hairline serifs, and let the engine convert tiny strokes to a running outline. On towels and fleece, add a water-soluble topping so stitches sit on the pile instead of sinking into it, and use a firm cutaway stabilizer so dense letters do not pucker.
Density is the last dial. Too dense and the thread piles up, the needle jams, and the back goes stiff; too open and the fabric grins through. Satin lettering typically lands around a 0.4mm stitch spacing, but you tune it to the thread and fabric rather than trusting a single default.
Where BX fonts and monogram styles fit
Not everyone wants to build letters from scratch, and you usually should not have to.
BX fonts are alphabets that have already been digitized — every glyph is a finished stitch object with its own underlay and density — and packaged in the BX format popularised by Embrilliance. You install the font once, then type with it. They are quick and reliable, but each BX font is a fixed style at the sizes its author intended, so pushing one far outside its range reintroduces the density and legibility problems above.
A built-in lettering engine takes the opposite approach: you type, and it generates the stitches live, recalculating underlay, pull compensation and spacing every time you rescale or re-space. For a monogram maker workflow this is the better tool, because monograms live or die on spacing. Classic three-letter monograms set the centre initial larger (with the surname initial in the middle for a married monogram), and you will nudge letters together, drop them into a frame, and balance the satin density across all three. StitchKit gives you both routes — import your existing BX fonts, or type with a live engine — so you are never locked into one style library.
Build a clean monogram in StitchKit
- Create a new design at your final fabric size and set the hoop you will actually stitch in.
- Type the initials with a satin lettering font, then set the layout to a three-letter monogram so the centre initial scales up.
- Check the height. Keep the smallest letter element above ~5mm; if StitchKit flags a column as too narrow, raise the size or let it convert that stroke to a running outline.
- Add a frame (circle, diamond or laurel) and adjust letter spacing so the initials sit evenly inside it without crowding.
- Tune underlay and density for your fabric — heavier underlay and a topping for towels, lighter for a stable woven shirt.
- Preview in 3D and check trims and jumps. Trim long colour-to-colour jumps so they do not get caught and pulled; StitchKit shows the stitch path and density heatmap so you can spot pile-ups before stitching.
- Export to your machine format — DST, PES, VP3, JEF or EXP — and keep the editable master for the next size.
Because StitchKit opens and edits DST, PES, VP3 and more natively on both macOS and Windows, you can pull in a logo a customer emailed, fix a broken satin column at the node level, retype the name, and send it back out in minutes — no virtual machine, no round-tripping through a converter. That is the advantage of a true editor over auto-tracing a picture and hoping the stitches land. Map your stitch types deliberately, respect the small-text rules, and your lettering will read clean on the first stitch-out.