Freedom251 › Notebook Software
Pluto.jl

What Pluto.jl is
Pluto.jl is a free, open-source reactive notebook for Julia, developed for education and designed for students and teachers. Its code cells track dependencies, so Pluto reruns affected cells when linked values change. PlutoUI provides widgets such as sliders, text fields and buttons, and custom widgets can be built with HTML, CSS and JavaScript. The software analyzes each notebook’s package use, manages a separate package environment and saves environment details in the notebook file to support reproducibility. Its workspace has no mutable state, so the visible code describes the program state. Pluto runs locally, and notebooks can be exported with their cell outputs as HTML or PDF. It was developed alongside MIT’s Introduction to Computational Thinking course. To use the package, install Julia and start Pluto from Julia’s terminal or REPL; the project lists support for Julia 1.10 through 1.12. The site also links to an online editor powered by mybinder.org and featured notebooks that can be run in a browser. The project provides documentation, FAQ, chat, feedback and email contact options.
Who it suits
It suits students and teachers using Julia for educational work, as well as users who want reactive notebooks and per-notebook package environments. Using the package requires installing Julia and starting Pluto from its terminal or REPL.
What it does well
- Reactive cells rerun when dependencies change.
- Each notebook has its own package environment.
- Notebook files retain environment information.
- Exports notebooks with outputs as HTML or PDF.
- MIT-licensed and free.
What to know first
- Requires Julia to be installed.
- Requires launching Pluto from Julia’s terminal or REPL.
- The listed Julia version range is 1.10 through 1.12.
Limits
The listed plan is free and open source. Using the package requires installing Julia, and the site lists compatibility with Julia 1.10 through 1.12.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Pluto.jl | Free and open source · Julia notebook environment · local installation or browser-based Binder editor · cloud files not stored in browser trial | Free |
As plutojl.org lists them, read 15 Oct 2026. The maker's own page has the final word.
Getting started
- Install Julia; Pluto's site lists Julia 1.10 through 1.12.
- Install Pluto through Julia's package manager.
- Start Pluto from Julia's terminal or REPL.
- Alternatively, use the online editor linked from the website or open a featured notebook in a browser.
Pluto.jl is a Julia notebook built around reactive code cells and notebook-specific package environments. It suits students, teachers, and Julia users who want reproducible computational work; it is less suitable if installing and running Julia is a barrier.
Overview
When a cell’s inputs change, Pluto identifies dependent cells and reruns them. Its lack of a mutable workspace means the visible code describes the program state, a useful constraint for lessons and shared notebooks where hidden session history can make results harder to follow.
Each notebook has its own package environment, with environment information stored in the notebook file. That makes dependencies travel with the work rather than relying on one shared Julia setup. Pluto is free, open-source software under the MIT License.
Key features
Reactive cells and widgets
Automatic reruns make Pluto well suited to demonstrations and exploratory analysis: change an input and affected results update without manually rerunning a sequence of cells. PlutoUI supplies sliders, text fields, and buttons. More specialized interactions can be built with HTML, CSS, and JavaScript, though that calls for web-language skills beyond Julia.
Notebook environments and exports
Pluto analyzes package use and manages a separate environment for every notebook, then keeps its environment information in the notebook file. This is a practical advantage for reproducibility, particularly when notebooks are shared or revisited. Notebooks can also be exported with cell outputs as HTML and PDF, useful for distributing results to readers who do not need an interactive notebook.
Browser access and local execution
An online editor powered by mybinder.org and featured notebooks that run in a browser offer a way to try Pluto without beginning at the local installation step. For regular use, however, Pluto is a Julia package: it must be 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, open-source package is distributed under the MIT License, with no paid tier or trial described. This is a straightforward fit for individual learners and educators who can run Julia; the cost is not the limiting factor, but the Julia setup is.
Platforms
Pluto runs locally, with Julia as its execution model, and supports Julia notebooks in jl, plutojl, and pluto.jl formats; exports include HTML and PDF. Browser use is available through the linked online editor and featured notebooks. Although Android, Linux, macOS, web, and Windows are named as platforms, using the package itself still requires Julia and its terminal or REPL.
Who it's for
Students and teachers are a natural audience: Pluto was developed alongside MIT’s Introduction to Computational Thinking course and is designed for educational work. Julia practitioners who value explicit dependencies, per-notebook environments, and shareable outputs also have a strong reason to choose it. Anyone seeking a notebook workflow that needs no Julia installation should look elsewhere.
Pros and cons
Pros
- Reactive dependency tracking reruns affected cells, making changing inputs useful for teaching and exploration.
- Notebook-specific package environments are stored with each notebook, supporting reproducible work across sessions.
- HTML and PDF exports include cell outputs, so finished work can be distributed beyond the interactive editor.
- The MIT-licensed software is free, with no paid plan required.
Cons
- Local use requires installing Julia and launching Pluto from a terminal or REPL, which adds a setup step for newcomers.
- Pluto supports Julia, so it is not a fit for readers seeking a multi-language notebook.
- Custom widgets use HTML, CSS, and JavaScript, which can demand skills beyond the notebook’s primary language.
Alternatives
For a broader notebook software shortlist, compare the formats and execution models that fit your work.
- Deepnote is worth considering for a web-oriented option with a free plan covering up to three editors and five projects, plus unlimited basic machines.
- Datalore may suit readers who want a hosted notebook plan with 120 CPU S machine hours, 10 GB of cloud storage, and two notebooks running in parallel.
- JupyterLab is another free, open-source choice for users who want local installation with pip and support for Linux or macOS.
- Polynote is a free alternative for readers comfortable running notebook software as a self-hosted server.
- BinderHub is free deployment software for operators prepared to supply their own cloud or hardware infrastructure.
- Google Colab may appeal to readers seeking browser-based notebooks; its free plan has no guaranteed compute-unit access and limited GPU access.
- Hex offers a free Community plan with data-source connections, all cell types, small compute, and an agent trial; it is a possible fit for readers whose notebook work centers on those tools.
- Kaggle Notebooks is a free option for readers interested in notebook sessions with limited P100 GPU or TPU availability and stated session-duration caps.
Verdict
Choose Pluto.jl if you teach or work in Julia and want reactive notebooks whose dependencies are kept with the notebook. Its strongest case is the combination of automatic cell updates and per-notebook environments, at no software cost. Look elsewhere if installing Julia is unacceptable or you need languages beyond Julia.
Verdict
Pluto.jl pairs reactive code cells with notebook-specific environments and export options in a free Julia package. It is a fit for educational work, provided you are prepared to install and run Julia.
Questions
How much does Pluto.jl cost?
The listed plan is free at 0.00 USD. Pluto.jl is open-source software under the MIT License.
Is there a free trial?
No. Pluto.jl is listed as free, with no free trial.
Which platforms does it support?
The listed platforms are Android, Linux, macOS, web, and Windows. The package is installed through Julia's package manager and started from Julia's terminal or REPL; the website also links to an online editor and browser-run notebooks.
Which programming language and notebook formats does it support?
The supported language is Julia. Listed formats include jl, plutojl, pluto.jl, HTML, and PDF.
Is Pluto.jl open source?
Yes. It is free, open-source software under the MIT License.
Who makes Pluto.jl and where can users get support?
Pluto.jl was developed alongside MIT's Introduction to Computational Thinking course. The project points users to its FAQ and documentation, Zulip chat room, built-in feedback system, and email contact.
Facts from Pluto.jl's own pages
- API stability
- The documentation says SessionActions functions are covered by Pluto's semantic-versioning promise. · plutojl.org, 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, 15 Oct 2026
- Cloud integrations
- Official documentation lists JuliaHub, Binder, deprecated Jolin Cloud and deprecated CoCalc as ways to run Pluto remotely. · plutojl.org, 15 Oct 2026
- Custom widgets
- Developers can create widgets with Julia, HTML, CSS and JavaScript through Pluto's widget API. · plutojl.org, 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, 15 Oct 2026
- Developer packages
- Pluto has factored functionality into Malt.jl, ExpressionExplorer.jl and PlutoDependencyExplorer.jl. · plutojl.org, 15 Oct 2026
- Documentation scope
- The official documentation covers installation, education, notebook authoring, reproducibility, publishing, widgets, architecture and internals. · plutojl.org, 15 Oct 2026
- Education
- Pluto was developed alongside MIT's Introduction to Computational Thinking course and is designed for students and teachers. · plutojl.org, 5 Oct 2026
- Education integration
- Pluto was developed alongside MIT's Introduction to Computational Thinking course. · plutojl.org, 15 Oct 2026
- Exports
- Pluto can export notebooks as standalone HTML or PDF documents with rendered outputs. · github.com, 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, 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, 5 Oct 2026
- Interactive widgets
- The @bind mechanism connects Julia variables to browser controls such as sliders, buttons and text fields. · plutojl.org, 15 Oct 2026
- Julia versions
- The homepage says Pluto works with Julia 1.10 through 1.13. · plutojl.org, 15 Oct 2026
- License
- The Pluto.jl package is released under the MIT license; sample notebooks use the Unlicense unless otherwise specified. · github.com, 15 Oct 2026
- Limit: compute-heavy notebooks
- The independent review says dependent-cell recomputation can become painfully slow for compute-heavy notebooks. · evanfields.net, 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, 15 Oct 2026
- Limit: environment resolution
- The same analysis warns that embedded environments may not resolve cleanly for private or unregistered packages. · hysenlabs.com, 15 Oct 2026
- Limit: language scope
- An independent project analysis says Pluto is unsuitable when notebooks must mix Python or R cells. · hysenlabs.com, 15 Oct 2026
- Limit: notebook diffs
- The analysis notes that environment metadata makes notebook files larger and adds non-code material to version-control diffs. · hysenlabs.com, 15 Oct 2026
- Live documentation
- The Live Docs panel searches Julia documentation while code is being typed or selected. · plutojl.org, 15 Oct 2026
- Maker structure
- Governance describes JuliaPluto as a volunteer and grant-supported open-source project rather than a conventional incorporated software vendor. · plutojl.org, 15 Oct 2026
- Mobile limitation
- Julia cannot run directly on iPad or iOS according to the installation guide, although a remotely running Pluto can be accessed there. · plutojl.org, 15 Oct 2026
- News: Windows desktop
- A July 7, 2026 announcement introduced a beta Windows desktop app bundling Julia, Pluto and a relocatable sysimage with automatic updates. · discourse.julialang.org, 15 Oct 2026
Where Pluto.jl stands on Freedom251
- Notebook Software#2 of 25
