macOS · Linux · Windows · Apache 2.0

Minimal surfaces. Maximum clarity.

A native desktop app wrapping Ken Brakke's Surface Evolver C engine — datafile editor, full command language, and a live 3D viewer in one window. Load, evolve, refine, inspect, export.

Surface Evolver desktop app: .fe datafile editor, CLI with evolution output, and a cube evolved into a sphere in the 3D viewerSurface Evolver desktop app in dark mode: .fe datafile editor, CLI with evolution output, and a cube evolved into a sphere in the 3D viewer
cube.fe refined and evolved to a sphere under its volume constraint — energy, area, and mesh counts update live.

Everything in one window

From loading a surface to evolving, refining, and inspecting it — the full workflow without leaving the app.

Live 3D Viewer

WebGL mesh visualization powered by Three.js. Three render modes — solid, wireframe, and X-ray — with per-element colors, interactive vertex picking, and orbit controls.

Full Command Language

Every Surface Evolver command works in the built-in CLI — iteration, hessian analysis, macros, quantity and constraint definitions. If the original engine supports it, you can run it.

Built-in Datafile Library

25+ bundled .fe example files — cube, sphere, octahedron, catenoid, Kelvin-Phelan, knotty, and more — ready to load from the file pane.

Evolve & Refine

Iterate gradient descent, refine, equiangulate, vertex-average, and pop — from the Run menu or keyboard. Energy, area, and mesh counts update live in the titlebar.

Session Persistence

Surfaces are auto-snapshotted between sessions. Reopen the app and your evolved surface comes back — no manual save required.

Truly Native

A real desktop window with a native menu bar and keyboard shortcuts — no browser, no server. The C engine is driven directly over FFI, and exports land in your Downloads folder.

Three panes. One workflow.

Load a surface on the left, evolve it in the middle, watch it transform on the right.

File Pane

Your surfaces, organized

  • Browse the built-in library of 25+ .fe example files
  • Upload your own datafiles — they sit alongside the bundled ones
  • Open several files as tabs and switch between them
  • Auto-restores your evolved surface on startup
Editor & CLI

Edit the datafile, drive the engine

  • Syntax-highlighted .fe editor with Save & Reload
  • CLI with the complete Surface Evolver command language — g, r, hessian, macros, quantity definitions
  • Run-menu shortcuts: iterate ⌘G, refine ⌘R, equiangulate ⌘U, vertex average ⌘E
  • Export the current surface as .fe or an exact-state .dmp
Viewer Pane

See it evolve in real time

  • WebGL mesh rendered with Three.js as it evolves
  • Solid, wireframe, and X-ray modes with native SE per-element colors
  • Click a vertex to inspect coordinates, constraints, and flags
  • Panels for named quantities, energy breakdown, and physics settings

Download Surface Evolver

Free and open source. No account required. Unsigned builds — you may need to approve the app on first launch.

macOS

DMG

Apple Silicon

  • Native WKWebView rendering
  • Apple Silicon (arm64)
  • macOS 13+
Download for macOS

Linux

deb

x86-64

  • WebKitGTK rendering
  • x86-64 only
  • Debian / Ubuntu 22.04+
Download for Linux

Windows

installer

x86-64

  • WebView2 rendering
  • x86-64 only
  • Windows 10/11
Download for Windows

Build from source for other configurations.