Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. Notebook Software
  3. Pluto.jl

Pluto.jl

What it is

Pluto.jl is a free, open-source reactive notebook for the Julia programming language, designed for students and teachers. Its cells track variable dependencies and rerun affected code when those dependencies change. PlutoUI provides widgets such as sliders, text fields and buttons, and users can create custom widgets with HTML, CSS and JavaScript. Pluto analyzes package use, manages a separate package environment for each notebook and stores environment information in the notebook file. The project describes the workspace as having no mutable state, so visible code describes the program state. Pluto runs locally, supports real-time collaboration and can export notebooks with cell outputs as HTML or PDF. It was developed alongside MIT's Introduction to Computational Thinking course. To use the package, users need to install Julia and start Pluto from Julia's terminal or REPL; the site lists compatibility with Julia 1.10 through 1.12. The website also links to a browser-based editor powered by mybinder.org and featured notebooks that can run in a browser. Pluto.jl is available under the MIT License at no cost. Support options include documentation, FAQ, Zulip chat, a built-in feedback system and email contact.

For and against

For

  • Affected cells rerun when dependencies change.
  • Each notebook stores its package environment information.
  • Notebooks export with outputs as HTML or PDF.
  • Free open-source software under the MIT License.

Against

  • Using the package requires installing Julia.
  • Starting Pluto requires Julia's terminal or REPL.
  • The listed Julia version range is 1.10 through 1.12.

The verdict

Pluto.jl offers reactive Julia notebooks with per-notebook package environments and export options. Users need Julia installed to run the package locally, though the project links to browser-based options.

Who it suits

Pluto.jl is designed for students and teachers working with Julia notebooks. It may also suit Julia users who want reactive code cells and notebook-specific package environments.

Plans and prices

Pluto.jl

Free

Julia notebook environment · local installation or browser-based Binder editor · cloud files not stored in browser trial

Every plan, in full

On the record

API stability
The documentation says SessionActions functions are covered by Pluto's semantic-versioning promise.plutojl.org · read 15 Oct 2026
Browser requirement
Pluto requires a current web browser, and extensions such as Privacy Badger can interfere with its local interface.plutojl.org · read 15 Oct 2026
Cloud integrations
Official documentation lists JuliaHub, Binder, deprecated Jolin Cloud and deprecated CoCalc as ways to run Pluto remotely.plutojl.org · read 15 Oct 2026
Custom widgets
Developers can create widgets with Julia, HTML, CSS and JavaScript through Pluto's widget API.plutojl.org · read 15 Oct 2026
Desktop limitation
The announcement says the desktop beta initially targets Windows; macOS and Linux support would require additional work and testing.discourse.julialang.org · read 15 Oct 2026
Developer packages
Pluto has factored functionality into Malt.jl, ExpressionExplorer.jl and PlutoDependencyExplorer.jl.plutojl.org · read 15 Oct 2026
Documentation scope
The official documentation covers installation, education, notebook authoring, reproducibility, publishing, widgets, architecture and internals.plutojl.org · read 15 Oct 2026
Education
Pluto was developed alongside MIT's Introduction to Computational Thinking course and is designed for students and teachers.plutojl.org · read 5 Oct 2026
Education integration
Pluto was developed alongside MIT's Introduction to Computational Thinking course.plutojl.org · read 15 Oct 2026
Exports
Pluto can export notebooks as standalone HTML or PDF documents with rendered outputs.github.com · read 15 Oct 2026
Independent issue volume
The GitHub issue tracker displayed 306 open issues when checked, including reports about Windows interrupts, autocomplete, accessibility and rendering.github.com · read 15 Oct 2026
Installation
Pluto is installed through Julia's package manager and the site says it works with Julia 1.10 through 1.12.plutojl.org · read 5 Oct 2026
Interactive widgets
The @bind mechanism connects Julia variables to browser controls such as sliders, buttons and text fields.plutojl.org · read 15 Oct 2026
Julia versions
The homepage says Pluto works with Julia 1.10 through 1.13.plutojl.org · read 15 Oct 2026
License
The Pluto.jl package is released under the MIT license; sample notebooks use the Unlicense unless otherwise specified.github.com · read 15 Oct 2026
Limit: compute-heavy notebooks
The independent review says dependent-cell recomputation can become painfully slow for compute-heavy notebooks.evanfields.net · read 15 Oct 2026
Limit: editor ergonomics
The reviewer found keyboard shortcuts difficult to discover and editing workflows less comfortable as code size grows.evanfields.net · read 15 Oct 2026
Limit: environment resolution
The same analysis warns that embedded environments may not resolve cleanly for private or unregistered packages.hysenlabs.com · read 15 Oct 2026

The review

Pluto.jl is a notebook for writing and teaching Julia programs. It suits students, teachers, and Julia users who want interactive work with dependencies kept close to each notebook. Its reactive model and free open-source license are compelling; running it locally still requires Julia.

Overview

Pluto updates dependent cells when their inputs change, so readers can follow how a result responds to a new value without rerunning cells by hand. Its workspace has no mutable state: the visible code describes the program. That makes Pluto a strong fit for lessons and reproducible analysis, while users accustomed to notebooks that retain session state may need to adjust their workflow.

Every notebook gets its own package environment, and Pluto stores environment information in the notebook file. This helps keep dependencies tied to the work when notebooks are shared or reopened. Pluto is free, open-source software under the MIT License.

Key features

Reactive cells and widgets

Pluto tracks variable relationships among cells and reruns the cells affected by a change. That behavior makes interactive explanations and experiments easier to follow because updates propagate through the relevant parts of a notebook. PlutoUI adds sliders, text fields, and buttons. Users can build custom widgets with HTML, CSS, and JavaScript, which offers room for tailored interfaces but requires those web skills.

Notebook environments and exports

Pluto analyzes package use and manages a separate environment for each notebook, keeping environment information in the notebook file. This is useful for work that needs to remain reproducible across notebooks. The project also supports exporting notebooks with cell outputs as HTML or PDF, making results easier to share with people who do not use Pluto.

Browser-based use

The project links to an online editor powered by mybinder.org and to featured notebooks that run in a browser. These options can help someone explore Pluto without first setting up a local installation. For regular local use, however, Pluto is installed through Julia’s package manager and launched from Julia’s terminal or REPL; the project says it works with Julia 1.10 through 1.12.

Pricing

Pluto.jl costs nothing. The free plan is the open-source software under the MIT License, with no trial period or paid tier described. That makes it a straightforward choice for individual learners and educators who want Julia notebooks without a subscription. The tradeoff is operational: users running it locally need to install Julia and start Pluto from the terminal or REPL.

Platforms

Pluto’s listed platforms are Android, Linux, macOS, web, and Windows. Local use depends on Julia, while the project’s browser editor and featured notebooks offer an online route. Its supported language is Julia, and its notebook formats include jl, plutojl, pluto.jl, HTML, and PDF.

Who it's for

Pluto is especially well suited to students and teachers working through computational ideas, a use reflected in its development alongside MIT’s Introduction to Computational Thinking course. Julia programmers who value explicit dependencies, automatic cell updates, and notebook-level environments should also find its design useful. It is a weaker fit for someone seeking a general-purpose, multi-language notebook or a local notebook app that does not require a separate language installation.

Pros and cons

Pros

  • Reactive cell updates keep dependent results in sync when inputs change, which suits demonstrations and exploratory work.
  • Notebook-specific package environments stored with each notebook support reproducibility when work is shared or revisited.
  • HTML and PDF exports with cell outputs make finished notebooks easier to distribute beyond Pluto.
  • The MIT-licensed software is free, and browser-based options provide a way to explore without a local setup.

Cons

  • Local use requires installing Julia and launching Pluto from a terminal or REPL, adding setup that may deter casual users.
  • Pluto is built for Julia, so it is not the fit for readers who need one notebook environment for multiple languages.
  • Custom widgets can use HTML, CSS, and JavaScript, but creating them may demand skills beyond the notebook’s primary language.

Alternatives

Notebook Software is the broader category to browse when Pluto’s Julia focus does not match your needs.

JupyterLite is a free, open-source browser-based computing option that needs no dedicated application server; choose it when browser-based use and avoiding server setup matter more than Pluto’s Julia-centered notebook environment.

Apache Zeppelin is a free, open-source alternative under the Apache License, Version 2.0; consider it if that licensing and its Linux, macOS, self-hosted, and web platform options fit your deployment needs.

Datalore has a free plan with 120 CPU S machine hours, 10 GB cloud storage, two notebooks running in parallel, one workspace, and one interactive share. Pick it if those cloud quotas suit your work and you want a free trial option.

Hex offers a free Community plan with data-source connections, all cell types, small compute, and a Hex agent trial, plus a Professional plan at $36 a month billed per editor. It may suit readers who want those features and are willing to consider a paid editor plan.

marimo is another free, open-source notebook, with options spanning Linux, macOS, Windows, web, and self-hosted use. Choose it when that platform range or its permissively licensed open-source plan better matches your setup.

Nextjournal offers a free plan with unlimited private notebooks, data and secrets management, and limited concurrent compute. It may suit readers who prioritize private notebooks and built-in secrets management.

Paperspace Notebooks has a free plan with 5 GB storage and free CPU and GPU machines, with free-tier machines limited to notebooks in private workspaces. Consider it when those compute options and workspace terms fit your work.

Saturn Cloud offers a Hosted plan at $0.09 a month billed pay-as-you-go, hourly, with 16 GB memory, four vCPUs, and no vGPUs; its Enterprise plan has custom pricing. It may fit readers who want that hosted compute configuration.

Verdict

Choose Pluto.jl if you are a student, teacher, or Julia programmer who wants reactive notebooks, clear program state, and dependencies stored with each notebook at no cost. Its strongest reason to choose is the way its cell model and per-notebook environments support interactive, reproducible work. Look elsewhere if you need a multi-language notebook or want to run locally without installing Julia.

Alternatives to Pluto.jl

Every alternative, ranked