GitPedia

Gh web ui

Package for building web-based User Interfaces (UI) in Rhino Grasshopper.

From mitevpi·Updated May 19, 2026·View on GitHub·

Prototype for building a Grasshopper interface using native web components. The project is written primarily in C#, distributed under the GNU General Public License v3.0 license, first published in 2020. Key topics include: 3d, aec, csharp, css, dom.

Latest release: v0.2.0a
March 27, 2021View Changelog →

Grasshopper Web UI

Generic badge
GitHub tag (latest by date)
GitHub

GitHub last commit
GitHub issues
GitHub closed issues
GitHub contributors

Prototype for building a Grasshopper interface using native web components.

Development

  1. Clone locally
  2. Re-link and restore dependencies
  3. Build (everything shoudl copy to the Grasshopper/Libraries location)
  4. Open the ServeInterface.gh

Usage

Build/Use

If you need/want to make modifications/contributions to this package, please refer to the Development section above.

If you just want to use the package, please refer to the Releases section of GitHub.
From there, download the latest release, unzip the file, and paste the contents into %appdata%\Grasshopper\Libraries.

Hard-Coded UI

The simplest way to use this package is as a dedicated input-receiver by supplying a hard-coded HTML file. This would allow you
to read user inputs, but not add any information to the interface. It would require that you or someone else on your team
has basic web-coding skills, as they're needed to write the interface. Samples of these kinds of interfaces can be found in
the Web UI folder.

After building the .gha from source, you can open the Grasshopper File ServeInterface.gh for testing of this workflow.

LinksImage
Vue.js UI - ServeInterface.ghVue.js UI
Bootstrap HTML UI - ServeInterface.ghBootstrap UI
Vanilla HTML UI - SampleScriptHardcoded.ghVanilla HTML UI

Grasshopper-Created UI

This method of using the package is closer to the familiar Grasshopper UI paradigm, as established by Andrew Heumann in
Human UI. The goal is that the user can use Grasshopper to build a fully-functional
HTML-based interface without needing to write any kind of textual code. This is still a Work-In-Progress
and will remain that way for quite some time as there are very many elements that must be supported.

Grasshopper DefinitionImage
Custom GH UICustom GH UI
Advanced Custom GH UICustom GH UI

Support Map

Currently, the following UI (HTML) input components are supported in
the specified contexts:

ComponentRead Value from HTMLCreate in GHSet Value from GH OutputSet Label/Props from GH Output
SliderYesYesYesNo
ButtonYesYesNo (Simulate Click)No
Text InputYesYesYesNo
Radio ButtonYesYesYesNo
Check BoxYesYesYesNo
ColorYesYesYesNo
DateYesYesYesNo
TimeYesYesYesNo
WeekYesNoTBDNo
FileMaybeNoMaybeNo
Text LabelN/AYesYesN/A

Tentative Roadmap

Abstract

Human UI from Andrew Heumann has been a powerful force in the industry over the last X years - it helps us share and democratize
computational know-how and deliver it to our colleagues who may not be as techincally inclined. I think it's
time for the next step in this journey. With the web becoming the standard for app development, interaction design,
and so much more - I think it makes sense to use it as the backbone for the project.

Roadmap

  • Ensure a Chromium-based execution environment.
  • Read values from the DOM.
  • Account for most common input-type items that may be in the DOM/needed by users.
  • Add elements/outputs to the DOM.
  • Create components to build an interface/DOM using Grasshopper only (no web dev knowledge).

Known Issues

Credits

Enormous thanks to everyone who has contributed in any way! I've tried to include everyone here, but I may have missed someone.
If that's the case, I apologize :) - please reach out anytime.

Contributors

Showing top 2 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from mitevpi/gh-web-ui via the GitHub API.Last fetched: 6/29/2026