Available now.html

IPYNB Slides

Build a Reveal.js slide deck from your notebook—honor slideshow cell metadata or auto-split on Markdown headings, then download a single shareable HTML file.

Free, instant, and 100% private — your notebook never leaves the browser.

How it works

Three steps from upload to download

1

Drop your notebook

Drag a .ipynb onto the card or browse your files. You never create an account.

2

Choose the export

Select Word, PDF, Markdown, HTML, LaTeX, ZIP, Python tools, viewer, cleaner, merger, or splitter—whatever matches your reviewer.

3

Download and ship

Grab the finished file immediately. Open it locally, attach it to email, or upload it to your LMS.

Also available

Try our other free tools

Notebook to slides: turn a Jupyter notebook into a Reveal.js slideshow online

This converter turns a Jupyter notebook into a self-contained Reveal.js HTML slide deck you can present from any browser. Drop the .ipynb in the page, choose whether to keep outputs and speaker notes, and download an .html file that already loads Reveal.js and Highlight.js from a CDN—no build step, no slot for `nbconvert --to slides`, no LaTeX install. Open the file in Chrome, Edge, or Firefox to present, and zip it up to share with the audience afterwards.

The converter respects the same `slideshow.slide_type` cell metadata that Jupyter, RISE, and `nbconvert --to slides` already use: `slide`, `subslide`, `fragment`, `skip`, and `notes`. If you tagged your notebook in JupyterLab’s slide editor, the deck looks the way you set it up. If you have not tagged anything, the converter falls back to a pragmatic default: every Markdown heading starts a new slide, so a well-structured tutorial becomes a usable presentation without extra work.

Compared to running `jupyter nbconvert --to slides`, this page wins on simplicity. There is no Jupyter install required, no Python environment to maintain, and no need to host a static folder for the slides—the output is one .html file you can email, drop in Slack, or upload to any static site. Compared to RISE, you do not need a live kernel: the slides are static, which makes them easier to share and safer to embed on a website.

Bundle a colour theme (light or dark), turn off Include outputs when you only want the text and figures from a teaching script, and keep Speaker notes on if you embedded `notes` cells in your notebook. The result is a single shareable file that opens straight from a double-click.

Why convert your Jupyter notebook to slides here

Reveal.js output you can present anywhere

Download a single .html file that loads Reveal.js from a CDN, runs in any browser, and exports to PDF via the standard Reveal print route.

Honors slideshow cell metadata

Reads `slide`, `subslide`, `fragment`, `skip`, and `notes` from `cell.metadata.slideshow`, the same field RISE and `nbconvert --to slides` rely on—so your existing tagged notebooks render correctly.

Smart heading-based fallback

Notebooks without slide metadata still convert cleanly: every top-level Markdown heading starts a new slide, with subsequent cells continuing the narrative below.

Code stays code

Code cells render with Highlight.js syntax highlighting. Outputs render below each cell when you keep Include outputs on, including text streams, errors, and embedded images.

Speaker notes that match RISE

Cells tagged as `notes` become Reveal.js speaker notes you can read in the presenter view—exactly the workflow people use with RISE inside JupyterLab.

100% in the browser

The conversion runs locally in your tab. The notebook never leaves your machine, and the output deck has no analytics or external trackers.

How to convert ipynb to slides in your browser

  1. 01

    Upload your .ipynb

    Drag a notebook in. The parser reads it client-side and tells you the cell counts before the conversion runs.

  2. 02

    Choose your options

    Decide whether to include code outputs and speaker notes. Defaults work for most teaching and conference talks.

  3. 03

    Download and present

    Save the .html file. Double-click to open it in your browser, hit F11 for full screen, and present. Press S for the speaker view.

Frequently asked questions about ipynb to slides

Open this converter, upload your .ipynb, and download the generated .html. Open the file in any browser to present. The deck uses Reveal.js so the experience matches the standard `nbconvert --to slides` output.