How to Convert Dental CBCT DICOM to STL for Free

This guide is for dentists, technicians, clinic IT staff and students who have a CBCT scan and need a printable or CAD-ready STL file without buying planning software.

The short answer: export the scan from your CBCT software as a standard DICOM series, open it in InVesalius, apply a bone threshold preset, keep the largest connected region, create the surface and export binary STL. Then clean the mesh in MeshLab before printing. Both are free and open source under the GPL. For automatic separation of teeth, jaws and the nerve canal, use 3D Slicer instead. None of these tools is a certified diagnostic or planning device: use the models for printing, teaching and communication, not as the sole basis for a surgical decision.

Free tools for DICOM to STL, side by side

ProgramRole in the workflowLicencePlatformsCurrent version
InVesaliusFastest DICOM import, threshold segmentation and STL exportFree, open source (GNU GPL v2)Windows 64-bit, macOS (Intel and Apple Silicon), Linux (Flatpak)3.1.99998 (April 2022); nightly builds on GitHub
3D SlicerFull segmentation workstation; automatic tooth and jaw segmentation through extensionsFree, open source (BSD-style)Windows 11, macOS 14+, Linux5.12.4 (September 2026)
ITK-SNAPPrecise manual and semi-automatic outlining of one structure, STL exportFree, open source (GNU GPL v3)Windows, macOS (Intel and Apple Silicon), Linux4.4.0 (September 2025)
MeshLabCleaning, hole filling and decimation of the exported STLFree, open source (GNU GPL v3)Windows, macOS (Intel and Apple Silicon), Linux2025.07 (July 2025)

Step 1: Export a clean DICOM series from the CBCT

Most failed conversions start here. InVesalius reads a sequence of 2D DICOM files, so export single-frame slices, not a vendor project file or screenshots.

  1. In the CBCT software, use the DICOM export for third-party software and choose a standard series, one file per slice. Do not export only secondary captures or reformatted views.
  2. Keep the full field of view and the original voxel size. Downsampling costs detail on thin cortical bone and root surfaces.
  3. Copy the whole folder to the local disk before importing.
  4. If you anonymise, keep the patient ID, series instance UID and slice position fields. The 3D Slicer documentation names missing patient name, patient ID and series UID as a common cause of import failures.

Step 2: Convert DICOM to STL in InVesalius

InVesalius is the quickest route for a plain jaw, skull or teeth model. It reads DICOM 3.0 (including JPEG and RLE encodings), ACR-NEMA, Analyze and image stacks, and exports binary or ASCII STL, PLY, OBJ and VRML.

  1. Import the DICOM folder. If the study contains several series, pick the one with the full slice count; scouts and reformats have far fewer slices.
  2. In the segmentation step, choose a threshold preset. Bone or Compact Bone (Adult) is the usual start for a jaw model; Enamel (Adult) picks up the densest structures when you only want the crowns.
  3. Adjust the lower threshold in the slice views. Raise it until the cortex is continuous and soft tissue noise disappears; lower it if thin bone around the roots or the sinus floor breaks up. CBCT grey values are not calibrated Hounsfield units, so a value that works on one scanner will not match another.
  4. Create the 3D surface and use the connectivity option to keep only the largest region, so floating fragments and the headrest stay out of the file.
  5. Export as binary STL; it is far smaller than ASCII and every slicer and CAD program reads it.

Step 3: Convert DICOM to STL in 3D Slicer

Choose 3D Slicer when you need teeth and jaws as separate objects, or when InVesalius cannot read an export.

  1. Drag and drop the DICOM folder onto the Slicer window, or click Import in the DICOM module. If a series loads wrongly, tick Advanced, click Examine and pick the reader without warnings.
  2. Optionally crop to the arch of interest with Crop Volume: smaller volumes segment faster and give lighter meshes.
  3. Open the Segment Editor, add a segment and use the Threshold effect to create the starting mask. The Islands effect with Keep largest island removes disconnected noise, and the Smoothing effect (median, opening, closing or Gaussian) tidies the staircase look of a thresholded surface.
  4. For automatic separation of maxilla, mandible, upper teeth, lower teeth and the mandibular canal, install the DentalSegmentator extension from the Extension Manager and run it instead of thresholding. It is slow without an NVIDIA GPU, and the output still needs a check slice by slice.
  5. Export: in the Segmentations module open Export to files, choose the folder and STL or OBJ, and click Export. The same section is reachable from the Segmentations drop-down in the Segment Editor.

Step 4: Tracing one structure with ITK-SNAP

When thresholding keeps merging a tooth with the surrounding bone, or you need one cyst, canal or impacted tooth, ITK-SNAP is the better tool. Seed an active contour inside the structure, let it grow, fix leaks with the paintbrush, then use Segmentation, Export as Surface Mesh and save as STL. The mesh is rougher than a Slicer export and needs the cleanup below.

Step 5: Clean the STL in MeshLab before printing

A raw segmentation mesh is rarely printable: too many triangles, open edges where you cropped, floating pieces. MeshLab fixes these in a few filters.

  1. File, Import Mesh. Save a copy first: MeshLab has no general undo for filters.
  2. Under Filters, Cleaning and Repairing, remove duplicate and unreferenced vertices, isolated pieces and non-manifold edges and faces.
  3. Reduce the triangle count with Quadric Edge Collapse Decimation under Remeshing, Simplification and Reconstruction. Set a target face count, tick Preserve Boundary and Preserve Normal, and check the result visually.
  4. Run Close Holes in the same menu, limiting the maximum hole size so the open base of a cropped model is handled deliberately rather than capped by accident.
  5. Check with Compute Geometric Measures under Quality Measure and Computations: the output says whether the mesh is watertight.
  6. If you moved or aligned the mesh, apply Freeze Current Matrix before export. Then export as binary STL.

To design on the model rather than print it, hand the cleaned STL to a dental CAD. Our hub on free dental CAD software lists the open-source options that import STL.

Which tool should you use

  • A quick jaw, skull or arch model for printing or a patient conversation: InVesalius, then MeshLab. It is the shortest path.
  • Teeth and jaws as separate printable parts, or a nerve canal model: 3D Slicer with DentalSegmentator, then MeshLab.
  • One difficult structure that threshold tools keep merging: ITK-SNAP, then MeshLab.
  • Implant planning and surgical guides: none of the above. Export the STL and move to planning software; see the hub on free dental implant planning software.

Limitations

  • Threshold segmentation on CBCT is approximate. Grey values are not calibrated like CT, so thin cortical bone, the sinus floor and root surfaces can disappear or thicken with the threshold you pick. Check the model against the slices before trusting a measurement.
  • Metal restorations, implants and brackets create streak artefacts that become spikes and shells in the mesh. Manual cleanup is usually unavoidable.
  • InVesalius has had no stable release since April 2022; newer code ships only as nightly builds that the project describes as less stable. The stable Windows installer is labelled for Windows 7/10.
  • 3D Slicer states that it is not approved for clinical use. InVesalius, ITK-SNAP and MeshLab make no regulatory claims. Treat the STL as a model for printing, teaching and communication, not as a diagnostic result.
  • Dimensional accuracy depends on voxel size, threshold choice and the smoothing and decimation applied afterwards. Where millimetres matter, verify against known dimensions on the scan.

FAQ

How do I convert DICOM to STL in InVesalius?

Import the DICOM folder, choose a threshold preset such as Bone or Compact Bone (Adult), adjust the lower threshold until the cortex is continuous, keep the largest connected region, create the surface and export it as binary STL.

Is there a free DICOM to STL converter for Mac?

Yes. InVesalius 3.1.99998 has macOS builds for Intel and Apple Silicon, 3D Slicer supports macOS 14 or later, ITK-SNAP 4.4.0 has Intel and Apple Silicon builds, and MeshLab 2025.07 ships separate arm64 and x86_64 builds.

Does InVesalius run on Windows 11?

The stable installer is a 64-bit build labelled for Windows 7/10; the release page does not list Windows 11 separately. Install it and test with one of your own scans before relying on it.

InVesalius vs 3D Slicer for DICOM to STL: which is better?

InVesalius is faster to learn and quicker for a plain bone or teeth model. 3D Slicer takes longer to master but separates teeth, jaws and the mandibular canal automatically through DentalSegmentator and has more cleanup tools before export.

Why is my exported mesh not watertight?

Cropping leaves open edges and scatter leaves floating fragments. In MeshLab, remove isolated pieces and non-manifold edges, run Close Holes with a sensible maximum hole size, then confirm with Compute Geometric Measures.

Last updated: 5 October 2026 · DentIIT editorial team. Licence, version and platform details are checked against each developer's official documentation; none of the tools listed here should be treated as a certified medical device unless its vendor says so.

More Dental Software News

Submit your application