JupyterLab vs Pluto.jl
JupyterLab
jupyter.orgPluto.jl
plutojl.orgSide by side
| Figure | JupyterLab | Pluto.jl |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | Yes | Yes |
| Web | Yes | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Android | — | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · Notebook Software | 8.8 (#4) | 8.3 (#10) |
| Installation | The official installation page provides pip installation and also points users to conda, mamba and Homebrew options. | Pluto is installed through Julia's package manager and the site says it works with Julia 1.10 through 1.12. |
| License | JupyterLab source code is released under the revised BSD license, commonly identified as BSD-3-Clause. | The Pluto.jl package is released under the MIT license; sample notebooks use the Unlicense unless otherwise specified. |
| Security | JavaScript and HTML outputs in notebooks created on other machines are sanitized and not displayed until the notebook is trusted. | The project repository links to a security policy; the pages reviewed do not state a security certification or compliance standard. |
| Self-hosting | JupyterLab is installed and launched locally with the `jupyter lab` command, so organizations can operate it on their own computers or servers. | Pluto runs a local Julia HTTP server and browser interface, and can also be deployed on a server or university computing system. |
| What it does | JupyterLab is a web-based environment for interactive and reproducible computing with notebooks, terminals, text editors, file browsing and rich outputs. | Pluto.jl is a reactive programming environment and notebook system for the Julia language. |
Plans
In their own words
JupyterLab
JupyterLab is a web-based environment for interactive work with notebooks, code and data. Its workspace brings notebooks, text editors, terminals and custom components together in tabs and splitters. Code consoles act as scratchpads, and kernel-backed documents can run code in files such as Markdown, Python, R and LaTeX. It supports the .ipynb format used by classic Jupyter Notebook, and can view and edit formats including Markdown, images, CSV, JSON, HTML, LaTeX and PDF. Visualization libraries include matplotlib and Plotly; interactive plots or widgets may require additional packages. Extensions can add themes, viewers, editors, output renderers and interface controls, but can execute code in the browser, server and kernel, so only trusted extensions are advised. Real-time collaboration can be enabled with jupyter_collaboration. JavaScript and HTML outputs from notebooks created elsewhere remain hidden until the notebook is trusted. JupyterLab is free, open-source software under a modified BSD license, installed with pip or via a Homebrew command for macOS and Linux. It runs on Linux, macOS, the web and self-hosted systems.
Pluto.jl
Pluto.jl is a free, open-source reactive notebook for the Julia programming language, developed for education. Its cells track dependencies, and changes cause affected cells to rerun. PlutoUI provides widgets such as sliders, text fields, and buttons; custom widgets can be built with HTML, CSS, and JavaScript. Pluto analyzes package use, manages a separate package environment for each notebook, and stores environment details in the notebook file. Its documentation says there is no mutable workspace, so the visible code describes the program state. Notebooks can be exported with cell outputs as HTML or PDF. The software is available under the MIT License at free and supports real-time collaboration. To use the package, install Julia and start Pluto from Julia's terminal or REPL; the site lists Julia 1.10 through 1.12. It also links to an online editor powered by mybinder.org and featured notebooks that can run in a browser. Pluto was developed alongside MIT's Introduction to Computational Thinking course and is designed for students and teachers.