Free and open source; no desktop subscription.
Our verdict
MeshLab is a useful free choice for defined scan-cleanup jobs: removing stray pieces, reducing triangle counts and converting meshes. Its control comes with a recovery burden: MeshLab 2025.07 has no general undo history, so save separate copies and inspect each change.
Best atCleaning and simplifying existing scans when you know which parts of the mesh need attention.
Less suited toGuided CAD design or repeated trial-and-error shape editing that depends on easy undo.
| Mesh processing | Selection, cleanup, hole filling and decimationChoose the operation for your scan and inspect what it changes. |
|---|---|
| Recovery | No general mesh-edit undo history in 2025.07Export separate checkpoints before experimenting. |
| Platforms | Windows, macOS and LinuxMatch the download to your processor and check the package requirements. |
| Texture handoff | Standard STL does not preserve texturesKeep a suitable OBJ export with its material and image files when appearance matters. |
| Print preparation | Mesh export still needs slicer checksVerify dimensions and layer previews before printing. |
| Automation | Separate PyMeshLab Python libraryUseful for repeated processing jobs; Python is unnecessary for desktop cleanup. |
What Else Do You Need? A compatible computer, storage for the original mesh and saved checkpoints, and a slicer for printing. The desktop app needs no subscription; allow time to learn the filters and check each result.
| Reviewed release | MeshLab 2025.07. |
|---|---|
| Saving work | Save Project As is separate from Export Mesh As; a duplicated layer does not replace a disk backup. |
| Hole filling | Close Holes counts boundary edges for its maximum hole size, not millimeters; a patch does not recover missing scan data. |
| STL dimensions | STL does not record units; compare a known measurement in the slicer. |
| Ubuntu packages | Ubuntu 24.04’s repository lists 2020.09; check versions before following a newer tutorial. |
MeshLab is worth learning if you have a scanned 3D model that needs stray pieces removed, fewer triangles or a different file format. It’s free, and its tools let you choose which parts of a scan to change. I recommend it for those specific jobs, provided you’re willing to save copies and check each result.
The biggest catch is that MeshLab 2025.07 lacks a general undo history for mesh edits. An accidental deletion can mean returning to a saved copy. If you want to reshape objects through repeated trial and error, Blender is a better starting point. If you just want to print an already usable model, start with your slicer.
A mesh describes an object’s surface using connected points and small flat faces, usually triangles. A scanner can produce millions of these faces, including unwanted fragments around the object. MeshLab gives you tools to inspect that surface, remove unwanted geometry, fill gaps and reduce its complexity.
That makes it useful between your scanning software and another application. You might trim away the table beneath a scanned ornament, make a large model easier to handle or convert it for another program. MeshLab’s focus is processing existing surfaces; don’t choose it expecting the guided design tools of a CAD program.
MeshLab is free and open source under the GPL. You don’t need a subscription to use the desktop application. PyMeshLab is a separate Python library for automating mesh processing. It’s useful for repeated jobs, but you don’t need to learn Python to clean a scan in MeshLab.
Start with a copy of your scan and one clear goal. Removing background fragments and reducing file size are different jobs, so check the result of each before moving on.
For a scan that already has a surface mesh, this is a sensible short sequence:

A reported September 2025 laser-scan cleanup reduced roughly 17 million faces to about 902,000 through repeated repairs, rebuilding the surface and reducing its triangle count. It used a 300-edge hole threshold in an early pass and boundary preservation during final decimation. The final checks reported a closed mesh. However, the report didn’t specify the software version or hardware, measure surface accuracy or demonstrate a completed print. Treat it as an example of an involved cleanup, not a settings recipe for your scan.
MeshLab asks you to understand the operation you’re applying. A filter is a command that changes or analyzes a mesh, often with several settings. Finding the command is only half the job; you also need to know which layer and selected faces it will affect.
In MeshLab 2025.07, Import Mesh, Export Mesh As and Reload are separate commands. Save Project As is also separate from mesh export. For a straightforward backup, export a separate mesh file after a useful stage: scan-trimmed, then scan-patched. Don’t overwrite your only good copy.
You can also right-click a mesh in the Layers panel and choose Duplicate Layer before experimenting. That gives you another mesh to return to during the session. It doesn’t replace a backup on disk. Reloading brings back the saved mesh, so any changes made since that save are lost.
The project website points to tutorials, and recent scan tutorials explain selection, layer visibility and export. Choose help that covers your particular job and compare its controls with your installed version. An old menu path may differ even when the operation still exists.
If MeshLab is “not working” or a model is “not showing,” first identify what failed: opening the file, displaying a layer, running a filter or exporting. Record the version, operating system and exact error. Those symptoms don’t all have the same fix.
An exported file isn’t a finished print job. Your slicer turns the model into instructions for the printer, and it needs to interpret the surface correctly.
For an ordinary solid print, check that the surface encloses a volume without accidental gaps or intersecting faces. MeshLab’s Compute Topological Measures helps inspect how the mesh is connected. “Non-manifold” means the surface has connections that don’t behave like an ordinary solid boundary. A model can look fine from one angle and still have these problems.
Next, check dimensions in the slicer against a known measurement. STL files don’t record measurement units, so a successful export doesn’t establish the intended physical size. Fix any mismatch before arranging the print.
File choice matters for appearance, too. Standard STL doesn’t preserve a scan’s textures. If you need those for later editing or display, keep a suitable textured export, such as OBJ with its associated material and image files. Confirm they load together in the next application.

Finally, slice the model and examine the layer preview. Look for missing sections, unexpected filled areas, walls too thin to print and features that need support. Automatic repair can fix some errors, but check what changed. Even a clean preview can’t guarantee strength, fit or a successful print; those also depend on the printer, material and settings.
MeshLab’s official latest release is 2025.07. Start at the project website’s Download section or the official cnr-isti-vclab/meshlab GitHub repository’s Releases page. The download choices include:
Picking the right processor version doesn’t mean it will run on every older operating system. Check the requirements of your chosen package, especially on an older computer.
On Ubuntu, pay attention to the version your package manager offers. Ubuntu 24.04’s repository lists MeshLab 2020.09, well behind the project release. That package can have different controls and features from a current tutorial. Choose the official AppImage or linked Flatpak route if you need the newer release, checking the package version and its setup requirements first.
MeshLab is an identifiable research software project from ISTI-CNR. That establishes its origin, not the safety of every installer bearing its name. Use the official distribution routes. The GitHub release publishes SHA-256 checksums for checking that a download matches the published file; a matching checksum isn’t a security audit.
Older release notes answer different questions. 2020.12 introduced PyMeshLab as the replacement for meshlabserver and added a double-precision build. 2021.07 added formats including glTF/GLB and exact mesh booleans—operations that combine or subtract shapes. 2025.07 added ARM64 support on Mac and Linux. Those are release changes, not comparative performance results.
There’s also QMeshLab, a rewrite from the same team with undo and redo among its stated features. It’s still in development before its first tagged release. Don’t confuse its features with those in the MeshLab 2025.07 download.
Choose MeshLab when your main job is inspecting and cleaning an existing scan, reducing its complexity or converting it. Its appeal is control over those operations, provided you’re comfortable checking changes and saving copies.

Choose Blender when you expect to edit shapes repeatedly or combine objects as part of a larger modeling job. It’s also free, with undo history, automatic saves and editable Boolean modifiers. Joining objects alone doesn’t repair their surfaces; combining them into a solid still needs suitable geometry. Blender has plenty to learn, but its recovery tools make experimentation easier to manage. On an Intel Mac, use the compatible 4.5 LTS line: Blender 5.x requires Apple Silicon on macOS 13 or later.
Meshmixer remains relevant for existing Windows workflows involving print repair. Autodesk still documents its Windows 3.5 installer, but says development has stopped and future support won’t be provided. I wouldn’t make it your first software to learn now. Its automatic repair can also fail, while rebuilding a model with Make Solid can lose detail.
For a file that already looks ready to print, try your slicer’s repair and preview first. Learn MeshLab when you can name the cleanup task your slicer can’t handle.