Skip to content

Next-Gen Digital Notebook for Physics, Math, and Data Science. Freeware notebook environment for Wolfram Language written in Javascript

License

Notifications You must be signed in to change notification settings

JerryI/wolfram-js-frontend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open-Source Notebook Interface for Wolfram Language

Next-Gen Digital Notebook for Physics, Math, and Data Science

It is the first open-source solution featuring true 2D math input combined with powerful syntax sugar and the fastest granular interactive evaluation engine, making it ideal for advanced mathematical workflows, scientific computing, and data exploration.

Preview

WLJS Notebook is an interactive computing platform, web-based environment for running Wolfram Language (WL) scripts, Javascript. A lightweight, cross-platform alternative to Mathematica, built using open-source tools and the free Wolfram Engine.

The notebook combines live code in WL, JS, Mermaid and many more, GUI blocks for user input, equations, narrative text, visualizations, interactive widgets.

WLJS Notebook is free software based on the Wolfram Engine.

You don’t need Mathematica installed to use WLJS Notebook. No subscription required—just a one-time registration at wolfram.com for personal use.

See the license agreement for details.

Developed through the collaboration of physicists and programmers. Designed for real-world applications in science ⚗️, math 🧮, and education 📚.

Resources

Recommended Wolfram Engine: Version 13.3 or higher

The algorithms, functions, and other components of the Wolfram Language provided by the Wolfram Engine are the intellectual property of Wolfram Research, Inc.

We need your support

As an independent open-source project, we’re unaffiliated with Wolfram or any company. Your support keeps this project alive:

  • +1 ⭐️ on this Github repo
  • Share it with your colleague
  • Buy us a coffee ☕️

Showcase

Pages featuring real-world problems solved using WLJS Notebook, published as interactive notebooks running in your browser.

Notebooks presented as static web pages showcasing various examples demonstrating the power of Wolfram Language and our frontend.

Highlights

Not Just Another Jupyter-Like Notebook 🧨

Blazing-fast dynamics, GUI components, and powerful Mathematica syntax enhancements out of the box.

alt text

  • No more static pre-rendered graphics! Most native Mathematica plotting functions are supported.
  • Optimized for real-time dynamics and interactivity.

Dynamic Plots

Dynamic Plots

High-Performance Rendering

The entire scene above is generated on the Wolfram Kernel and streamed to WebGL buffers via low-latency binary sockets.

🔗 Interactive Fluid Simulation

Fluid Simulation

Command Palette & GUI-in-Code Emulation 🎨

Native Math Input/Output in the Code Editor 🧮

Write beautiful equations directly within normal Wolfram Language expressions.

Math Input

🎹 No need to lift your fingers from the keyboard

Math Input

Editable Output Cells & Advanced Shortcuts

  • Alt+2, Cmd+2: Toggle input cell visibility
  • Ctrl+/: Create a fraction from selection
  • Ctrl+6: Create superscript from selection
  • Ctrl+2: Create square root from selection
  • Ctrl+-: Create subscript from selection

Or use toolboxes for complex structures like integrals, summations, and Greek letters.

Rich Command Palette

Command Palette

Integrate Your Favorite JavaScript Libraries

Extend your data visualization capabilities with JavaScript integrations.

JS Libraries

Share Interactive Notes Effortlessly

  • Write once, use forever
  • No breaking changes upon updates
  • Keep all dependencies within your notebook
  • No CDNs, no external libraries, no WRI services

Export to HTML/Markdown/MDX 🗜️

Export entire notebooks as standalone .html files, retaining all embedded data—no internet required for viewing.

HTML Export

Installation 🛠️

Wolfram Engine

Download Wolfram Engine (Version 13.3+ recommended). Activation is required after installation.

Tested

  • Wolfram Engine 13.1 (no copilot)
  • Wolfram Engine 13.2 (no copilot)
  • Wolfram Engine 13.3 (no copilot)
  • Wolfram Engine 13.4 (no copilot)
  • Wolfram Engine 14.0
  • Wolfram Engine 14.1
  • Wolfram Engine 14.2

macOS Installation via Homebrew:

brew install --cask wolfram-engine

WLJS Notebook App ✨

Download from the releases section.

CLI Installation

WLJS Notebook provides a CLI tool. You can open a folder in WLJS Notebook with:

wljs .

URL Protocol Registration

WLJS Notebook registers the wljs-message URL protocol, allowing you to open published notebooks directly from web pages.

Windows Installation

Use the .exe installer from the releases page.

GNU/Linux Installation

Using deb Package

sudo apt install ./wljs-notebook.deb

For Ubuntu 24.04, disable AppArmor restrictions:

sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0

Running on a server

Clone this repository

git clone https://github.com/JerryI/wolfram-js-frontend
cd wolfram-js-frontend
wolframscript -f Scripts/start.wls

Docker Image

contributed by @yloose

See instructions here

docker run -it \
  -v wljs_data:/wljs \
  -v ~/wljs:"/home/wljs/WLJS Notebooks" \
  -v ~/wljs/Licensing:/home/wljs/.WolframEngine/Licensing \
  -e PUID=$(id -u) \
  -e PGID=$(id -g) \
  -p 8000:3000 \
  --name wljs \
  ghcr.io/jerryi/wolfram-js-frontend:main

Then open http://127.0.0.1:8000

Technology Stack

Languages: Wolfram Language, HTML, CSS, JavaScript, C

License

GNU GPLv3