STL files are deliberately minimal — just a flat list of triangles with no grouping, materials, or metadata — which makes them awkward to work with in general-purpose 3D modeling and editing software that expects a richer format. OBJ is the more broadly compatible interchange format most 3D editors (Blender, SketchUp, MeshLab, and dozens of others) handle natively, with support for named objects, materials, and texture coordinates even when those features aren't being used. This tool reads an STL's triangle mesh and re-exports it as a standard OBJ.
The conversion runs through three.js: STLLoader parses the binary or ASCII triangle data into a BufferGeometry, which is wrapped in a Mesh and handed to OBJExporter to produce OBJ-format text — a list of vertex positions (v), vertex normals (vn), and triangular faces (f) referencing those vertices. The geometry itself is preserved exactly; OBJ simply gives that same shape a format more editing tools are built to open directly.
Since STL never contained materials, colors, or textures to begin with, the resulting OBJ is geometry-only too — this conversion doesn't add information that wasn't there, it just repackages the same triangle mesh into a format with broader editing-software support.
Need to go the other direction and prepare a model for 3D printing? Use OBJ to STL.