[meshconv]   3D model converter

binvox  binvox_merge  viewvox  thinvox  meshconv  —    binvox wiki


meshconv converts to and from several popular 3D file formats. Currently only geometry conversion is supported.



version 1.29, added 7 May 2019

(after download on Linux/Mac, you may have to do chmod 755 meshconv first)


Run meshconv without parameters for a usage summary.

Example: to convert a VRML 2.0 model to PLY, triangulated:
meshconv -c ply -tri mymodel.wrl

Note to Windows users: meshconv is a commandline tool, which means it must be run from a command shell. In Windows, start a command shell with Start → Run → cmd (enter), then use the cd command to change to the folder where you have meshconv.exe and the model you want to convert.
Note to Mac users: The browser may have added a .dms extension after download. To remove it:
mv meshconv.dms meshconv
And you may have to make the file executable:
chmod 755 meshconv


Q: can you publish the source code for meshconv?
A: sorry, the program is part of a large codebase, it would take too much of my time to make it open source.


If you use meshconv for your (published) work, please add a reference to me and to this web page. Here's a sample BibTeX entry:@Misc{meshconv, author = {Patrick Min}, title = {meshconv}, howpublished = {{\tt http://www.patrickmin.com/meshconv} or {\tt https://www.google.com/search?q=meshconv}}, year = {1997 - 2019}, note = {Accessed: yyyy-mm-dd} } I'd love to hear what you use meshconv for as well.

Note that meshconv is free to download and use (in any environment). However, you are not allowed to charge others for the program. Type meshconv -license for more information.

meshconv uses the lib3ds library for reading .3ds files.


Please send me e-mail (to patrick.n.min at gmail dot com) with your questions/comments/suggestions/bug reports.
I'm also interested to hear about what you use meshconv for.

Feature requests


1.29: added support for writing normal info to OBJ files (7 May 2019)
1.28: disabled some debugging output (17 February 2019)
1.27: fixed bug that caused a segfault for STL files with long filenames
1.26: fixed bug where normal info was not stored when loading STL files (22 August 2017)
1.25: removed spurious debug output, reduced VRML Sphere/Cylinder/Cone complexity, changed floating point datatype from 'double' to 'float' (13 July 2017)
1.24: added support for converting VRML materials to PLY materials (use -mat parameter)
1.23: fixed bug with -sg option for STL and OBJ files
1.22: fixed problem with PLY ASCII output precision, and added PLY 64 bit float support
1.21: statically linked Linux version
1.20: fixed bug with loading .3ds files on Mac OS X
1.19: added support for writing XML3D files
1.18: added -ti parameter
1.17: added processing output for VRML conversion, fixed inefficiency when processing VRML normals
1.16: Windows only update: changed from 32 to 64 bit executable
1.14: static linking of the lib3ds library
1.13: fix for converting VRML top level nodes to OBJ groups
1.12: fixed bug when handling very long group names in OBJ files
1.11: added support for writing binary three.js (.js and .bin files) (geometry only, version 3.1)
1.1: added support for writing .js three.js JSON format (geometry only, version 3.1)
1.0: added support for reading .3ds files using the lib3ds library
0.9: added support for VRML 2.0 Extrusion beginCap and endCap, fixed triangulation + plane equation of concave polygons
0.85: added support for non-standard STL ASCII files
0.84: added fixes to VRML 2.0 export so "PeopleMaker" software can parse it
0.83: added feature to keep groups when converting from VRML to OBJ
0.82: added "relay textures" option when converting from VRML to OBJ
0.81: bug fix when processing VRML files with textures
0.8: added support for -ascii parameter for STL output
0.79: fixed triangulation bug for VRML Sphere node
0.78: added -kd "keep duplicate vertices" option
0.77: fixed missing ENDSEC for DXF output. Disabled exponential notation output for ASCII formats
0.76: fixed polygon counting error when zero area triangles were removed, when exporting to OBJ or STL
0.75: fixed problem when exporting to VRML

© Patrick Min, 1997 - 2021 (meshconv online since 2009)