3D printed keychains: names, logos, mini models
Type a name into the free Meshcast keychain generator, pick a font and shape, drag the keyring hole where you want it, and download a print-ready STL or 3MF. Print it flat on the bed in PETG for a loop that survives real keys, and swap filament at the raised-text layer for a two-color tag — no multi-color printer needed.
A custom name keychain in 4 steps
Everything runs live in the browser — change a slider and the 3D preview updates instantly.
Type your text
Up to 24 characters, with 7 fonts from bold newspaper to rounded sans. Set text size (3–20 mm) and emboss depth (0.3–2 mm) — the raised text is what makes the two-color trick below work.
Shape the tag
Two modes: Plate (a rounded-corner tag wrapping the text) or Letter outline (the tag hugs the letterforms — great for logos-as-wordmarks). Tune border width, corner radius, thickness (1.5–6 mm) and edge rounding, and drag the text and hole directly on the preview to reposition them.
Set the keyring hole
Hole diameter runs 2–8 mm; 4–5 mm fits a standard split ring. The tool warns you if you drag the ring off the plate so it can't fuse — keep them overlapping into one solid piece.
Pick colors & download
Set plate and text colors in Advanced settings, then download. The 3MF export keeps the colors for multi-color printers and previews; STL works everywhere.
The two-color trick: swap filament at a layer
You don't need an AMS or MMU for two-color text — the raised text starts at a known height, so a single filament change does it:
- Slice the tag flat. With a 3 mm plate, the text begins at z = 3 mm — layer 16 at 0.2 mm layers.
- In your slicer, right-click that layer and add a filament change (M600) or "pause at height".
- When the printer pauses, swap to the text color, purge until clean, resume.
Shrink any STL into a keychain charm
Text tags aren't the only route. The companion model-keychain tool takes any STL — a game character, your dog scan, a Benchy — scales it down (25–200 %), and drills a keyring hole at the top. You pick the up-axis, a teardrop hole (prints without supports) or round hole, and can add a reinforcement ring where the model is too thin around the hole. Same idea, zero modeling.
Loop-hole strength: orientation decides everything
Keychains die at the hole, and the fix is free: print the tag flat. Lying flat, every perimeter runs around the hole in continuous loops, so pulling on the ring loads solid plastic. Printed standing up, the hole is a stack of layer boundaries — it splits like a deck of cards. Add 3–4 walls and keep a 3–4 mm margin of material around the hole.
Material matters second:
| PETG | PLA | |
|---|---|---|
| Toughness on keys | Excellent — bends before breaking | Brittle; cracks on hard drops |
| Hot car / sunlight | Fine to ~75 °C | Can deform from ~55 °C |
| Crisp text detail | Good | Excellent |
| Best for | Daily-carry keychains | Gifts, bag charms, indoors |
FAQ
How do I print a two-color keychain without a multi-color printer?
Use a filament swap. In your slicer, add a filament change (M600, or "pause at layer") at the first layer of the raised text — with a 3 mm plate and 0.8 mm emboss at 0.2 mm layers, that's layer 16. The printer pauses, you swap colors, and the text prints in the second color.
What size should the keyring hole be?
4–5 mm suits a standard split ring; go 6–8 mm for thick carabiner-style rings. Leave a few millimeters of material around the hole — on thin tags, that margin is what fails first.
Is PETG or PLA better for keychains?
PETG for anything that lives on real keys: it's tougher, shrugs off being dropped and scratched, and survives a hot car. PLA is fine for gifts, bag charms and indoor use, and its stiffness makes crisp text — but it's more brittle and can deform in summer-car heat.
Why did my keychain snap at the hole?
Almost always orientation or margin. Print the tag flat so the perimeters run around the hole in unbroken loops, keep 3–4 mm of material around the ring, and use 3–4 walls. A tag printed standing up splits along the layer lines at the hole.
Made by @meshminds3d. Got stuck? Email a photo and I'll help you debug.