Skip to content

Online STL Editor

This is a working mesh tool rather than a viewer with buttons: you upload an STL of up to 50MB and the operations run through a Python pipeline built on trimesh with a real CSG engine behind it. Scale by ratio or to an exact width in millimetres, hollow a solid into a shell, combine several files into one, repair holes and normals, or run a manifold check that ends in a printable verdict.

Every operation reports what it actually changed: the scale factor applied, the percentage of material the hollow saved, face, vertex and open boundary-edge counts before and after a repair. It is equally clear about its limits — hollowing needs a watertight input, a wall must be thinner than half the model, and this is not a sculpting tool. You will not model a new shape here; you will make an existing one correctly sized, lighter and printable.

Scale

Resize by ratio, or set an exact target width in millimetres.

Hollow

Carve an inner shell so the model uses less material.

Combine

Merge several STL files into one printable mesh. Up to 8 files, 50MB total.

Repair

Fill holes, drop degenerate faces, merge duplicated vertices and fix normals.

Manifold check

Validate the mesh before you send it to a slicer.

Export

Write the edited mesh back out. STL is the safest for slicers.

STL Editor Load an STL file first.
Model info
Vertices
—
Triangles
—
Watertight
—
Manifold
—
Dimensions
—

Online STL Editor

Upload your STL

Drop a binary or ASCII .stl file, up to 50MB. The mesh is parsed on the server and you immediately see triangle count, bounding box, volume when it is watertight, and whether the mesh is closed before you change anything.

Run the operation you need

Scale by a ratio such as 1.25 or set the longest axis to an exact width in millimetres; hollow with a wall thickness; combine several STL files into one solid; or repair holes, duplicate vertices, normals and degenerate faces.

Check, then export

Run the manifold check for a printable verdict with boundary edges, non-manifold edges and winding reported separately, then export STL (binary or ASCII), 3MF, PLY, OBJ or GLB and download the result.

Scale by ratio or to a width

Multiply the model by a factor such as 2.5 or 0.1, or set its longest axis to an exact millimetre value and let the editor compute the factor, which it then reports. This is the fix for an STL exported in inches or a GLB exported in metres.

Hollow with a real cavity

The solid is voxelised, eroded by the wall thickness you choose, and the resulting cavity is subtracted from the original with CSG so the shell stays clean, then the report tells you how much material was saved. A thinner wall saves more and prints lighter; too thin and the shell may not survive handling.

Combine several STLs

Union overlapping solids into a single watertight mesh when a CSG engine is available, or concatenate them when it is not, and say which one happened. Unioning is what makes separate parts behave as one printable body in the slicer.

Repair that reports numbers

Fill holes, merge duplicate vertices, fix winding and normals, and remove degenerate faces, with face, vertex and open boundary-edge counts given before and after, plus a straight statement of whether the result is watertight.

Manifold check with a verdict

Watertight status, open boundary edges, non-manifold edges, winding consistency, volume and a printable yes or no. Open edges mean holes, non-manifold edges mean the slicer cannot tell inside from outside, and inconsistent winding means flipped facets.

Five export formats

Write the result as STL, 3MF, PLY, OBJ or GLB. Choose 3MF when you want a smaller file that records its unit, and STL when the slicer on the other end is old enough to be picky.

What Is a STL File?

STL has been the handoff format for 3D printing since 1987, and the STL editor exists because of what it leaves out. A file is a list of triangles: each facet stores a normal and three vertices, with no index buffer and therefore no shared vertices, no colour, no material, no unit and no statement of which triangles form which surface.

In binary form the layout is fixed: an 84-byte header, then 50 bytes per triangle made up of twelve 32-bit floats and a 16-bit attribute word that is almost always zero. ASCII files spell the same data out as text and are typically five to seven times larger, which is worth remembering when a 400MB file turns out to be a 60MB mesh.

Because there is no topology, the format cannot tell a solid cube from twelve triangles that merely happen to touch, and slicers have to guess or refuse. That is why the operations here are the ones they are: repair rebuilds topology from vertex positions, the manifold check measures exactly what STL fails to record, hollowing needs a watertight input before it can carve a cavity, and exporting to 3MF adds back units and structure that STL never had.

Frequently Asked Questions

Is this a real STL editor or just a viewer with extra buttons?

It is real: operations execute on the server through a trimesh-based pipeline with a CSG engine, and each one returns a downloadable result plus a report of what changed. Scaling, hollowing, combining, repairing and the manifold check all modify geometry and tell you the numbers. It is not a sculpting or modelling tool, though: you cannot draw new shapes or move individual vertices here.

Is my STL uploaded when I use the editor?

Yes, and that is different from the viewers on this site, which never upload anything. The editor runs Python on the server, so the file is uploaded, processed and returned, with a limit of 50MB per file, the same as our converters. If a model is confidential or larger than that, use a desktop tool such as Blender or Meshmixer locally instead.

How does scale-to-width work?

It measures the longest axis of the bounding box and multiplies the whole model so that axis equals the millimetre value you enter. A model of 120 by 40 by 30mm scaled to a target width of 80mm is multiplied by 0.6667 and becomes 80 by 26.7 by 20mm; the applied factor is reported so you can verify it. Scaling is uniform, so proportions never distort.

Why does hollowing refuse my file?

Because the input is not watertight. Carving a cavity requires the mesh to enclose a volume unambiguously, so an open scan or a model with holes is rejected with a message telling you to repair it first. Run the repair operation, then hollow; the other common refusal is a wall thicker than half the model's longest dimension, which would leave no cavity at all.

How does hollowing work, and how much material does it save?

The solid is voxelised at a pitch derived from its size, the voxel grid is eroded by your wall thickness to produce the cavity, and that cavity is subtracted from the original with a CSG difference so the outer surface stays exactly as it was. The report gives the percentage of material saved when the result is watertight. Without a CSG engine the pipeline falls back to extracting the voxel shell directly, which is still valid but has a coarser surface.

What does combine do when two parts overlap?

When every input is watertight and a CSG engine is available, it unions them into one watertight solid, so the slicer sees a single body and intersecting walls disappear. Otherwise it concatenates the meshes, which keeps the parts as separate shells that happen to occupy the same space; the report says which of the two happened, so you always know what you are downloading.

What exactly does repair change?

Four independent fixes: remove degenerate zero-area faces, merge duplicate vertices so shared edges are actually shared, fill holes, and fix winding plus normal orientation. The report lists faces, vertices and open boundary edges before and after, and states whether the result is watertight. It cannot invent missing geometry, so a scan with a large hole may still be open afterwards.

What does the manifold check report?

Watertight status, open boundary edges, non-manifold edges, winding consistency, volume, surface area and a printable verdict, with each problem listed separately. Open edges mean holes in the surface, non-manifold edges mean more than two faces share an edge so the slicer cannot determine inside from outside, and inconsistent winding means flipped facets. It does not measure wall thickness or detect self-intersections.

Which formats can I export from the editor?

STL, 3MF, PLY, OBJ and GLB. Coming from STL there is no colour to carry, so the choice is about size and tooling: 3MF is smaller, records its unit and suits modern slicers, PLY and OBJ are useful for mesh tools, and GLB is the one to pick when the model is heading for a web viewer or a game engine.

Does the editor move or reorient my model?

No. Vertices are modified in place, so the model keeps its original orientation, origin and up-axis, and only its size or topology changes. If you need the model recentred, that is a job for your slicer's arrange function or a DCC tool; the one exception on this site is the 3D text generator, which centres its own output on the origin.

Can I undo an operation?

Each operation produces a new downloadable file, so keep the original upload and download intermediate results as you go; re-uploading an earlier file is the undo. There is no editing history to step back through, which is deliberate: processing is stateless so nothing is retained on the server after your download.