Gmsh is a 3D finite element mesh generator with built-in pre- and post-processing facilities.
Its design goal is to provide a fast, light and user-friendly meshing tool with parametric input and advanced visualization capabilities. Gmsh is built around four modules: geometry, mesh, solver and post-processing. The specification of any input to these modules is done either interactively using the graphical user interface, in ASCII text files using Gmsh's own scripting language, or using the C++, C, Python or Julia Application Programming Interface (API).
The Gmsh project was started in 1996, and open sourced in 2003. Major milestones include: Gmsh 2 in 2003 with OpenCASCADE integration, Gmsh 3 in 2017 with curvilinear meshing and boolean operations, and Gmsh 4 in 2018 with a stable C++, C, Python and Julia API.
Gmsh is released under the GNU General Public License (GPL), version 2 or later. Commercial licenses allowing to embed Gmsh in closed-sourced software are also available: see the website for more information.