Tiny Online Tools logoTiny Online ToolssearchSearch tools…grid_viewAll Tools
Homechevron_right3D Toolschevron_right3D Mesh Editor3D Mesh Editor

3D Mesh Editor

Merge meshes, separate loose parts, weld vertices and flip faces in any GLB, OBJ, STL or PLY model.

upload_file

Click to browse or drag & drop files here

Select a 3D model — GLB, GLTF, OBJ, STL, PLY, FBX, DAE, 3MF or USDZ

Accepted: .glb,.gltf,.obj,.stl,.ply,.fbx,.dae,.3mf,.3ds,.off,.usdz,.wrl,.vtk,.amf

The file is parsed in your browser. Operations then compose on the loaded model until you export.

Similar Tools

3D Model Editor

3D Model Editor

Edit a 3D scene directly in your browser — no upload, no Blender round-trip.

3D Model Repair

3D Model Repair

Automatically repair STL, GLB, OBJ, PLY and 3MF meshes for 3D printing.

3D Model Simplifier

3D Model Simplifier

Reduce polygon count online for free with this browser-based mesh decimation tool.

3D Model Optimizer

3D Model Optimizer

Optimize GLB and GLTF models for real-time rendering directly in your browser.

Merge PDF

Merge PDF

Merge multiple PDF files into one document quickly and securely in your browser.

JSON Flatten

JSON Flatten

Flatten nested JSON objects to flat key-value pairs using dot notation.

Meme Generator

Meme Generator

Create classic memes with bold Impact-style top and bottom captions on any image. Adjustable font, color, and outline. No upload, fully private.

apps

More Tools

Browse our full collection of free online tools.

Six operations that fix most "the geometry is wrong" problems

A mesh can be geometrically correct and still be unusable. It might be one mesh when it should be five, five when it should be one, made of unconnected triangles when it should be a welded surface, or turned inside out. None of those are modelling problems — they are bookkeeping problems in the buffers, and they are what this tool fixes.

Separate loose parts

A single STL frequently contains several physically disconnected shells: the model, a raft, a stray fragment from a boolean, or twelve copies laid out on a build plate. Splitting by connected component gives you one mesh per shell, largest first, so you can delete what you do not want and export the rest.

Doing this correctly is harder than it looks. STL is unindexed triangle soup — every triangle owns three private vertices, so by index nothing is connected to anything. Connectivity has to be worked out by welding positions first. Most implementations then emit the welded buffers as the result and quietly throw away UVs and vertex colours. This one uses the welded topology only to label the faces, then cuts the parts from the original buffers, so every attribute survives.

Merge meshes — and what it does not do

Merging combines everything into one mesh. The usual reason is performance, and the usual disappointment is that it does not help: if the merged mesh keeps its per-mesh materials, the renderer still issues one draw call per material. You only get the win by collapsing to a single material, which discards per-mesh colours and textures. The tool offers both and shows you the draw-call count either way, so the trade-off is visible rather than folklore.

Weld vertices

Welding merges vertices that occupy the same position, turning triangle soup into a properly indexed mesh. It typically cuts the vertex count several-fold and is a prerequisite for anything topological: hole detection, smoothing, simplification and watertightness checks all need to know which triangles touch.

If you have tried welding elsewhere and nothing happened, this is why: standard vertex merging compares all attributes, and an STL gives every vertex a unique per-face normal, so no two vertices ever match. This tool drops normals before welding and rebuilds them afterwards.

Flip faces

Reversing triangle winding fixes surfaces that render inside-out or invisible under backface culling — the usual result of a mirrored transform or a bad export. Normals are recomputed to follow the new winding.

Everything stays on your machine

The model is parsed, edited and written back entirely in your browser.