Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock () or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock () or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

NIH3D

NIH 3D Workflows

NIH 3D provides automated workflows to convert scientific data formats into 3D mesh files. Supported workflows process both mesh-based and data-based inputs and output standard 3D file formats suitable for visualization and 3D printing. Additional formats and features are in development.


Terminology
Card icon

Mesh File

A 3d object composed of vertices, edges, and polygons (e.g., .glb, .stl, .x3d, .wrl)
Card icon

Molecular Data File

Scientific datasets (e.g., .cif, .pdb, .sdf, DICOM) used to generate mesh files via visualization tools
Card icon

Anatomical Data File

Medical imaging data (e.g., DICOM, NIfTI, NRRD, MHA) used to generate 3D anatomical models through image-based processing workflows.
Card icon

Quick Submit

An automated workflow that uses a database identifier to fetch molecular structure data and generate 3D mesh files without manual uploads, enabling rapid model creation

Workflow Categories

Generates detailed 3D models of anatomical structures from medical images such as CT scans.

What it does

  • Segments bone and captures whatever falls within those thresholds
  • Converts segmented regions into 3D surfaces
  • Sends resulting meshes through the Mesh Processing Workflow for standardized NIH 3D outputs

Technology behind the scenes

  • SimpleITK for medical-image processing and intensity-based segmentation
  • VTK for converting segmented volumes into 3D surfaces
  • Blender for mesh preparation and export

Supported inputs

NIfTI (.nii, .nii.gz), NRRD, MHA, DICOM ZIP archives (multi-series/study allowed)

Outputs

  • 3D mesh models in standard NIH 3D formats
  • For multi-series DICOM datasets, a NIfTI file for each detected series

Disconnected objects are assigned different materials to make individual components easier to distinguish. STL files do not preserve these materials. When repaired, we intentionally keep loose objects to preserve floating bones, though this can sometimes capture debris. Use the NIH 3D Viewer to hide unwanted pieces in the GLB file, then export as STL for printing (you can add struts to support floating pieces), or edit in your own 3D software. You may wish to upload your manually cleaned file as a supplementary input.

For DICOM inputs, non-image files are removed during anonymization. Folder structure from the input is preserved and all directories are renamed.

Important note

Take steps to anonymize your data ahead of time. We cannot guarantee complete anonymization and are not liable for any data you upload. If you plan to make raw data available, verify that the copy anonymized by NIH 3D contains no identifying information before making it public.

Prepares and standardizes 3D mesh files for NIH 3D visualization, sharing, animation, and 3D printing.

What it does

  • Imports common 3D mesh formats
  • Detects mesh attributes such as animations, textures, vertex colors, and materials
  • Selects compatible output formats based on those attributes
  • Creates preview images including rendered, wireframe, and no-color views
  • Packages associated textures when applicable

Supported inputs

.glb, .stl, .obj, .fbx, .x3d, .wrl, .3mf, .ply, .blend; ZIP with FBX + textures; ZIP with OBJ + MTL + optional textures

Outputs

Not Intended for 3D Printing

  • Animation/rigging: .glb, .blend
  • Textures: .glb, .blend, .fbx, .obj
  • Vertex colors: .glb, .blend, .x3d, .fbx, .wrl
  • Vertex colors + materials: .glb, .blend, .fbx, .x3d, .wrl
  • Materials: .glb, .blend, .fbx, .obj
  • Simple meshes: .glb, .blend, .obj, .stl, .x3d, .wrl

Intended for 3D Printing

  • Textures: .glb, .blend, .obj, .x3d, .wrl
  • Vertex colors: .glb, .blend, .ply, .x3d, .wrl
  • Materials: .glb, .blend, .obj, .stl, .3mf
  • Simple meshes or repaired by NIH 3D mesh repair: .glb, .blend, .stl, .3mf, .wrl

Models prepared for 3D printing may also receive .ply, .wrl, .3mf, and .stl outputs.

Preview PNG images and packaged texture files are generated when applicable.

Output Format Attributes
FormatGeometryVertex colorsMaterialsTexturesAnimationTypical role here
.stltris onlyNot supportedNot supportedNot supportedNot applicableSend to a 3D printer
.objSupportedNot supportedvia .mtlvia .mtl + imagesNot applicableImport into most 3D software
.plySupportedSupportedNot supportedNot supportedNot applicableScientific tools that need per-point color
.glbSupportedSupportedSupported (PBR)Supported (packed)SupportedView in a browser or 3D viewer; default download
.fbxSupportedSupportedSupportedSupportedNot applicableImport into animation and game tools
.x3dSupportedSupportedSupportedSupportedNot applicableWeb and archival use; colored models
.wrl (VRML97)SupportedSupportedSupportedSupportedNot applicableFull-color 3D printing services
.3mfSupportedNot supported (as used here)Not supported (as used here)Not supported (as used here)Not applicableSend to a modern 3D printer — geometry only, no color
.blendSupportedSupportedSupportedSupportedSupportedOpen and edit in Blender

3MF File Support

Not supported:

  • Vertex colors and textures — The 3MF format stores color and texture data using optional extensions (Materials & Properties, Texture) that our importer does not implement. To preserve color, upload as GLB, FBX, OBJ, WRL, or X3D instead.
  • BambuStudio and slicer files — 3MF files exported from slicing software (BambuStudio, PrusaSlicer) are print-ready assembly files that store geometry across multiple internal files using the Production extension. Our importer reads only the main model file and cannot resolve those references, so no geometry can be loaded.
File Size and Output Limits

Output format limits

When a processed mesh is very large, certain output formats are omitted:

FormatPolygon thresholdBehavior
3MF3 million polygonsFormat skipped
WRL / X3D5 million polygonsFormat skipped
GLB, PLY, BLENDNo limitAlways generated
Reducing Large 3D Files

Very large or highly detailed 3D models can be slow to upload, open, process, and display. Files approaching or exceeding 1 GB are especially likely to cause problems in automated workflows.

File size alone does not tell the whole story. Different file formats store and compress 3D data differently, so models with the same geometry can have very different file sizes. For this reason, consider both file size and triangle count.

As a practical guide:

  • 3D printing: aim for about 300,000–1,000,000 triangles
  • Interactive visualization: aim for under 500,000 triangles per object where practical
  • High-detail scientific surfaces: up to 1–2 million triangles may be reasonable when the additional detail is needed

These are guidelines rather than hard limits. A simpler model is usually preferable if it looks the same at the intended viewing or printing resolution.

In ChimeraX

Whenever possible, reduce the surface before exporting.

For volumetric or density-map surfaces:

volume #1 step 2

Increase the step (2, 3, 4, etc.) until the surface is as simple as possible while retaining the detail you need.

For molecular surfaces:

surface #1 gridSpacing 1

Increasing the grid spacing produces fewer triangles and smaller exports. Larger values create fewer triangles and smaller exported files. Values around 1 Å are often a reasonable starting point for visualization.

In Blender 5.1

If the model has already been exported, use the Decimate modifier:

  1. Select the object.
  2. Open the Modifiers tab (wrench icon).
  3. Choose Add Modifier → Decimate.
  4. Use Collapse mode.
  5. Lower the Ratio:
    • 0.5 keeps about 50% of the geometry
    • 0.25 keeps about 25%
    • 0.1 keeps about 10%
  6. Inspect the model and use the lowest ratio that still preserves the detail you need.
  7. Apply the modifier and export the reduced model.

Alternatively, decimate the mesh directly in Edit Mode:

  1. Select the object and press Tab to enter Edit Mode.
  2. Press A to select the entire mesh.
  3. Choose Mesh → Clean Up → Decimate Geometry.
  4. Adjust the Ratio in the operation settings, using the lowest value that still preserves the detail you need.

Unlike the Decimate modifier, this method changes the mesh directly, so save a copy of the original first.

Files approaching 1 GB or models containing several million triangles should generally be reduced before submission. Compression or a more efficient file format may reduce the stored file size, but it does not reduce the underlying geometry that must be loaded and processed.

Smooth the Appearance After Decimation

After reducing the polygon count, a surface may look more faceted. Blender can smooth the surface normals so the model appears smoother without adding polygons.

In Object Mode:

  1. Select the object.
  2. Right-click and choose Shade Smooth.
  3. Use Shade Auto Smooth if you need to preserve sharper edges.

This is useful for visualization, because it improves how light is interpolated across the surface without increasing the triangle count.

Important: Smooth shading does not change the actual geometry. It only changes how the surface is rendered, so the apparent smoothness is effectively “fake.” For 3D printing, the printer uses the real mesh geometry, not the smoothed normals. If a model still looks visibly faceted in its actual geometry, it may need a higher-resolution surface rather than smooth shading.

Automatic decimation

For ChimeraX files and files that were successfully repaired, if the GLB output would exceed 300 MB the mesh is automatically decimated before export. The reduction targets the largest objects most aggressively while barely touching small objects. Vertex colors are preserved through this process. After decimation, the polygon thresholds above apply to the reduced mesh, so WRL and X3D outputs may still be generated for files that would otherwise have been too large.

Decimation does not apply to unrepaired mesh file uploads or to files where repair was attempted but failed.

ChimeraX files

For ChimeraX-generated files, additional size-related limits apply internally to the repair and analysis pipeline. Very large ChimeraX meshes may receive less precise repair strategy selection, and some quality metrics used in repair routing are skipped above certain polygon counts. Output format availability follows the same rules as above.

Analyzes geometry, attempts increasingly robust repair strategies, and clearly identifies cases where a verified repair could not be produced.

What it does

  • Identify — analyzes the geometry and determines what type of repair, if any, is needed
  • Repair — applies standard repair tools to fix common issues like open holes, non-manifold edges, self-intersections, and disconnected shells. Includes custom handling for meshes produced from ChimeraX.

Repair strategies

Repair methods are attempted from least to most aggressive and stop once a valid result is produced.

  • 3D Print Toolbox cleanup — Standard cleanup operations such as merging duplicate vertices, filling holes, and recalculating normals. If cleanup damages or fragments the geometry, the pipeline detects the change and returns to the original mesh before trying another strategy.
  • Boolean union — For meshes made from multiple solid components, the workflow may attempt to merge those components into a single valid solid. This works best when individual parts are already reasonably clean and have clearly defined intersections or separation.
  • Voxel remesh — More complex geometry may be converted to a voxel representation and reconstructed as a new surface. This produces solid geometry but can smooth fine details and substantially change polygon count.
  • Alpha wrap — Open, irregular, or volumetric surfaces may instead be reconstructed by wrapping a new outer surface around the source geometry. This can create a clean printable shell but does not preserve internal surface detail.

Repair outputs are geometry-only. Textures from the original model are not preserved through the repair process.

Disconnected pieces

We intentionally keep loose objects to preserve intentional multi-part models or floating components, though this can sometimes capture debris. Pieces appear as different colors in the GLB file for easy identification. Use the NIH 3D Viewer's wireframe mode to see enclosed pieces that could also be removed. Hide unwanted pieces, then export as STL for printing (you can add struts to support floating pieces), or edit in your own 3D software. You may wish to upload your manually cleaned file as a supplementary input.

File suffixes

  • -repaired — the pipeline produced repaired, solid geometry; the result should still be visually inspected and may contain loose parts
  • -print_caution — the pipeline could not produce a verified repair, so outputs were generated from the original geometry instead

A print_caution model may still be printable, but printability will be printer and slicing software dependent. The same applies for anything output from NIH 3D.

Important limitations

Always inspect the output. If you're not satisfied with the repair result—such as unwanted merging or other issues—you can turn off mesh repair and instead use “intended for 3D printing” after manually repairing the mesh with tools like Blender's 3D Print Toolbox, Autodesk Netfabb, or other available repair software.

  • Automatic repair cannot correct every structural problem. Models with extremely complex topology, heavy self-intersection, ambiguous overlapping parts, or very high polygon counts may require manual repair.
  • Voxel remesh and alpha wrap regenerate the surface rather than simply patching the original mesh, so fine geometric details may differ from the source.
  • Some outputs may be too large to meaningfully print or to repair at all. Others may be too large to scan completely, resulting in empty or incomplete attributes in the file properties.

Generates detailed 3D visualizations of molecular structures for 3D printing, web visualization, and downstream analysis. Structures are processed inside ChimeraX using the NIH3D custom presets. The resulting files then pass through a mesh processing pipeline that prepares them for the web viewer, 3D printing, and download.

Supported inputs

.cif, .cif.gz, .pdb, .pdb1, .ent, .mol, .mol2, .sdf, .mae, .map, .map.gz, .omap, .tif, .tiff

Quick Submit

Models can also be generated directly from supported database identifiers without manually uploading a structure file.

Supported databases

Processing pipeline

After a structure file is opened in ChimeraX, the pipeline automatically classifies it into one of four treatment types and applies the corresponding visualization steps.

Small molecules

Structures with no named polymer residues (e.g., PubChem compounds, ligands) are rendered in three representations: sticks, CPK space-filling, and ball-and-stick. Each is produced in both a colored and a monochrome variant. All small molecule outputs are printable geometry — no smooth normals are applied. They will appear faceted on screen at low polygon counts, but enabling smooth normals in Blender will improve their appearance without affecting print quality. Small molecules are also the best case for automated repair — the geometry is composed of overlapping closed spheres and cylinders that merge cleanly and quickly.

Macromolecules — medium

Structures with polymer chains below ~250,000 atoms. Two representation families are produced:

  • Ribbon — a cartoon secondary-structure representation. Protein helices, sheets, and coils are drawn as ribbons; nucleic acid strands as tubes and planks. Coloring variants include monochrome secondary structure type, rainbow (N→C terminus), and by-chain. Ribbon outputs are only generated when the structure has fewer than ~25,000 atoms, or when forced.
  • Molecular surface — a solvent-excluded surface that encloses the full molecular shape. Coloring variants include monochrome, by-chain, electrostatic potential (Coulombic, for protein structures under ~25,000 atoms with sufficiently complete residues), and hydrophobicity (Kyte–Doolittle scale, for protein structures).

Macromolecules — large

Structures with polymer chains above ~250,000 atoms. A reduced set of surface outputs is generated (monochrome and by-chain; hydrophobicity for structures below an upper size cutoff). Ribbon outputs are skipped for performance.

Density maps (EMDB)

Volumetric electron microscopy maps are isosurface-rendered at the deposited contour level (Quick Submit) or by the contour level provided by the user (Regular Submission). Two coloring variants are produced: monochrome and radial gradient (surface colored from center outward).

AlphaFold structures

The most output-rich treatment. In addition to all the macromolecule representations, AlphaFold outputs include:

  • pLDDT coloring — residues colored on a blue–yellow–orange–red scale by their per-residue confidence score
  • PAE domain coloring — residues grouped and colored by predicted aligned error domain clusters, giving a visual summary of which regions are predicted with high confidence to form units.

When the structure contains a well-defined high-confidence core (a connected set of residues with pLDDT > 50 that is structurally distinct from the rest of the model), outputs are generated for both the full model and for that high-confidence subset independently.

Output filename conventions

Every submitted structure produces a set of files whose names encode the structure source, representation, geometry profile, and coloring. Following the ID, the file name generally breaks down into four parts: -prefix-representation-coloring-repair. Not every entry includes all of these parts, as described in more detail below. For example, an AlphaFold entry might look like -all-ribbon-thin-rainbow, while a PDB entry might look like -ribbon-thick-print_struts-repaired.

AlphaFold confidence prefix

PrefixMeaning
all-Complete model, all residues
hc-High-confidence subset only, residues with pLDDT > 50 that form a connected structural domain

Representation

RepresentationMeaning
ribbon-thick-print_strutsRibbon for 3D printing — thickened backbone, structural struts, hydrogen bonds as rods
ribbon-thinRibbon for web display — standard weight, no struts
mol-surf-highresMolecular surface for 3D printing — fine mesh grid
mol-surf-lowresMolecular surface for web display — coarser mesh with smooth normals; will appear faceted if printed
sticks-thickBond sticks for 3D printing — enlarged bond radius
sticks-thinBond sticks for web display — standard bond radius
basBall-and-stick — atoms as spheres, bonds as cylinders; printable geometry, no smooth normals applied
cpkCPK / space-filling — atoms as spheres at van der Waals radius; printable geometry, no smooth normals applied

Coloring

SegmentMeaning
-nocolorUniform grey, no chemical or structural coloring
-secondaryProtein secondary structure (helix - blue, sheet - red, coil - yellow, DNA - green, RNA - magenta)
-rainbowN-to-C terminus gradient (blue at N-terminus, red at C-terminus)
-bychainEach chain a distinct color
-coulombicElectrostatic potential mapped onto the surface (blue = positive, red = negative)
-hydropathyHydrophobicity mapped onto the surface (orange = hydrophobic, teal = hydrophilic)
-plddtAlphaFold by per-residue confidence score (blue–yellow–orange–red scale from high to low confidence)
-paeAlphaFold domain coloring derived from predicted aligned error
Print vs. visualization geometry

Printable outputs (-thick-print_struts, -highres-) are designed to survive physical 3D printing:

  • Backbone ribbon is thickened and rendered with higher polygon counts
  • Structural struts — short cylindrical cross-braces — are automatically placed between Cα atoms (protein backbone), phosphorus atoms (nucleic acid backbone), and ligand atoms that are within ~8 Å of each other, preventing fragile overhangs from breaking during printing
  • Hydrogen bonds are rendered as explicit rods
  • Bond and pseudobond radii are enlarged (~4× the visualization default)
  • Surfaces use a finer mesh grid for greater accuracy

Visualization outputs (-thin-, -lowres-) are optimized for web and real-time display:

  • Standard ribbon and bond proportions
  • No struts or hydrogen bond geometry
  • Surfaces use a coarser mesh for smaller file sizes and faster rendering
  • Smooth normals are applied to make surfaces appear smooth on screen regardless of polygon count — if printed, the actual faceted geometry will be visible

Small molecule outputs are printable geometry and do not have smooth normals applied, so they may appear faceted on screen. To improve their appearance for display purposes, enable smooth normals in Blender: select the object, right-click in the viewport, and choose Shade Smooth. This does not affect the underlying geometry or print quality.

Mesh processing and repair

After ChimeraX produces the visualization files, each one passes through a mesh processing stage. The route taken depends on the representation.

Printable nocolor outputs go through full geometry repair. The pipeline attempts to produce a watertight, manifold mesh suitable for slicing and printing. Ribbons are remeshed using a voxel-based approach; small molecules are boolean-unioned from their component spheres and cylinders. Successfully repaired files are marked -repaired in the filename.

Printable colored outputs are exported without repair. Repair requires converting geometry through an intermediate format that cannot carry vertex colors, so the colored variant is passed through as-is and marked -print_caution. The corresponding nocolor sibling is the repaired version intended for actual printing.

Visualization outputs are prepared for display and export formats without geometry repair.

What the suffix tells you

SuffixMeaning
-repairedRepair succeeded; geometry has been validated as manifold
-print_cautionEither repair was not possible, or was intentionally skipped (colored models). May print depending on your printer and settings — check the geometry in your slicing software before printing
(no suffix)Display-only; repair was not attempted
Missing outputs

Some representations are skipped when the structure or its data cannot support them. Known conditions include:

  • Coulombic electrostatics — skipped when the structure has a high proportion of incomplete or unresolved residues, which would produce unreliable surface charge values
  • Ribbon — skipped for very large structures where generating ribbon geometry is not computationally practical
  • High-confidence AlphaFold subset (hc-) — skipped when the high-confidence residues do not form a structurally distinct connected region large enough to be meaningful on its own
  • Missing or problematic residues — residues that are absent from the deposited coordinates, chemically unusual, or poorly defined can cause individual representations to fail during generation; the affected outputs are skipped while others proceed normally

As long as at least one representation is produced successfully, the entry will not be marked as failed. If you notice an expected output is missing, reach out and we can review the processing logs together.


Model orientation and thumbnails

The pipeline renders thumbnails from a fixed camera position. In standard Y-up space, the camera is positioned along the positive Z axis looking toward the origin — the face of your model that points toward +Z (toward the viewer) is what will appear in the preview image on the model page and in the web viewer.

Different 3D software and file formats handle coordinate systems differently, so a model may arrive rotated in an unexpected direction depending on where it was created and how it was exported. A quick way to check before submission is to load the file into an online viewer such as Babylon Sandbox or Online3DViewer, or to open it in Blender — these will show you the orientation the pipeline will see.

If the orientation needs adjusting, you can rotate the model in Blender and then apply the transforms before exporting — this bakes the rotation into the geometry so the file exports in the correct orientation. Other 3D software typically has an equivalent operation, often called “freeze transformations” or similar.

For 3D printables, models are often designed lying flat on the print bed with the base along the X/Z axes, which means the thumbnail will show the model from the side rather than from above. For some models this is fine, but for others — embossed plates, racks, or anything whose most informative face points upward — the side profile may not be the best discovery image. In these cases, we recommend uploading a supplemental image of the model in a well-oriented reference position and selecting it as the discovery thumbnail. This ensures the discover page shows a clear, recognizable view regardless of how the geometry is oriented for printing.


Software References
Blender

Blender Foundation. (2002-present). Blender [Computer software]. https://www.blender.org

ChimeraX

Meng, E. C., Goddard, T. D., Pettersen, E. F., Couch, G. S., Pearson, Z. J., Morris, J. H., & Ferrin, T. E. (2023). UCSF ChimeraX: Tools for structure building and analysis. Protein Science, 32(11), e4792. https://www.cgl.ucsf.edu/chimerax/

Pettersen, E. F., Goddard, T. D., Huang, C. C., Meng, E. C., Couch, G. S., Croll, T. I., Morris, J. H., & Ferrin, T. E. (2021). UCSF ChimeraX: Structure visualization for researchers, educators, and developers. Protein Science, 30(1), 70-82.

Goddard, T. D., Huang, C. C., Meng, E. C., Pettersen, E. F., Couch, G. S., Morris, J. H., & Ferrin, T. E. (2018). UCSF ChimeraX: Meeting modern challenges in visualization and analysis. Protein Science, 27(1), 14-25.

Note: ChimeraX is developed by the Resource for Biocomputing, Visualization, and Informatics at UCSF with support from NIH R01-GM129325 and the NIAID Office of Cyber Infrastructure and Computational Biology.

Manifold3D

Lalish, E., Manifold3D Contributors. (n.d.). Manifold3D [Computer software]. https://github.com/elalish/manifold

PyMesh Lab

Muntoni, A., & Cignoni, P. (2021, January). PyMeshLab [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.4438750

SimpleITK

Beare, R., Lowekamp, B. C., & Yaniv, Z. (2018). Image segmentation, registration and characterization in R with SimpleITK. Journal of Statistical Software, 86(8). https://doi.org/10.18637/jss.v086.i08

Yaniv, Z., Lowekamp, B. C., Johnson, H. J., & Beare, R. (2018). SimpleITK Image-Analysis Notebooks: A collaborative environment for education and reproducible research. Journal of Digital Imaging, 31(3), 290-303. https://doi.org/10.1007/s10278-017-0037-8

Lowekamp, B. C., Chen, D. T., Ibáñez, L., & Blezek, D. (2013). The design of SimpleITK. Frontiers in Neuroinformatics, 7, 45. https://doi.org/10.3389/fninf.2013.00045

Trimesh

Dawson-Haggerty, D., & contributors. (2013-present). Trimesh: A Python library for loading and using triangular meshes [Computer software]. https://github.com/mikedh/trimesh

VTK (The Visualization Toolkit)

Schroeder, W., Martin, K., & Lorensen, B. (2006). The Visualization Toolkit: An object-oriented approach to 3D graphics (4th ed.). Kitware, Inc.

Kitware, Inc. (2000-present). The Visualization Toolkit (VTK) [Computer software]. Retrieved June 3, 2025, from https://vtk.org