WLJSTeam/wljs-notebook

An open-source, web-native notebook interface for Wolfram Language / Wolfram Engine

Wolfram Language

634

749 commits

updated Oct 19, 2026

See the code

README

WLJS Notebook

An open-source, web-native notebook interface for Wolfram Language

Build interactive research notebooks, scientific tools, and presentations with typeset math, rich media, live controls, and JavaScript integration.

WLJS Notebook preview

Explore projects  ·  Install WLJS  ·  Documentation  ·  Migrate from Mathematica  ·  Support WLJS

Wolfram Language JavaScript C

DOI

WLJS Notebook is free and open-source software that runs with the Wolfram Engine (freeware for personal use). You do not need Mathematica to use it.

[!IMPORTANT] WLJS Notebook is not affiliated with, endorsed by, or sponsored by Wolfram Research.

Why WLJS?

WLJS is designed for researchers, educators, and developers who value Wolfram Language but want a notebook workflow that is local, works with freeware Wolfram Engine, Git-friendly, lightweight, and easy to share.

  • Interactive by design — Build responsive visualizations with Manipulate, events, graphics primitives, and targeted updates.
  • Made for research applications — Combine computation, narrative, controls, and reusable interface components in one document.
  • Git-friendly notebooks — Store notebooks in a minimal, human-readable format that people, version-control systems, and LLMs can inspect and diff.
  • Portable output — Export notebooks as standalone or embeddable HTML or MDX while keeping supported plots and controls interactive.
  • Mathematica migration — Open and convert .nb notebooks, with a migration guide for frontend and dynamic-interface differences.
  • JavaScript integration — Use JavaScript cells and web libraries through a dedicated communication channel to the Wolfram kernel.
  • Desktop and web deployment — Runs as a polished desktop application or remotely on a server through any modern web browser.
  • Local and offline — Keep notebooks and computation on your machine without depending on a hosted service.
  • Agent-ready — Inspect, edit, and evaluate notebook cells through the built-in CLI and Model Context Protocol server.

Quick start

  1. Install the recommended Wolfram Engine 15.0.
  2. Download WLJS Notebook for your platform from the installation page or GitHub Releases.
  3. Open a notebook and evaluate your first expression:
Manipulate[
  Plot3D[Sin[n x] Cos[n y], {x, -1, 1}, {y, -1, 1}],
  {n, 1, 5, 0.3},
  ContinuousAction -> True
]

You can also deploy WLJS with Docker or run it on a remote server. See the complete installation and server guide.

Interactive and expressive

WLJS combines a Mathematica-like editing experience with a flat notebook structure and browser-based rendering. It supports editable mathematical input, rich output, interactive 2D and 3D graphics, sound, images, Markdown, Mermaid diagrams, presentations, and custom web interfaces.

Dynamic plots in WLJS

WLJS and Mathematica use different frontend architectures. WLJS emphasizes explicit events, targeted updates, browser rendering, and control over how interactive interfaces behave.

AspectMathematicaWLJS
Rendering modelImmediate modeRetained mode with immediate-mode emulation
Reactive updatesAutomatic dependency tracking and reevaluationExplicit, targeted updates
Data bindingTwo-way symbol bindingOne-way symbol binding with input events
Reactive modelPullPush

Platforms

  • Windows: x86-64 installer
  • GNU/Linux: x86-64 and ARM64 packages in AppImage, DEB, and RPM formats where available
  • macOS: Apple Silicon and Intel disk images
  • Server: Docker container or direct launch with WolframScript

WLJS across supported platforms

Official desktop releases are digitally signed. See Code signing for details.

Learn and build

Community

GitHub Discussions is the main place to ask questions, propose ideas, and show what you have built with WLJS.

If WLJS helped with your research, teaching, visualization, or application, please share a screenshot, notebook, repository, or short write-up. Community examples are one of the best ways to help new users understand what is possible.

Contributing

Contributions do not need to start with a large code change. You can help by:

  • Reporting a reproducible bug or suggesting an improvement in Issues
  • Answering a question or reviewing an idea in Discussions
  • Improving documentation, examples, tests, or platform instructions
  • Sharing a notebook, integration, research workflow, or application built with WLJS
  • Submitting a focused pull request

Help cover WLJS project costs

WLJS is an independent open-source project. Our first funding goal is €300 per year to help cover these approximate annual costs:

  • €100 — Apple Developer membership
  • €100 — Domain name
  • A small budget for occasional CDN edge requests, cloud credits for testing, and coffee

Five supporters giving €5 per month would reach that goal before fees.

If WLJS helps with your research, teaching, or side projects, please consider supporting it.

Support monthly or give once · Other ways to donate

You can also help by:

  • Starring this repository
  • Sharing WLJS with a colleague, research group, or class
  • Say a word on a conference
  • Contributing an example, documentation improvement, bug report, or pull request

Privacy and security

WLJS does not transfer information to networked systems unless requested by the person installing or operating it. See the privacy and security policy for details.

Code signing

Official desktop releases published through GitHub Releases are signed where supported.

  • Windows: Installers and executable binaries are signed by SignPath.io with a certificate issued to SignPath Foundation.
  • macOS: Application bundles and disk images are signed with the team's Apple Developer ID certificate (com.coffeeliqueur.*). Gatekeeper should display that Developer ID when opening the application.

Community and third-party builds are not covered by this signing policy.

Project team

See the WLJS organization team for current committers and reviewers.

Inspired by

License

WLJS Notebook, including its extensions, graphics and sound libraries, frontend, and backend, is licensed under the GNU Affero General Public License. See LICENSE.md.

The algorithms, functions, and other components of Wolfram Language provided by the Wolfram Engine are the intellectual property of Wolfram Research, Inc. The Wolfram Engine is distributed separately under its own license.

computational-science
gui
gui-application
interactive-visualizations
javascript-project
mathematica
notebook
plotting
ui
wolfram
wolfram-language

WLJSTeam/wljs-notebook

An open-source, web-native notebook interface for Wolfram Language / Wolfram Engine

Wolfram Language

634

749 commits

updated Oct 19, 2026

See the code

README

WLJS Notebook

An open-source, web-native notebook interface for Wolfram Language

Build interactive research notebooks, scientific tools, and presentations with typeset math, rich media, live controls, and JavaScript integration.

WLJS Notebook preview

Explore projects  ·  Install WLJS  ·  Documentation  ·  Migrate from Mathematica  ·  Support WLJS

Wolfram Language JavaScript C

DOI

WLJS Notebook is free and open-source software that runs with the Wolfram Engine (freeware for personal use). You do not need Mathematica to use it.

[!IMPORTANT] WLJS Notebook is not affiliated with, endorsed by, or sponsored by Wolfram Research.

Why WLJS?

WLJS is designed for researchers, educators, and developers who value Wolfram Language but want a notebook workflow that is local, works with freeware Wolfram Engine, Git-friendly, lightweight, and easy to share.

  • Interactive by design — Build responsive visualizations with Manipulate, events, graphics primitives, and targeted updates.
  • Made for research applications — Combine computation, narrative, controls, and reusable interface components in one document.
  • Git-friendly notebooks — Store notebooks in a minimal, human-readable format that people, version-control systems, and LLMs can inspect and diff.
  • Portable output — Export notebooks as standalone or embeddable HTML or MDX while keeping supported plots and controls interactive.
  • Mathematica migration — Open and convert .nb notebooks, with a migration guide for frontend and dynamic-interface differences.
  • JavaScript integration — Use JavaScript cells and web libraries through a dedicated communication channel to the Wolfram kernel.
  • Desktop and web deployment — Runs as a polished desktop application or remotely on a server through any modern web browser.
  • Local and offline — Keep notebooks and computation on your machine without depending on a hosted service.
  • Agent-ready — Inspect, edit, and evaluate notebook cells through the built-in CLI and Model Context Protocol server.

Quick start

  1. Install the recommended Wolfram Engine 15.0.
  2. Download WLJS Notebook for your platform from the installation page or GitHub Releases.
  3. Open a notebook and evaluate your first expression:
Manipulate[
  Plot3D[Sin[n x] Cos[n y], {x, -1, 1}, {y, -1, 1}],
  {n, 1, 5, 0.3},
  ContinuousAction -> True
]

You can also deploy WLJS with Docker or run it on a remote server. See the complete installation and server guide.

Interactive and expressive

WLJS combines a Mathematica-like editing experience with a flat notebook structure and browser-based rendering. It supports editable mathematical input, rich output, interactive 2D and 3D graphics, sound, images, Markdown, Mermaid diagrams, presentations, and custom web interfaces.

Dynamic plots in WLJS

WLJS and Mathematica use different frontend architectures. WLJS emphasizes explicit events, targeted updates, browser rendering, and control over how interactive interfaces behave.

AspectMathematicaWLJS
Rendering modelImmediate modeRetained mode with immediate-mode emulation
Reactive updatesAutomatic dependency tracking and reevaluationExplicit, targeted updates
Data bindingTwo-way symbol bindingOne-way symbol binding with input events
Reactive modelPullPush

Platforms

  • Windows: x86-64 installer
  • GNU/Linux: x86-64 and ARM64 packages in AppImage, DEB, and RPM formats where available
  • macOS: Apple Silicon and Intel disk images
  • Server: Docker container or direct launch with WolframScript

WLJS across supported platforms

Official desktop releases are digitally signed. See Code signing for details.

Learn and build

Community

GitHub Discussions is the main place to ask questions, propose ideas, and show what you have built with WLJS.

If WLJS helped with your research, teaching, visualization, or application, please share a screenshot, notebook, repository, or short write-up. Community examples are one of the best ways to help new users understand what is possible.

Contributing

Contributions do not need to start with a large code change. You can help by:

  • Reporting a reproducible bug or suggesting an improvement in Issues
  • Answering a question or reviewing an idea in Discussions
  • Improving documentation, examples, tests, or platform instructions
  • Sharing a notebook, integration, research workflow, or application built with WLJS
  • Submitting a focused pull request

Help cover WLJS project costs

WLJS is an independent open-source project. Our first funding goal is €300 per year to help cover these approximate annual costs:

  • €100 — Apple Developer membership
  • €100 — Domain name
  • A small budget for occasional CDN edge requests, cloud credits for testing, and coffee

Five supporters giving €5 per month would reach that goal before fees.

If WLJS helps with your research, teaching, or side projects, please consider supporting it.

Support monthly or give once · Other ways to donate

You can also help by:

  • Starring this repository
  • Sharing WLJS with a colleague, research group, or class
  • Say a word on a conference
  • Contributing an example, documentation improvement, bug report, or pull request

Privacy and security

WLJS does not transfer information to networked systems unless requested by the person installing or operating it. See the privacy and security policy for details.

Code signing

Official desktop releases published through GitHub Releases are signed where supported.

  • Windows: Installers and executable binaries are signed by SignPath.io with a certificate issued to SignPath Foundation.
  • macOS: Application bundles and disk images are signed with the team's Apple Developer ID certificate (com.coffeeliqueur.*). Gatekeeper should display that Developer ID when opening the application.

Community and third-party builds are not covered by this signing policy.

Project team

See the WLJS organization team for current committers and reviewers.

Inspired by

License

WLJS Notebook, including its extensions, graphics and sound libraries, frontend, and backend, is licensed under the GNU Affero General Public License. See LICENSE.md.

The algorithms, functions, and other components of Wolfram Language provided by the Wolfram Engine are the intellectual property of Wolfram Research, Inc. The Wolfram Engine is distributed separately under its own license.

computational-science
gui
gui-application
interactive-visualizations
javascript-project
mathematica
notebook
plotting
ui
wolfram
wolfram-language

Significant stargazers

David A Roberts

358 followers · starred Oct 2024

Fons van der Plas

1,514 followers · starred Sep 2025

Xing Guo

156 followers · starred Nov 2023

Szabolcs Horvát

216 followers · starred Apr 2025