STL Viewer Online

Binary STL to ASCII Converter (and back): online, free, no upload

Convert a binary STL to ASCII STL or an ASCII STL to binary in your browser. The page tells you which form your file is, its size and triangle count, and writes the other form locally. Nothing is uploaded.

Drop an STL to convert between binary and ASCII

The form is detected automatically. Download the other one.

Accepted: STL · The file is read in your browser and never uploaded.

Two ways to write the same triangles

Every STL is a list of triangles, each with a normal and three corners. The format allows two encodings. ASCII STL is text: the file starts with solid name, then repeats facet normal, outer loop, three vertex lines, endloop, endfacet for every triangle, and ends with endsolid. Binary STL is an 80-byte header, a 4-byte triangle count, then 50 bytes per triangle: twelve 32-bit floats (normal and three corners) and a 2-byte attribute that almost nobody uses. Same geometry, same precision, very different size: the binary form is typically five to seven times smaller.

This converter reads either form and writes the other. It also tells you which one you have, because the file extension does not: both are .stl. Detection is done from the content, not from whether the file begins with the word solid, since some exporters write solid into the binary header and break naive checks.

Like every tool on this site, the work happens in your browser. The file is read from your device, parsed in memory and drawn with WebGL; no copy is sent anywhere. Open the network panel of your browser's developer tools while you load a model and you will see no upload. Close the tab and the model is gone.

Worked example: the 40 mm cube both ways

Binary cube.stl is 684 bytes: 80 + 4 + 12 x 50. Drop it.

  1. The status line reads binary STL, 12 triangles, 684 bytes, 40.0 x 40.0 x 40.0 mm.
  2. Click Download as ASCII. The result is about 3 KB and starts:
solid cube
  facet normal 0 0 -1
    outer loop
      vertex 0 0 0
      vertex 40 40 0
      vertex 40 0 0
    endloop
  endfacet
  facet normal 0 0 -1
    ...
endsolid cube

Drop that ASCII file back on the page and it reads ASCII STL, 12 triangles; Download as binary gives you 684 bytes again, byte for byte the same triangles. Nothing is gained or lost by the round trip except the header text, which the binary form limits to 80 characters.

Scale that up: a 400,000-triangle scan is 20 MB as binary and somewhere around 110 to 140 MB as ASCII, which is why sharing sites and slicers prefer binary and why an ASCII STL that arrives by email is often a sign the exporter had a default set the wrong way.

When each form is the right one

NeedUseWhy
Slicing, sharing, storingBinarySmaller, loads faster, every slicer reads it
Reading in a text editor or a scriptASCIIHuman readable, one triangle per seven lines
Version control diffsASCIILine-based diffs make sense; binary diffs do not
Old CNC or lab softwareWhichever it acceptsSome 1990s tools read only one form
Debugging a "file will not open" errorASCIIYou can see the truncated facet or the stray character
Email or messaging limitsBinaryA fifth of the size

Limitations

  • The 2-byte attribute field of binary triangles is written as zero. A few tools store colour there in a non-standard way; that colour does not survive.
  • ASCII output writes coordinates with enough digits to round-trip a 32-bit float; it does not preserve the original text formatting of an ASCII input.
  • Multi-solid ASCII files (several solid ... endsolid blocks) are merged into one binary body.
  • The whole file is held in memory; a 500 MB ASCII STL may not open on a phone.
  • This page converts encoding only. For measurement use the dimensions page; for fixes use STL repair.

Last updated 2026-09-16. Runs in your browser; nothing is uploaded.

Frequently asked questions

How can I tell if my STL is binary or ASCII?

Drop it here and the status line says which. Roughly, an ASCII STL opens as readable text in an editor and is several times larger; a binary STL of the same model is about 50 bytes per triangle plus 84.

Does converting binary to ASCII lose precision?

No. Both forms store 32-bit floats; the ASCII writer prints enough digits to reproduce them exactly. Converting back gives the same triangles.

Why do slicers prefer binary STL?

It is five to seven times smaller and faster to parse. Nothing else differs; the geometry is identical.

My binary STL starts with the word solid and some tools reject it. Why?

Some exporters write "solid" into the 80-byte header, and old readers assume any file starting with "solid" is ASCII. Converting to binary here writes a header without that word, which fixes those tools.

Is the file uploaded?

No. Detection and conversion happen in your browser tab.

More 3D file tools