QR3D Craft

3MF or STL: what actually changes when you print a QR

By · 6 min read · Updated 26 October 2026

Leer en español

The STL has been the format of 3D printing for forty years and it still works, but it has one limitation that hurts particularly on a QR code: it knows nothing about colour. The 3MF does, and that difference decides whether you have to separate the parts by hand or not.

What each one stores

An STL is a list of triangles. Nothing else. Vertex coordinates and which way each face points. It does not store units — hence the classic models that open a thousand times bigger than they should — it does not store materials, it does not store colours, and it has no idea your piece is made of separate parts. It all arrives at the slicer as one mass in one colour.

A 3MF is, inside, a ZIP containing XML files. It stores the geometry the way an STL does, and on top of that it stores:

It is an open format, maintained by the 3MF Consortium, and every slicer anyone actually uses understands it today.

What a 3MF file stores and what an STL storesThe 3MF stores geometry, two materials with their colour, the parts kept separate, and the units. The STL stores geometry only.3MF✓ Geometry✓ Two materials with colour✓ Base and relief separate✓ Units declared✓ Compressed, smallerSTL✓ Geometry✗ Colour✗ Separate parts✗ Units declared✗ Plain text, biggerBoth describe the same piece. Only one knows what colour each part is.
The STL is not a worse file: it is older and simpler. It stores triangles and nothing else, so the colour has to be put back by hand in the slicer.

Why it matters so much on a QR code

A printed QR is by definition a two-colour piece: if the base and the code come out of the same filament there is no contrast and the phone does not read it. It is one of the few objects where colour is not decoration but a working requirement.

With an STL, the route is this: you open the file, you see a single-colour block, and you have to separate the base from the relief yourself, or paint the piece in the slicer module by module. On a 29 × 29 code that is 841 little squares. It is not work anybody does twice.

With a 3MF, you open the file and the two parts arrive already distinct, each with its material assigned. All you have to say is which filament goes in which.

How the file you download here is put together

The 3MF this site generates carries two objects — the base and the relief — joined as components of a single piece, plus a materials resource with the two colours you picked on screen. Both objects share an origin, so there is nothing to align: they come in already positioned.

And there is one detail done on purpose: the relief starts at exactly the height where the base ends. They do not overlap by a micron. That is what makes the single-colour printer trick possible, explained in the filament change guide (in Spanish).

Being two objects rather than one has a second useful consequence: you can throw the base away and keep only the code, to sit it on top of a model of your own. How that is done, and how much flat surface it needs, is in the guide to putting the code on another piece (in Spanish).

How much each file weighs

The logical thought is that the 3MF, storing more, would take up more. It is the other way round, by a long way. These are the files this site generates for one 34-character link at correction H, measured on download:

PieceModulesTrianglesSTL3MF
Keychain 40 mmsquare3,948193 KB30 KB
Keychain 40 mmrounded11,664570 KB83 KB
Plate 90 mmsquare4,392215 KB33 KB
Plate 90 mmrounded24,0841,176 KB173 KB
Plate 150 mmsquare4,464218 KB34 KB
Plate 150 mmrounded35,5921,738 KB255 KB

In every case the STL takes six to seven times more space than the 3MF. There are two reasons, and both come from how each format is built:

The table shows two more things that are not obvious. First: with square modules, the file size barely depends on the size of the piece. A keychain and a 150 mm plate have practically the same triangle count, because what counts is how many modules there are, not how big they are. Second: rounded modules multiply the triangles by three on the keychain and by eight on the big plate, because every curve is approximated with many straight segments and, the larger the piece, the more segments it takes before you notice.

And that difference does not stay in the file size: rounded modules break the relief into many more separate pieces, which the nozzle has to start and stop one at a time. It is measured in the module shapes guide (in Spanish).

None of this affects printing: the slicer takes the same time with either file and the piece comes out the same. It matters when you are going to email the file or send it over a messenger, or when you keep many versions of the same piece.

How to open the 3MF step by step in Bambu Studio, Orca, PrusaSlicer and Cura, and what to answer to the question each one asks on loading it, is in the slicers guide (in Spanish).

If your slicer complains about the file: check first that you are opening it with «Import» or by dragging it onto the plate, and not with «Open project». Some slicers save their own projects as .3mf too, and choosing the project option makes them expect print settings that a geometry 3MF has no reason to carry.

So what is the STL still for?

It still has three legitimate uses:

That is why the generator gives you the STL as well. You only have to know that the file arrives with no colours and that separating the parts becomes your job.

One nuance about this site's STL: it is a single object with no colour information at all, as the format requires. What it does keep is that the base and the relief are two independent closed volumes touching on one face only: they are not fused. Because of that, in slicers with a split into parts option, they can often be separated again. Do not rely on it as a method — that is what the 3MF is for — but if you end up with an STL in your hands, it is the quick way out.

The short answer

Download the 3MF if you are going straight to printing, which is 95 % of cases. Download the STL only if you are going to modify the piece first or if your software does not take 3MF.

Both come out of the same button

The generator produces a 3MF with the colours inside and a binary STL. Also PNG and SVG, in case you want the flat code as well, to print on paper or send in a message.

Generate and download

Keep reading