Jupyter notebooks, without Jupyter.
Drop a file and read it. Nothing runs, and nothing is sent anywhere.
1A notebook is a document.
Opening one usually means starting a server, and sharing one means putting it on somebody else’s. This viewer reads the file where it is, in your browser, and never runs a line of it.
2Your file stays here.
After the first visit the app keeps its own files on your device, 127 files and about 0.9 MB to download once. Open a notebook with the wifi off and it still opens.
Once a notebook is open, the page shuts its own connections. The browser enforces that, so even a bug in the app could not send your file out. A picture that lives on the web waits for your yes, and the Privacy sheet in Settings counts what the page has sent since the notebook opened.
- Offline copy
- Ready
- Connections
- Closed
- Web pictures
- Asked per notebook
To check it yourself, switch the wifi off, reload, and drop a notebook.
3Small on purpose.
The first screen weighs 26 KB gzipped. Everything else, from math to code highlighting, downloads only when a notebook needs it, so a notebook with no formulas never fetches the maths.
4Cells appear while the file is still being read.
The parser works through the file in chunks and hands over each cell the moment it is whole. On a 61 MB notebook with 3,000 cells, the first cell is ready after 0.5 ms and the whole file is read in 425 ms.
5A notebook is untrusted input.
Markdown and HTML outputs are cleaned before they are shown, and styles that could fetch anything are dropped. An output that carries a script waits behind a button and runs in a sandboxed frame that cannot reach your page, or the network unless you turn that on.
onerror=…6Made for reading.
- SearchAcross text, code and outputs, with each match marked in its cell.
- FiguresEvery plot on one shelf, and each one saves as an image.
- Live refreshSave the notebook and the view follows, in Chromium browsers.
- Run orderSee the cells in the order they ran, and the ones that ran out of turn.
- Share by linkThe link carries the notebook after the #, so no server sees it.
- ScreenshotsPress s for a clean image of a cell, ready for a post or a doc.
- Copy as MarkdownThe notebook as text, for a doc or for a model.
- KeyboardEvery action has a key. Press ? in the app for the list.
7Keys.
Single keys, nothing to learn twice. They stand down in text fields and when you hold a modifier.
- jk
- Next or previous cell
- []
- Previous or next heading
- t
- Contents
- /
- Search
- f
- Trace the selected name
- s
- Save a cell as an image
- m
- Copy as Markdown
- ?
- The full list