TOOL · QR
QR generator
For printing on paper, labels or straight on your 3D printer. Everything is generated in your browser.
Nothing you type leaves your device.
Test it with your phone camera before printing in bulk.
The logo is processed locally, it is never uploaded anywhere.
More correction = denser QR but more resistant to damage. With a logo, use H.
How to 3D print your QR code
A 3D printed QR code scans perfectly if you respect two things: contrast between code and base, and moderate relief. This guide comes from real tests on a Bambu Lab A1 and a Prusa MK3S+.
- 01
Generate the QR with your content and pick a preset (keychain, tag or sign).
- 02
Choose filament colors with strong contrast: light base and dark code, or the other way around.
- 03
Export. If you have a multicolor printer (AMS), download the 3MF: it opens in Bambu Studio with the colors already assigned. If not, download the parts ZIP or the single-piece STL.
- 04
Print flat on the bed, no supports. Layer height 0.2 mm or less.
- 05
Scan it before gifting it: the phone camera is unforgiving.
Single-color printer: filament change
- Load the single-piece STL into your slicer and find the layer where the base ends and the code begins (with a 2 mm base and 0.2 mm layers, it is layer 11).
- In Bambu Studio / OrcaSlicer / PrusaSlicer: right-click that layer in the preview view and add a pause or filament change (M600 command).
- The printer pauses, you swap the spool, it resumes. Base in one color, code in another. Done.
Bambu Lab with AMS (automatic multicolor)
- Download the 3MF: base and code come as separate objects with colors assigned.
- In Bambu Studio, map each color to an AMS slot and hit print. No pauses.
- Alternative: the parts ZIP includes base.stl and codigo.stl aligned to the same origin. Import them together ("load as a single object") and assign filaments.
Tips that prevent failed prints
- Recommended minimum size: 40 mm for short links, 50 mm for WiFi, 80 mm or more for vCards (more data = more modules = smaller modules).
- Error correction M or Q for 3D printing. H only if the QR will take abuse (a keychain that gets scratched).
- Code relief: 0.4 to 1.2 mm. Higher creates shadows that break scanning.
- Matte filament scans better than glossy. Matte PLA is the easy path.
- If the QR does not scan: more contrast, more size, or lower the relief. In that order.
Numbers that work
| Base | 2 mm thick |
| Code relief | 0.6 mm (range 0.4 to 1.2) |
| Layer height | 0.2 mm or less |
| Keychain | 40 mm, 4 mm hole |
| Table sign | 100 mm, 3 mm base |
| NFC tag | 25.5 mm diameter cavity, 0.8 mm deep |
Frequently asked questions
Does the QR expire or stop working?
No. The QR encodes your content permanently and does not depend on us. If it points to a link, it works as long as that page exists. We use no redirects or intermediate links.
Do you store what I type? My WiFi password?
No. Everything is generated in your browser: the content never reaches any server of ours. You can go offline after loading the page and the tool keeps working.
Which format should I download for my Bambu Lab with AMS?
The 3MF. It includes base and code as separate objects with colors assigned: Bambu Studio asks you to map each one to an AMS slot and that is it.
What if my printer is single-color?
Download the single-piece STL and add a filament change at the layer where the code begins (the guide above explains it step by step). Or print in one color and paint the relief.
Why does my printed QR not scan?
It is almost always contrast or size. Use opposite colors (light/dark), a size of 50 mm or more, and relief under 1.2 mm. Error correction M or Q also helps.
Can I sell what I print with this?
Yes. What you generate is yours, with no attribution required and no license. Print it, gift it, sell it.
What is the difference between PNG and SVG for paper?
SVG is vector: it scales to any size without losing sharpness, ideal for print shops or cutting plotters. PNG is more universal for screens and home printers. For small labels, both work well at 300 dpi.
Does a QR with a logo scan well?
Yes, if you use error correction H (we enable it automatically when you upload a logo) and the logo covers no more than 20% of the code.
3D approach inspired by qrcode2stl (MIT), reimplemented by Whilehaus. github.com/flxn/qrcode2stl