PLY to STL Converter
Convert PLY (Polygon File Format) models to STL directly in your browser. Geometry is processed locally, and your file is never uploaded.
Your PLY file stays on this device. MeshWrench converts it to STL locally in your browser.
Up to 150 MB. Supports ASCII and binary (little- or big-endian) PLY. STL cannot store vertex colors or normals — surface geometry only. Coordinates are kept exactly as written, since PLY has no unit system.
Processed locally — nothing was uploaded.
- File name
- File size
- Encoding
- Source vertices
- Source faces
- Output triangles
- Skipped unknown fields
- Width (model units)
- Height (model units)
- Depth (model units)
PLY and STL don't store a measurement unit. These numbers are your file's coordinates, unchanged.
Batch processing is a Pro capability.
Pro batch tools are being prepared. Purchasing is not available yet.
Drag files here, or click to browse
PLY files only, same limits as single-file conversion.
How to convert PLY to STL
- Select a PLY file using the picker above.
- MeshWrench parses it locally, in a background worker — nothing leaves your device.
- Review the preview, dimensions and any warnings, then download the converted STL file.
What geometry is preserved
The converter reads your PLY file's declared header schema — its own list of elements and properties, in
whatever order they appear — and extracts vertex x/y/z coordinates and
face vertex_indices (or the vertex_index alias) regardless of where those properties
fall among any others in the file. Triangle faces are used as-is; larger polygon faces are triangulated the
same way MeshWrench's OBJ converter triangulates polygon faces. The output is one flattened triangle mesh with
correct geometry and consistent, outward-facing normals.
Which PLY encodings are supported
All three standard PLY 1.0 encodings: ascii, binary_little_endian and
binary_big_endian. The file's own header declares which one it uses, and every one of the 8
standard PLY scalar types is supported — both the short Stanford names (uchar, short,
float, double, and so on) and their explicit-width aliases (uint8,
int16, float32, float64).
What happens to vertex colors and normals
STL stores surface geometry only. Vertex colors, per-vertex normals and texture coordinates are not included in the download — this is a limitation of the STL format itself, not something MeshWrench chooses to drop. Geometric face normals are always recalculated from the final triangle positions rather than trusting a PLY file's own per-vertex normals, since STL can't represent smooth shading anyway. If your file includes any of these, a warning appears before you download.
What happens to unrecognized elements and properties
A PLY file can declare elements and properties beyond vertex and face — scanner
metadata, per-vertex confidence or intensity values, edge lists, application-specific data. MeshWrench reads past
these safely (so the rest of the file still parses correctly) without interpreting them, and shows a single
summary warning rather than one warning per skipped field.
Why a point cloud (no faces) can't convert
Some PLY files contain only a vertex element — a raw point cloud with no face
element at all, common straight off a 3D scanner before surface reconstruction. MeshWrench rejects these with a
clear error instead of guessing at a surface: turning scattered points into a watertight mesh is a
surface-reconstruction problem, not a format-conversion one, and doing it silently would produce geometry that
only coincidentally resembles your object.
Double-precision coordinates
STL only stores single-precision (float32) coordinates. If your PLY file declares its x/y/z vertex properties as double (float64), MeshWrench narrows them to float32
for the STL output and shows a warning — this is an unavoidable precision loss inherent to the STL format, not
something MeshWrench could preserve by converting differently.
PLY versus STL
PLY (the Polygon File Format, sometimes called the Stanford Triangle Format) is a flexible, self-describing format that can carry an arbitrary set of per-vertex and per-face properties — colors, normals, confidence values, and more — in either ASCII or binary form. STL stores only raw triangle geometry, with no units and no metadata, but remains the most widely supported format across slicers and CAD tools — which is why converting to it is useful even though it's the simpler format.
Why a PLY may fail to convert
- The file's header is malformed, missing a required
formatline, or never reachesend_header. - The file declares an unrecognized property type, or a property before any element.
- The file's
vertexelement is missing anx,yorzproperty. - The file has no
faceelement, or its face element has novertex_indices/vertex_indexproperty MeshWrench can use — including a point-cloud-only file. - A face references a vertex that doesn't exist, or has fewer than three (usable) vertices.
- A face's edges cross themselves, or the face is severely non-planar.
- The file's declared data doesn't match its actual size — a truncated or corrupted ASCII or binary body.
- The file is more complex (vertices, triangles, or vertices on a single face) than this tool's safety limits currently allow.
Is the file uploaded?
No. There is no server-side conversion route in MeshWrench. Your browser reads the PLY file, parses it, and builds the STL file, all on your device. You can verify this yourself: open your browser's developer tools, watch the network tab, and convert a file. No request containing your file will appear.
Frequently asked questions
Is my PLY file uploaded?
No. The file is read, parsed and converted entirely in your browser, inside a background Web Worker. It's never sent to a server — check your browser's network tab while a file converts to confirm this yourself.
Does this work with PLY files from a 3D scanner?
Yes, for scans that already include face (triangle) data. MeshWrench reads ASCII and both binary (little- and big-endian) PLY encodings, and follows the file's own declared property order rather than assuming a fixed layout — so scanner output with extra fields (confidence, intensity, per-vertex color) converts correctly. A PLY file with points only, and no faces, can't be converted to STL — see below.
Are vertex colors and normals preserved?
No. STL stores surface geometry only — no color or per-vertex normal information exists in the format. If your PLY includes either, MeshWrench shows a warning before you download, but the STL itself never contains them.
What happens to a PLY file with points but no faces?
MeshWrench rejects it with a clear error rather than guessing at a surface. STL can only represent triangles, and inventing a surface from an unordered point cloud isn't something a format converter should do silently — that's a job for dedicated surface-reconstruction software, not this tool.
Why did my conversion fail?
Usually because the file's header is malformed, a face references a vertex that doesn't exist, a face has an invalid or self-intersecting shape, or the file only contains points and no usable face data — see "Why a PLY may fail to convert" below for the full list MeshWrench checks for.
Explore free tools