X3DStudios

3D Printing File Format: What File Do I Need to Print?

X3D Studios··Updated ·9 min

To 3D print something you need a mesh file, and that is what a 3D printing file format is: a 3D model saved as a closed surface made of triangles. X3D Studios accepts two mesh formats, STL and 3MF, plus a finished plate (.gcode.3mf) if you have already sliced the model yourself. STL is the safe default when you are not sure. What will not work is a photo, a PDF, a CAD project file, or a GLB or OBJ, which are real mesh formats but are not on our accepted list.

That is the whole answer. The rest of this guide covers what each format actually carries, why some perfectly good 3D files still get rejected, how to export the right one from the app you already use, and the three things worth checking before you upload at /print. /docs/file-formats lists exactly which files the upload accepts and why.

Why a 3D Printing File Format Has to Be a Mesh

A 3D printer has no concept of a cup or a bracket. It reads a long list of coordinates, extrusion amounts and temperatures. Getting from an idea to that list is the slicer's job, and a slicer needs something it can slice: a shell that unambiguously separates inside from outside, so a horizontal plane cut through it produces a closed loop to trace. Mesh formats store exactly that, as a table of vertices plus a table of triangles connecting them.

This is why "I have the design" and "I have a printable file" are different sentences. A Fusion 360 .f3d holds a feature history, not a surface. A STEP file holds mathematically perfect NURBS surfaces that a CAD kernel understands and a slicer does not. A photo holds pixels. Each of those can produce a mesh, but the conversion happens inside the app that made the file, not in our uploader. If you want the deeper comparison of what each format keeps and throws away, we wrote it up in STL vs 3MF vs OBJ vs STEP: 3D Export Formats Explained.

Having a mesh is also not the same as having a printable mesh. It still has to be watertight, thick enough to survive handling, and free of flipped or duplicated faces. That is a separate problem covered in Watertight Meshes: Six Checks for a Print-Ready Model, and it is why every upload here gets a server-side geometry review before you are allowed to pay rather than after.

Four-step flow from a design in CAD or the AI generator, to exporting STL under 100 MB or 3MF under 40 MB, to a real OrcaSlicer slice for the price, to printing in Austin at $0.12 per gram, with a bypass lane for uploading a sliced .gcode.3mf and a panel of rejected formats including GLB, OBJ, STEP, .blend, .f3d, .skp, PNG and PDF
Two lanes into the farm: a mesh we slice for you, or G-code you sliced yourself.

The Three Files X3D Studios Accepts

Two extensions get through the uploader on the print page: .stl and .3mf, where a .3mf can be a model, a slicer project or a plate you sliced yourself (.gcode.3mf). A bare .gcode is not accepted. STL is capped at 100 MB, any 3MF at 40 MB. Here is what each one is actually carrying.

FormatWhat it storesSize capReach for it when
STLTriangles only. No colour, no units, no print settings100 MBYou just need the shape made. The universal default
3MFGeometry in real millimetres, plus colour and slicer settings40 MBExact scale or multi-colour matters and must survive the handoff
.gcode.3mfFinished toolpaths for one specific printer and profile40 MBYou sliced it yourself and want that exact result

STL: the safe default

Every CAD package, every mesh editor and every model repository can produce an STL, which is the entire reason to use it. It stores nothing but triangles: no colour, no material, no declared unit. That last omission is the one that bites people. An STL exported from Blender in metres and an STL exported from Fusion in millimetres look identical to the file system and differ by a factor of a thousand on the print bed. Our print page shows the bounding box it read out of your file in millimetres before you order, so glance at it.

3MF: the one that keeps your millimetres

3MF was designed for 3D printing specifically, and when you have a choice it is the better of the two mesh formats. It records real-world units, so a 40 mm bracket arrives as a 40 mm bracket with no guessing. It can carry per-object colour assignments, which is what you want for a multi-colour part off our 4-tray AMS. And it can carry slicer settings and plate layout, so a 3MF saved out of Bambu Studio or OrcaSlicer brings your intent with it rather than just your triangles.

G-code: you already did the slicing

If you run OrcaSlicer or Bambu Studio yourself, you can skip the middle step and upload the sliced file, .gcode.3mf, up to 40 MB. The price then comes from the filament figure already inside the file rather than from a fresh slice. Two conditions apply: it has to be sliced for a machine in our fleet, which is Bambu Lab H2S and P2S, and it has to pass an automated G-code safety validation on arrival that rejects out-of-bounds moves and temperatures our printers will not run. Uploading G-code is also the only way to guarantee an exact layer-by-layer result, because nothing re-slices it.

⚠️OBJ is not accepted. It is a legitimate mesh format and plenty of services take it, but our uploader takes STL and 3MF (a sliced plate as .gcode.3mf) only. Every app that exports OBJ also exports STL, so re-export and you are done.

Good 3D Files That Still Will Not Upload

Most rejected uploads are not broken files at all. They are the right design in the wrong container. The usual suspects:

  • OBJ. A real mesh, just not on our list. Export STL or 3MF from the same app instead.
  • GLB. The binary form of glTF, which most web and AI tools hand you because it packs geometry, colour and texture into one file. It is not on our list either, so export STL or 3MF from the same tool. A model made in our AI generator prints straight from the studio.
  • STEP, STP and IGES. CAD interchange formats built from mathematical surfaces. Your CAD app converts them to triangles on export; our uploader does not.
  • Project files: .f3d, .blend, .skp, .3dm, .sldprt. These are an application's working document, not a portable model.
  • Images: PNG, JPG, HEIC, PDF, a screenshot of a part. There is no 3D data in a picture, though there is a route from one, covered further down.
  • ZIP archives. Unzip first and upload the model that is inside.
  • Mesh files over 100 MB, usually a raw sculpt at millions of triangles. Decimate to a few hundred thousand; a 0.4 mm nozzle cannot resolve more than that anyway.

Exporting From the App You Already Use

Cheat sheet table mapping seven sources to exports: Fusion, SolidWorks and Onshape to STL or 3MF in mm; Blender to STL with scale applied; Tinkercad to STL or 3MF, not OBJ; sculpting apps to decimated STL under 100 MB; the X3D AI generator to STL or 3MF; downloaded models to STL or 3MF with the scale checked; OrcaSlicer or Bambu Studio to .gcode.3mf under 40 MB
The export menu is the same everywhere. The traps are app-specific.

The pattern never changes: File, then Export, then pick STL or 3MF, then confirm the units say millimetres. The traps are where apps differ. Blender's scene unit is metres and it does not bake object scale into the export unless you tick that box, which is how a 50 mm phone stand arrives as a 50 metre one. Fusion 360 exports STL from the right-click menu on the body in the browser tree rather than from the file menu, and its refinement setting decides how faceted your curves look. Tinkercad offers OBJ in the same dropdown as STL, so take the STL. ZBrush and other sculpting tools will happily hand you a nine-million-triangle mesh that no printer can use; decimate before exporting.

Three Checks Before You Hit Upload

  1. Units and scale. Confirm the longest dimension in millimetres, not inches and not metres. The print page shows the bounding box it read from your file, and you can rescale there before ordering.
  2. Build volume. Each part has to fit inside 340 x 320 x 340 mm, the Bambu Lab H2S bed. Anything larger has to be split into sections and joined after printing.
  3. File size. 100 MB for STL; 40 MB for any 3MF, sliced or not. If a sculpt is over the limit, reduce the triangle count rather than compressing the file.
💡You pay for grams, not for bounding-box volume. Quotes come from a real OrcaSlicer slice of your file, so hollowing a model or dropping its infill genuinely moves the number on the screen. Every material rate is listed on the print page before you commit.

What Happens to Your File After Upload

The file gets a server-side geometry review, then a real slice. We run your model through OrcaSlicer using the profile for the material and layer height you picked, and the grams that come back are what you are billed on: PLA at $0.12 per gram all-in, filament and normal machine time together, rounded up to the whole gram with a $1.00 minimum per part. Premium 0.1 mm layers price at 1.75 times the standard 0.2 mm rate, because they genuinely take that much longer to print. Nothing about the file format changes the price; only the grams do.

Once you order, the job joins the queue at our Austin farm, a fleet of Bambu Lab H2S and P2S machines with 4-tray AMS units and live camera streams on the floor. Normal print ships in 4–5 business days, or 1–2 with Priority print (10% of the items, at least $10). Standard shipping is $7 anywhere in the US and free over $49.50, or $15 express; every order placed online is shipped. The order page walks you through placed, printed, shipped and delivered, so you always know which of those four states the job is in.

What If You Do Not Have a File at All?

Three routes, all of which end in a file the uploader accepts. Describe the object in a sentence at /design and the AI generator builds a fast draft in about 20 to 30 seconds, with the printability review attached before you can order. Give it a photo instead of a prompt and the same generator infers the geometry the camera never saw, which works better than most people expect and is broken down honestly in Image to 3D Model: Turn Any Photo into a Real 3D Print. Or download something already made: the large model repositories hand out STL and 3MF, so there is no conversion at all. If you have never ordered a part this way, 3D Printing Services for Individuals: No Printer Needed walks the whole route end to end.


FAQ

What are the most common 3D printing file formats?

There are two kinds. Printers themselves read G-code, the list of movements, extrusions and temperatures. People almost never hand over G-code, though. You hand over a mesh file such as STL or 3MF, and a slicer converts it into G-code for the specific machine that will print it. Both ends of that chain upload fine here, which is what the two lanes in the diagram above mean.

Can I 3D print from a photo or a PDF?

Not directly, because neither contains 3D geometry. A photo can become 3D indirectly: the generator at /design infers a full model from a single image in about a minute and you can order the result immediately. A PDF drawing has no route except re-modelling it in CAD, though the dimensions on the drawing make that quick for a competent modeller.

Do you accept OBJ files?

No. STL and 3MF (a sliced plate as .gcode.3mf) only. OBJ is a perfectly good mesh format, it is simply not on our accepted list. Re-export the same model as STL or 3MF from whatever produced the OBJ and you lose nothing that affects the print, since a single-colour FDM part uses the triangles and ignores the texture data anyway.

How big can the file be, and how big can the part be?

STL files up to 100 MB, and any 3MF, sliced or not, up to 40 MB. The part itself has to fit inside 340 x 320 x 340 mm, the Bambu Lab H2S build volume. Larger designs get split into sections that bolt or glue together, which is standard practice for helmets, cosplay props and enclosures and usually improves print quality by removing overhangs.

Price it now

What would yours cost?

A real example, priced from our India rates: a 50 g PLA part comes to ₹400 printed, plus ₹79 delivery in India. Change the weight, material or quantity below and the price follows.

The filament weight your slicer shows after slicing. Billed rounded up to the whole gram. No slicer? Upload the file and we weigh it for you.

Standard layers and nozzle are the base price.

For a colour print, enter the sliced weight in its colours, purge included.

Colour
Estimate
₹479
50 g × ₹8/g, per part
₹400
Delivery
₹79
Upload a file for the exact price

An estimate from the weight you entered. The real quote weighs your file.

Two ways to your real price

Have a file?

Upload it. See the exact price.

Drop in your STL or 3MF. We slice it and price the grams it really uses, in rupees. No account needed to see it.

Only an idea?

Describe it. We’ll email you a price.

No file, no problem. A few words on what it is and how big is plenty to start.

Or write to contact@x3dstudios.com