Neatbo.

Split disconnected STL components

Split binary or ASCII STL by exact shared-edge connectivity while retaining original coordinates, normals and triangle data.

Browser-local processingInputBinary / ASCII STLOutputComponent STL ZIP / source-index mapUp to 30 MiB per file · File limit: 1
  1. 1Add input
  2. 2Review and run
  3. 3Get your result

Tool input and files are processed in this browser without being uploaded.

Your input

Inputs are kept temporarily in this tab when switching tools. Refreshing or closing clears them; large results may need to be regenerated.

⌘ / Ctrl + Enter to run

or drag and drop it here

Files stay on this device. Your originals stay unchanged.

.stl

Up to 30 MiB per file · File limit: 1

    Preparing the tool…

    Before you start

    Recover disconnected parts from one STL. Whole matching undirected edges connect triangles; a single touching vertex, geometric intersection or merely nearby coordinates do not. Each component stays at its original position and gets a source triangle-index/bounds map.

    How to use this tool

    1. Choose the local STL.
    2. Inspect component counts, triangle counts and original bounds.
    3. Download the component ZIP and complete source-index reports.

    Supported inputs and limits

    One STL up to 30 MiB, 100,000 triangles, 1,000 components and 40 MiB combined output. Nonfinite or degenerate triangles and inconsistent binary sizes fail. ASCII coordinates must support finite double arithmetic and have magnitude at most1e100.

    Binary output copies each original50-byte triangle block, including normal and attribute bytes; the original80-byte header is retained with a new count. ASCII output retains facet numeric tokens, avoiding float32 precision loss. Negative zero is normalized only for connectivity keys. No fuzzy welding, repair, semantic cutting or automatic part repositioning; nonmanifold edges are reported without repair.

    Worked example

    Example input

    Three separated tetrahedra with12 binary triangle blocks and distinct normal/attribute values.
    Example options
    {}

    Example output

    3 component STLs,4 triangles each; all original50-byte blocks and world bounds preserved.

    When something does not work

    Use a complete nondegenerate STL. Correct malformed triangles or split files over the stated budgets; connected geometry needs an explicit modeling cut outside this tool.

    Frequently asked questions

    Will pieces be moved to the origin?

    No. Every component preserves its original world coordinates.

    Does point-only contact connect two parts?

    No. Connectivity requires a complete exact shared edge; near-coincident edges remain distinct.

    Documentation & further reading

    Related tools