Free tool · scanner color

Review and repair a PLY.

Open the colored mesh. See the open rim. Download a cleaned PLY with the color still on the vertices that remain.

Drop a PLY here

ASCII or binary · up to 75 MB · the file stays on this device

Cleanup leaves the scan border open. A removed face does not keep its color. This is not a print certificate.

The file arrives with color on the vertices.
02The open rim is the edge of the capture.
01The file arrives with color on the vertices.
03Cleanup calms the surface. The rim stays open.

Scanner color, in the file

A PLY carries its color on the vertices.

There is no material library beside the mesh. Red, green, and blue sit on each vertex. This page reads ASCII and binary PLY, keeps that color on the faces that remain, and writes a cleaned PLY.

The file opens with a header. Color is a vertex property, not a separate library.
ply
format binary_little_endian 1.0
element vertex
property uchar red
property uchar green
property uchar blue
element face
end_header

On the mesh

Three things the tool will name.

  1. Open edges

    The rim stays drawn. Cleanup leaves it alone.

  2. Bad junctions

    An edge shared by more than two faces. With Findings on, the viewer marks it.

  3. Collapsed faces

    Degenerate or duplicate triangles can be removed. The points, and their color, are not moved.

Before the laboratory starts

A sealed scan border is a floor the scanner never saw.

The remake risk in this file is a surface that was never captured, sent on as if it were the arch. Color does not make that invented floor real.

This page shows the rim and leaves it open during cleanup. It does not draw a floor across that opening. The PLY is not a fabrication release. The prescription and the evidence still travel with the mesh, in remake prevention.

What you download

A cleaned PLY, reopened before it is offered.

Open a PLY
File
A cleaned PLY. It is not a print certificate.
Color
Vertex color stays on the faces that remain. A removed face does not keep its color.
Check
The export is read back. If it does not match the cleaned mesh, the download stays off.
Not claimed
The rim stays open. Not fit, occlusion, or print success.

The file itself

The color is already on the mesh when the file arrives.

A scanner PLY is not a photograph that someone later painted onto a model. The red, green, and blue sit on the vertices, in the same list as x, y, and z. When the laboratory opens the file, the gum and the enamel are already a property of the points. There is no material library standing beside it, and there is no second document you have to keep in the same folder for the color to exist.

That is why this page treats color as part of the mesh, not as decoration. Cleanup can remove a damaged or duplicate face. The points that remain keep the color they already had. A face that is removed does not keep a texture coordinate somewhere else, because a PLY of this kind never stored color that way. The color lived on the corner, and the corner is gone.

People send a PLY because the intraoral scanner wrote one. They also send it because a photograph of the arch, however careful, is a different object: it has a lens, a flash, and a background. The PLY has coordinates. You can orbit it. You can see which edge is open. A still image cannot tell you that an edge is shared by three faces. The file can.

TrazaLab is dental case software. This page is the public place where that file can be looked at before anyone pretends the mesh is ready to leave. The color makes the arch recognizable. It does not make an invented floor under the scan into captured tissue.

Before the triangles

The header is a short contract, and it is worth reading.

Every PLY this page accepts begins as text, even when the body of the file is binary. The first line is ply. Then a format line names ascii, binary_little_endian, or binary_big_endian, and the version 1.0. Then the file lists elements. A vertex element says how many points exist and which properties each point carries: x, y, z, and, when the scanner stored them, red, green, and blue, or the shorter names r, g, and b. A face element says how the points join. The word end_header is the door between that description and the numbers.

If the header is missing a format, or a property appears before its element, the page refuses the file. It does not guess a layout from the length of the bytes. Guessing is how a laboratory spends an afternoon looking at a mesh that is quietly wrong: a color channel read as a coordinate, or a face index read as a normal. Refusal is the kinder result.

Normals, when they are present, are nx, ny, and nz on the vertex. They are written back on the faces that remain. Many scanner files have no normals at all. The page says so, instead of inventing a smooth direction and calling it part of the original.

The bench after a successful open shows the format, the vertex count, the polygons, the triangles after fan triangulation, whether color was read, and whether normals were present. Those counts are the file. They are not a score.

Two ways of writing the same arch

ASCII you can glance at. Binary is what most scanners actually write.

An ASCII PLY is slow to open in a text editor and useful when you want to see a single vertex with your own eyes. After end_header the lines are numbers: three coordinates, then three color channels if the header promised them, then the face rows. A face row starts with a count. Four means a quad. Three means a triangle. A longer count is a larger polygon. You can spot a broken line because a human can read it.

A value for color that is already between zero and one stays as a fraction. A scanner channel stored as an integer above one is divided by 255, which is how uchar red usually arrives. The cleaned download writes color back with the faces that remain. It does not invent a fourth channel, and it does not attach a texture image.

Binary is the same contract with the numbers packed. Little-endian is the common scanner habit. Big-endian is less common and still named in the header, so this page reads it when the header says so. You will not see the vertices as lines. You will see the mesh. The counts on the bench are how you know the reader agreed with the header: the vertex element count matches the points, and the face list becomes triangles without walking off the end of that list.

If the body is shorter than the header promised, or a face index points past the vertex list, the read stops. A partial arch that looks almost right is worse than an error. The person who sent the file can export it again. This page will not quietly drop the last hundred vertices and hope the palate still closes.

Polygons

A quad is still the arch. The triangles are only how the viewer holds it.

The tool’s viewer and the cleanup both think in triangles. A scanner PLY often thinks in quads, and sometimes in polygons with more than four corners. The page counts those polygons before it fans them. The first corner stays, and each next edge of the polygon becomes a triangle with that first corner. A quad becomes two triangles. A five-sided face becomes three. Nothing is added along the scan border to make the outline prettier.

That distinction matters when someone compares the polygon count with the triangle count and thinks the file grew. It did not grow in space. The same corners were grouped into threes so a triangle engine can mark an open edge, a bad junction, or a collapsed face. The bench keeps both numbers so you can see the file you opened and the triangles the review is using.

A face with fewer than three indices is skipped. It was never a surface. A face whose index is not in the vertex list is an error, not a hole to fill. Degenerate triangles, the ones whose corners collapse onto a line or a point, can be removed later. Their removal does not slide the neighboring enamel into a new place.

The illustrative rim on this page is a small colored arch built for the same rules: quads, one repeated face, one degenerate face, gum-toned vertices and ivory vertices, and an opening that is supposed to stay open. It is labeled illustrative. It is not a scan and it is not a patient. It exists so you can see the tool before you trust it with a file from a clinic.

The opening

An open rim is the edge of what the scanner saw.

Sealing that rim is drawing a floor the scanner never recorded, then sending the floor on as if it were the arch.

Color does not make that floor captured tissue.

Why the border stays

The laboratory should see the missing surface, not a confident patch.

Intraoral scans are open. The camera never saw the tissue beyond the last captured row, and it rarely saw a neat mathematical hole with a flat inside. The boundary is a rim: a loop, sometimes a chain, sometimes a branch where the scan tore. This page draws that rim. Cleanup does not lay triangles across the dominant opening and call the mesh sealed.

The cleanup draws that rim and leaves it. It does not cover the opening with new triangles, and it does not round a shell across the border. Open edges, shared edges, and collapsed faces are named. Thickness is not reported on this open shell. The cleaned file is not a print certificate.

Volume is not offered on that open shell. A volume number would pretend the rim had a lid. Thickness is the same kind of temptation. A wall measurement needs a closed body, or at least a clearly defined inner and outer surface. An open scan has neither until someone designs it. The bench says thickness is not available while a shell is open. The median edge length is the size the file actually has. Use that, and the span of the opening, when you need a number.

The pleasurable part is the choice you can see. Switch from Original to Cleaned and the rim is still there. Cleanup does not cover it. Sending a covered rim as if the scanner had seen it is the remake this page is trying to interrupt, and this page will not draw that cover. The prescription, the shade, the photographs, and the conversation still travel with the mesh. The PLY is not a case.

On the model

Three findings are enough to start, if you can see them on the arch.

Open edges are the rim and any tear inside it. They draw in red when Findings is on. An open edge is often the truth of a scan. The large one is the border. Cleanup leaves it. A small tear in the middle of a cusp is a different finding: you can see its edge count and its span, and you can decide whether a later design should even start.

A bad junction is an edge with more than two faces. Tissue does not fold through itself that way on purpose. It happens when two scans were fused, when a hole was closed by a sloppy fan, or when a duplicate sheet was written on top of the arch. The edge is marked. Clicking it is faster than orbiting until your eye finds a glint. The page does not delete the extra face by aesthetic preference. Conservative cleanup removes faces that are degenerate or exact duplicates, and it can reorient a face. A genuine non-manifold junction can remain, and the proof says so.

Collapsed faces are the triangles that have no area worth keeping: a repeated triangle, or one whose corners fell on top of each other. Removing them does not move the points and does not repaint the neighbors. The color on a surviving corner stays. If the only thing wrong with a file is three collapsed faces and one honest rim, you should see the triangle count drop by those faces and the opening stay.

Crossings, flipped faces, and narrow faces are marked when the review finds them. A narrow face is a sliver, an angle so sharp that a later design tool may hate it. It is a finding, not an automatic deletion. You are still looking at a scan, not approving a restoration.

The record beside the arch

Read the bench as a description, not as a grade.

After the file opens, the viewer is the arch and the bench is the sentence beside it. Format, vertices, polygons, triangles, color, normals. Then the openings, each with a type, an edge count, and a span in file units until you confirm millimeters or inches. Then the shells: separate pieces that share no edge. A small shell can be a stray island from a bad merge. Isolating it ghosts the rest so you can see whether it is a speck or a second scan that matters.

The smallest sampled angle, the worst aspect, and the median edge are triangle shape, not anatomy. A median edge of a few file units tells you the resolution of this capture if you have agreed what a unit is. The page does not assume millimeters. Scanner exports are usually millimeters. A research file might be something else. The unit menu is there because a dimension printed without a unit is how a 28 millimeter arch becomes a 28 inch story. Confirm the unit before you treat the span of the rim as a clinical length.

After a cleanup, Original and Cleaned are two views of the same file. The opening stays visible in both. The faces that left should be the damaged or duplicate ones named in the proof: how many were removed, how many were reoriented, and how many open edges remain. If those open edges went to zero on a scan, something other than this page’s conservative cleanup has happened, and you should not trust the download.

The file stays in the browser. The limit here is 75 MB. A larger PLY is not forwarded to the isolated STL engine from this page. Nothing about the mesh, the name, or a patient identifier is what the review needs to send in order to run.

The file you take away

The download is offered only after the page can read its own PLY.

Cleanup writes an ASCII PLY. The header is plain. Vertices carry x, y, z, and color when the original had color, and normals when the original had normals. Faces are the triangles that remain. The page then reads that export with the same parser. If the triangle count does not match the cleaned mesh, the download stays off. You should not be handed a file the tool itself cannot reopen.

The name is the original name with -cleaned.ply. That file is still a PLY. Vertex color stays when the original faces remain. The rim stays open. The download is not a print certificate.

What the download is not: a print certificate, a statement about fit, a statement about occlusion, or a permission to fabricate. Cleanup does not move points, and it does not add a wall across the rim. A designer, a technician, and a prescription still have work to do. If the case lives in TrazaLab, that work continues in remake prevention, not inside this browser tab.

If you opened the illustrative rim, the download is an illustration too. Use cleanup to see the color and the open rim. Then open the file the clinic actually exported.

After the mesh

A beautiful PLY is still not the prescription.

The pleasurable part of this page is the arch: color on the vertices, the rim drawn in the open, the ability to turn it and see a finding instead of describing the finding in a message. That pleasure is useful. It is also easy to mistake for completeness. A coordinator can fall in love with a clean viewport and forget that the laboratory still does not know the tooth, the margin the dentist argued about, or the shade the photograph was supposed to settle.

Send the file with the sentence you can stand behind: the rim stayed open. Send it with the rest of the case. TrazaLab’s public promise, the one this page is allowed to repeat, is remake prevention: the prescription, the evidence, and the decision about sending stay connected. This tool does not create that connection by itself. It keeps one file from lying about a surface that was never captured.

Use the English or the Spanish page. They are the same review. The words change. The parser does not. Neither page will tell you the mesh is ready for a printer, a mill, or a patient’s mouth. When you can say, in a sentence, which opening you left and which faces you removed, the file is ready to leave this tab.

A slower pass

Click one finding and stay with it until the sentence is boring.

Turn Findings on and stay with the open edge. If the loop is the back of the scan, leave it. This page will not cover it. If it is a tear through a prep, say that in the message that travels with the case. Then read the proof: removed faces, reoriented faces, open edges left. When the viewport and the proof agree, the download is the cleaned PLY.

Then look at the collapsed-face count, if there is one. The proof after cleanup should move by about that many triangles, not by a mysterious reconstruction. Reoriented faces, when they exist, are faces whose winding was turned. The points stayed. If the proof and the viewport disagree, do not download out of impatience. Remove the file and open it again. A tool that cannot repeat its own sentence is not ready to be the file you send.

Section can cut the view so you can look inside without pretending the cut is a CBCT section. When you have looked, take the cleaned PLY. The rim is still open.

The limit, said plainly

What this page will not dress up as a result.

It will not call itself a repair of every dental mesh. It reads PLY. STL has its own page. OBJ has its own page, because a Wavefront file carries texture coordinates and names a material library this format does not. Mixing those promises is how a coordinator downloads the wrong kind of file and notices on a Friday.

It will not close the scan border, and it will not call that border a hole it has filled. The log reports open edges and edges shared by more than two faces. The page will not promise a mill or a successful print, and it will not report thickness on an open shell.

It will not take the file to a server in order to show it to you. Review and cleanup run here, up to 75 MB. Above that, the page stops. The larger file is a different job, not a quiet upload. And it will not let a pleasant render stand in for the prescription. When the mesh is ready to leave, it leaves as a PLY you can reopen, with the opening you chose to keep.

About this PLY tool

What does this page do?

It opens an ASCII or binary PLY and marks open edges, bad junctions, and collapsed faces. Cleanup can remove inverted, damaged, or duplicate faces without moving mesh points. Vertex color stays on the faces that remain.

Does the file leave this browser?

No. Review and cleanup run on this device. This page does not send the mesh to TrazaLab’s isolated STL engine.

What do I download?

A cleaned PLY. Vertex color stays on the faces that remain. The scan border stays open. The download is not a print certificate.

Will it close every hole?

No. Cleanup leaves the scan border open. It does not draw a floor across that rim. The page does not promise a printable or CAD-ready mesh.

Are vertex colors kept?

Red, green, and blue on each vertex are read and written back on the faces that remain. A removed face does not keep its color.

How large a file can I open?

Up to 75 MB in this browser. A larger PLY is not sent on from this page.

Is this the STL repair page?

No. STL repair lives at /stl-file-repair-online.html. Wavefront OBJ repair lives at /obj-file-repair-online.html. The Spanish page is /reparacion-archivo-ply-gratis.html. This page reads a PLY and hands back a cleaned PLY.

Your next step

Start with one case.

Open an account now, or walk through a complete case first. Both are open today.

Already using TrazaLab? Log in

Pick your path

ACCOUNTStart nowCreate your account and send your first case today.
TOURSee it firstWalk through a full case. No signup, no sales call.
CASETest it against your workflowHold the tour up to how your team works today. Switch on when it fits.