Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


NodePen is a web client for Grasshopper, a visual programming language for Rhinoceros 3D. Rhino 7 shipped with "headless" API capabilities that power this shallow wrapper for the same Grasshopper you know and love.

The name hand-waves the goals of this project: a place for tinkering with and sharing Grasshopper snippets online. But that's a ways off! This is a personal project that has been in development since Winter 2019. You should check out what I'm doing with some other cool people at Hypar in the meantime.

The project is under active development, but you can tinker with the latest build by visiting


NodePen is currently available as a public beta! The goal is to refine the graph editor experience on desktop and mobile devices through a series of partial releases.

At the moment, that means NodePen is severely limited in what it can do.

  • The editor is not requesting solutions anymore. There will be no results from Grasshopper to inspect yet.
  • A limited number of components are available to use.
  • ZUI interactions are planned but not yet implemented.

Feedback is appreciated in all forms (github, twitter, etc), even for features that are obviously absent but desired. I am especially interested in:

  • Ways you manage to break the graph, or leave parts of it in an un-editable state
  • UX decisions that feel cumbersome on mobile
  • Any extreme performance degradations (especially on mobile devices)

Project Architecture

To be updated when solutions are re-enabled.

Running Locally

To be updated when solutions are re-enabled.

Release History

Public "Beta"

The current public beta began with a release of the editor only (no solutions) on August 8, 2021. See current note above.

Public "Alpha"

The public "alpha" (0.5.0) was online between May 7, 2021 and August 8, 2021. Over three months, it delivered 24,765 solutions to 2,501 unique users. It validated the queue-based backend solution infrastructure, but the editor experience left a lot to be desired (especially on mobile devices, which accounted for >70% (!) of all visits).

Proof of Concept

The first release on this repo (0.4.1) was the end of an initial proof-of-concept phase.

Yes this project was called "glasshopper" for a long time and I don't want to talk about it.


Rhinoceros and Grasshopper are registered trademarks of Robert McNeel & Associates.

Previous drafts of NodePen included the "RestHopper" headless Grasshopper prototype developed at the 2018 AEC Tech Hackathon. The current execution model has been re-written several times in the years since then, but it's still fun to go back and see how we were abusing .ghx and component group labels.

The current /gh/compute execution model is based off of an early 2020 fork of McNeel's public implementation at mcneel/compute.rhino3d.