3D Model Converter
Convert STL, OBJ, FBX, glTF, 3MF, PLY and more to GLB, OBJ, STL, PLY or USDZ. Free, in your browser, no upload.
Drop a 3D file here
Convert between formats
Load a model, check it in 3D, download it in the format you need.
- 3MF to STL3MF prints for older slicers
- OBJ to STLTurn OBJ models into printable STL
- GLB to STLPrint GLB models from games or scans
- GLB to OBJGet GLB models into older software
- FBX to OBJExtract the mesh from an FBX
- STL to OBJOpen print files in modeling apps
- FBX to STLGet game models ready to print
- FBX to GLBGame assets to web-ready glTF
- OBJ to GLBPack OBJ, MTL and textures into one
- PLY to STLTurn 3D scans into printable STL
- STL to GLBPut 3D print files on the web
- DAE to GLBCOLLADA and SketchUp to glTF
- 3DS to OBJRescue legacy 3D Studio models
- glTF to GLBPack glTF files into a single GLB
- GLB to USDZMake glTF models open in iOS AR
- USDZ to GLBApple 3D files for Android and web
A 3D model converter that runs in your browser
This 3D model converter takes a file in any format the viewer can open (STL, OBJ, FBX, glTF, GLB, 3MF, PLY, DAE, 3DS, USDZ, STEP, SKP or 3DM) and writes it out as GLB, glTF, OBJ, STL, PLY or USDZ. Drop the file in, check the 3D preview, pick an output and download the result.
The conversion happens on your own computer. The file is read by the page, converted in memory and handed back to you as a download; nothing is uploaded. There is no account, no watermark and no limit on how many files you convert. The practical size limit is your device's memory: a few hundred megabytes is usually fine on a desktop, less on a phone.
Draco-compressed glTF and GLB files need a small WebAssembly decoder. It is served by this site like the rest of the page, so nothing about your model is sent anywhere.
How to convert a 3D model
1. Drop your file onto the converter, or click to browse. If the model comes with companion files (an OBJ with its .mtl and textures, a .gltf with its .bin and images), select or drop them all at once.
2. Check the preview. You can orbit, zoom and pan to make sure the model loaded the way you expect before you convert it.
3. Choose the output format. If the up conventions differ, decide whether to keep “Fix up axis” on.
4. Click Convert. The file downloads straight away and its size is shown; “Download again” saves another copy.
If you convert one pair of formats often, the dedicated pages skip the format menu and explain the specific pitfalls of that conversion.
For example, the most common 3D printing conversion has its own page: STL to OBJ.
What each output format keeps and loses
No 3D file converter can put information into a format that has nowhere to store it. Before choosing an output, it helps to know what each one can hold. This is what the converter writes for each choice:
- GLB
- Binary glTF 2.0 in a single file. Keeps meshes, PBR materials, embedded textures and animations. The best general-purpose output, and the one to pick when you are unsure.
- glTF
- The same content as GLB, written as one .gltf JSON file with the binary data and textures embedded as base64 data URIs. Readable in a text editor, but about a third larger than the equivalent GLB because of the base64 encoding.
- OBJ
- Geometry only: vertices, normals, UVs and one group per mesh. No .mtl file and no textures are written, so the OBJ opens grey. Animation is dropped and the model is saved in the rest pose stored in the file, which for a rigged character is usually a T-pose.
- STL
- Triangles only, binary by default (ASCII optional). Colors, textures, UVs and animation are dropped, and every mesh is merged into one with its transforms baked in.
- PLY
- Binary PLY. Keeps geometry and vertex colors, which makes it a good fit for scans and point clouds. Textures are not written.
- USDZ
- The format Apple's Quick Look reads, so it opens in AR on iPhone and iPad. Materials are converted to PBR and textures are embedded. Animation is not exported.
Which format to choose
The right output depends on where the file is going next, not on which format is newest. These are the common destinations:
Already have a GLB and want it in AR on an iPhone? Use GLB to USDZ.
- 3D printing
- STL. Every slicer reads it. It carries no color or units, which a single-color print doesn't need. If the source is a game asset or a scan, check the scale once it is in the slicer (see below).
- Websites and Android AR
- GLB. Web viewers built on three.js, Babylon.js or the model-viewer element load it directly, and Android's Scene Viewer uses it for AR. One file means no broken texture paths.
- Apple AR (iPhone, iPad, Vision Pro)
- USDZ. Safari and the Files and Messages apps open it in Quick Look, where you can place it in the room. Animation does not carry over.
- Game engines
- GLB for Godot and Unreal Engine, which both import glTF directly. Unity needs a glTF package for GLB; for a static mesh, OBJ also imports without one, but you will have to reassign materials.
- Older modeling or CAD software
- OBJ, which nearly every 3D program has imported for decades. Expect to redo materials.
- Scans and point clouds
- PLY, which keeps per-vertex color. A point cloud with no faces can only go to PLY, GLB or glTF; STL, OBJ and USDZ need triangles.
Up axis and units
Formats disagree on which way is up. STL, 3MF, PLY, STEP and Rhino 3DM are normally Z-up, the convention of CAD software and slicers. glTF, GLB, USDZ and OBJ are Y-up. Converting straight across leaves the model lying on its back or face. When the input and output use different conventions, the converter shows a “Fix up axis” checkbox, turned on by default, which rotates the model 90 degrees so it stands upright in the target application. Switch it off if your source file was already authored for the other convention.
Units are a separate matter. For STL, OBJ, FBX, glTF, GLB, 3MF, PLY and 3DS, coordinates are copied as they are, with no rescaling. DAE files are scaled by the unit they declare and USD files by their metersPerUnit, so those arrive in meters. That matters because formats assume different units: STL has no units at all but is almost always millimeters in practice, glTF is defined in meters, and FBX files are often in centimeters. A 40 mm STL part converted to GLB is 40 units tall, which a glTF viewer reads as 40 meters. On screen the camera usually frames it anyway, but in AR it will be building-sized until you scale it in a 3D editor.
When a conversion goes wrong
Most failed conversions come from the input, not the output. These are the problems people run into most:
- OBJ comes out grey
- The .mtl file and textures were not selected with the .obj. Drop all of them together.
- glTF won't load
- A .gltf usually points to a separate .bin and image files. Drop them together. glTF 1.0 files are not supported. A file that requires KTX2/Basis textures won't open; one that only uses them opens without those textures.
- FBX won't open
- Only FBX 7.0 and newer can be read. Re-export from your 3D software with a newer FBX version.
- Model is lying on its side
- If the converter shows “Fix up axis”, flip it and convert again. If it doesn't (both formats share an up axis), open the model in the viewer, set the Up axis switch so it stands upright, and use Download as, which follows that setting.
- Model is tiny or huge in the next program
- A units mismatch. Apart from DAE and USD, which arrive in meters, the converter does not rescale, so scale the model in the receiving program (a slicer, game engine or 3D editor).
- Point cloud won't convert to STL or OBJ
- A PLY with no faces has no triangles to write. Convert it to PLY, GLB or glTF instead, or build a mesh from it in a tool such as MeshLab first.
Frequently asked questions
Is this 3D model converter free?
Yes. There is no sign-up, no watermark on the output and no limit on the number of files. Everything runs in your browser.
Are my files uploaded anywhere?
No. The model is read and converted by the page on your own device. Even Draco-compressed glTF and GLB files are decoded locally, with a decoder served by this site.
Which formats can the 3D file converter read and write?
It reads STL, OBJ, FBX (7.0 and newer), glTF 2.0, GLB, 3MF, PLY, DAE, 3DS, USDZ, STEP, SketchUp (.skp) and Rhino (.3dm). It writes GLB, glTF, OBJ, STL, PLY and USDZ. STEP, SketchUp and Rhino files can be converted to those formats but not written back: the converter turns their surfaces into triangles.
Can I convert to FBX or 3MF?
Not at the moment. FBX and 3MF can be opened and converted to something else, but they are not available as outputs.
Why did my textures disappear after converting?
Either the output format can't hold them (STL and PLY have no textures, and OBJ output is geometry only, with no .mtl), or the textures were never loaded because they weren't dropped together with the model. Check the preview: if the model is grey there, the textures were missing on the way in.
Does the converter change the size of my model?
Not for most formats: coordinates are copied unchanged. The exceptions are DAE and USD files that declare a unit, which are scaled to meters. If the source used millimeters and the target program assumes meters, or the other way around, scale the model in the program you open it in.
What is the largest file I can convert?
There is no fixed cap. The limit is your device's memory. Files of a few hundred megabytes usually work on a desktop browser; phones and tablets run out sooner.