# STL to OBJ Converter > To convert STL to OBJ, read the STL's triangles and write them as OBJ vertices and faces. Kenerate's free converter does it in your browser: drop the .stl, choose whether to keep it Z-up, and download the .obj. The shape is unchanged, but the OBJ has no UVs or textures because the STL had none. Nothing is uploaded. URL: https://kenerateai.com/stl-to-obj Publisher: Kenerate AI (https://kenerateai.com) Last updated: 2026-10-01 ## Key facts - Price: Free, no account - Converts: Binary or ASCII STL → Wavefront OBJ (text) - Shape: Unchanged — same triangles - Orientation: Z-up (as in the STL) or Y-up (turn Z-up off) - UVs / textures: None — the STL didn't have them - Privacy: Converted locally — no upload - Opens in every 3D app: Blender, Maya, 3ds Max, ZBrush, Substance and game engines all import OBJ. - Readable: OBJ is plain text — handy for scripts, version control and debugging. - Next step: UVs: Once in a 3D app you can unwrap UVs and texture the model — something STL can't carry. - Orientation control: Leave Z-up on to keep the STL's axes (Blender, CAD), or turn it off for a Y-up OBJ that game engines and most web tools expect. - Parse: Triangles and normals are read from the binary or ASCII STL. - Orient: Optionally scale the model and change its up axis. - Write: Vertices, normals and faces are written as OBJ text. - Download: The .obj is saved to your device. - STL (Stereolithography): Triangle mesh (binary or ASCII); by 3D Systems, 1987. Holds: Triangle surfaces, Facet normals. Lacks: Colour and textures, Units, Materials. Best for: 3D printing — every slicer opens it. Opens in: Cura, PrusaSlicer, Bambu Studio, OrcaSlicer, Blender. - OBJ (Wavefront OBJ): Plain-text mesh; by Wavefront Technologies, 1980s. Holds: Vertices, faces, UVs and normals, Materials via a separate .mtl file. Lacks: Animation and rigs, Embedded textures. Best for: Moving static meshes between 3D apps. Opens in: Blender, Maya, 3ds Max, ZBrush, most slicers. - Best for — STL vs OBJ: 3D printing | Moving meshes between 3D apps - Encoding — STL vs OBJ: Binary or text | Text - UVs and materials — STL vs OBJ: No | Yes (UVs in file, materials in .mtl) - Faces — STL vs OBJ: Triangles | Triangles, quads, n-gons - Units — STL vs OBJ: None | None ## Steps 1. Open the STL — Drop your .stl onto the box above, or try the sample dragon. 2. Preview — Orbit and check the stats. 3. Choose OBJ — Pick OBJ. Keep Z-up on for Blender or CAD; turn it off for a Y-up OBJ for game engines. 4. Download — Click Download OBJ and import it into your 3D app. ## In depth ### What you gain — and what you don't OBJ can hold UVs, normals and material references [2] that STL cannot [1], but converting doesn't invent them. You get the same triangles in a format your 3D app handles more comfortably. ### Axes between apps STL and Blender usually treat Z as up; many game tools and glTF use Y-up [8]. If a model arrives lying down, rotate it 90° on X in your app or re-export with the other orientation. References: [1] Wikipedia — STL (file format): https://en.wikipedia.org/wiki/STL_(file_format) [2] Wikipedia — Wavefront .obj file: https://en.wikipedia.org/wiki/Wavefront_.obj_file [3] Wikipedia — FBX: https://en.wikipedia.org/wiki/FBX [4] Khronos Group — glTF: https://www.khronos.org/gltf/ [5] 3MF Consortium — 3MF specification: https://3mf.io/specification/ [6] Wikipedia — Universal Scene Description (USD / USDZ): https://en.wikipedia.org/wiki/Universal_Scene_Description [7] Wikipedia — PLY (file format): https://en.wikipedia.org/wiki/PLY_(file_format) [8] Khronos Group — glTF 2.0 specification: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html [9] Apple — AR Quick Look: https://developer.apple.com/augmented-reality/quick-look/ [10] three.js — documentation: https://threejs.org/docs/ [11] Prusa Knowledge Base — Modeling with 3D printing in mind: https://help.prusa3d.com/article/modeling-with-3d-printing-in-mind_164135 [12] Prusa Blog — lithophanes and filament transparency: https://blog.prusa3d.com/lets-play-with-filament-transparency-how-to-make-amazing-lifelike-color-photos-with-just-a-simple-color-change_104338/ [13] Polymers (2024) 16(20):2862 — FFF parameters and translucency of PLA: https://doi.org/10.3390/polym16202862 [14] Wikipedia — Lithophane: https://en.wikipedia.org/wiki/Lithophane [15] W3C — CSS Values and Units Level 3 (absolute lengths): https://www.w3.org/TR/css-values-3/ [16] Adobe Substance 3D — OpenGL vs DirectX normal maps: https://experienceleague.adobe.com/en/docs/substance-3d/bakers/common-questions/what-is-the-difference-between-the-opengl-and-directx-normal-format [17] Blender Manual — Normal Map node: https://docs.blender.org/manual/en/latest/render/shader_nodes/displacement/normal_map.html [18] Wikipedia — Normal mapping: https://en.wikipedia.org/wiki/Normal_mapping [19] SIL Open Font License: https://openfontlicense.org/ ## FAQ Q: Is STL to OBJ conversion free? A: Yes, with no account or watermark. Q: Is my STL uploaded? A: No — it's converted on your device. Q: Will my OBJ have textures? A: No. STL has no textures or UVs, so there's nothing to carry over. Unwrap and texture it in a 3D app. Q: Will the triangles become quads? A: No. The OBJ keeps the STL's triangles. Use a retopology or “tris to quads” tool in your 3D app if you need quads. Q: Should I keep Z-up on? A: Keep it on to leave the axes as they were in the STL — most STL files are Z-up, like Blender. Turn it off for a Y-up OBJ, which game engines and glTF tools expect. Q: How do I convert STL to OBJ in Blender? A: Import the STL with File → Import → STL (.stl), then export it with File → Export → Wavefront (.obj). The triangles are unchanged and there are still no UVs, so unwrap the model in Blender if you want to texture it. Or drop the STL here and download the OBJ directly. Q: Why is the OBJ bigger? A: OBJ is text, so the same triangles take more bytes than binary STL. ## Related pages - AI 3D Model Generator: https://kenerateai.com/ai-3d-model-generator - Image to 3D: https://kenerateai.com/image-to-3d-converter - AI STL Generator: https://kenerateai.com/ai-3d-printing-model-generator - Text to 3D: https://kenerateai.com/text-to-3d-generator ## Sources - Wikipedia — STL (file format): https://en.wikipedia.org/wiki/STL_(file_format) - Wikipedia — Wavefront .obj file: https://en.wikipedia.org/wiki/Wavefront_.obj_file - Wikipedia — FBX: https://en.wikipedia.org/wiki/FBX - Khronos Group — glTF: https://www.khronos.org/gltf/ - 3MF Consortium — 3MF specification: https://3mf.io/specification/ - Wikipedia — Universal Scene Description (USD / USDZ): https://en.wikipedia.org/wiki/Universal_Scene_Description - Wikipedia — PLY (file format): https://en.wikipedia.org/wiki/PLY_(file_format) - Khronos Group — glTF 2.0 specification: https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html - Apple — AR Quick Look: https://developer.apple.com/augmented-reality/quick-look/ - three.js — documentation: https://threejs.org/docs/ - Prusa Knowledge Base — Modeling with 3D printing in mind: https://help.prusa3d.com/article/modeling-with-3d-printing-in-mind_164135 - Prusa Blog — lithophanes and filament transparency: https://blog.prusa3d.com/lets-play-with-filament-transparency-how-to-make-amazing-lifelike-color-photos-with-just-a-simple-color-change_104338/ - Polymers (2024) 16(20):2862 — FFF parameters and translucency of PLA: https://doi.org/10.3390/polym16202862 - Wikipedia — Lithophane: https://en.wikipedia.org/wiki/Lithophane - W3C — CSS Values and Units Level 3 (absolute lengths): https://www.w3.org/TR/css-values-3/ - Adobe Substance 3D — OpenGL vs DirectX normal maps: https://experienceleague.adobe.com/en/docs/substance-3d/bakers/common-questions/what-is-the-difference-between-the-opengl-and-directx-normal-format - Blender Manual — Normal Map node: https://docs.blender.org/manual/en/latest/render/shader_nodes/displacement/normal_map.html - Wikipedia — Normal mapping: https://en.wikipedia.org/wiki/Normal_mapping - SIL Open Font License: https://openfontlicense.org/