Open any .ipynb notebook to read it the way it looked in Jupyter: highlighted code, formatted Markdown with math, DataFrame tables, plots and error tracebacks. Nothing runs and nothing is uploaded; you only need a browser.
Last updated:
Advertisement
Advertisement
How to use the Jupyter Notebook Viewer
Open the notebook: drop the .ipynb file on the box or click to choose it. A sample notebook is shown until you do.
Navigate with the table of contents built from the notebook's headings.
Change the view: untick Code to read only the narrative and results, or untick Outputs to see just the code.
Copy code from a single cell with its Copy button, or all code cells at once with Copy all code.
Export the rendered notebook as an HTML page to share or print, or as a .py script.
What is inside an .ipynb file
A Jupyter notebook is a JSON document. Its top level holds metadata (kernel and language), the format version (nbformat) and a list of cells. Each cell has a cell_type and its source text; code cells also store an execution_count and the outputs produced the last time they ran. That is why a notebook can be read without running it: the results travel inside the file.
Output type
Produced by
How it is shown
stream
print(), logging, progress bars (stdout or stderr)
Monospaced text; stderr on a light red background; ANSI colors kept
execute_result
The value of the last line of a cell, such as a DataFrame
Richest format available (HTML table, image, Markdown, text) with Out [n]
A single output can carry several formats at once (a MIME bundle). For a pandas DataFrame, for example, the file holds both text/html and text/plain; the viewer picks the richest one it can display safely, in the order HTML, SVG, PNG, JPEG, GIF, Markdown, LaTeX, JSON, plain text.
Tips
Outputs look empty? The notebook may have been saved after Clear All Outputs, or it was committed to Git with outputs stripped (for example by nbstripout). Re-run it in Jupyter to regenerate them.
Huge file size usually comes from embedded images: every plot is stored as base64 text, about 33% larger than the PNG itself.
Read it like a report by unticking Code and In [ ] numbers; what remains is the Markdown narrative with tables and charts.
Get a script for version control with Download .py. The # %% markers keep the cell boundaries, so tools such as Jupytext can turn the script back into a notebook.
Shell commands and magics (!pip install, %matplotlib inline) are commented out in the .py export so the script still runs in plain Python.
Frequently asked questions
How do I open an .ipynb file without installing Jupyter?
Drop the file onto this page. A notebook is a JSON file that already contains the code and the saved outputs, so it can be displayed without Python or a kernel. Everything you see, including plots and tables, comes from what was saved when the notebook was last run.
Can I run the code cells here?
No. This is a viewer, not a Python environment: it shows the code and the outputs that were saved in the file. To run the notebook, open it in Jupyter, JupyterLab, VS Code or Google Colab.
Why are some outputs missing or shown as text?
Interactive outputs such as ipywidgets, Plotly, Bokeh or Altair charts need JavaScript from a live kernel, which is not run here for safety; the viewer shows the static fallback saved with them, usually text or an image. Also, if a notebook was saved with outputs cleared, there is nothing to show beyond the code.
Is my notebook uploaded anywhere?
No. The file is read and rendered in your browser. Only the open-source libraries for Markdown (marked), HTML sanitizing (DOMPurify) and math (KaTeX) are downloaded from a public CDN; your notebook data stays on your device.
Is it safe to open a notebook from someone else?
Yes. Notebooks can contain HTML and JavaScript outputs. Jupyter itself only runs them in trusted notebooks; this viewer never runs scripts and cleans all HTML with DOMPurify before showing it.
How do I convert a notebook to HTML or a Python script?
Press Download HTML to save a standalone page with the rendered notebook, which you can also print to PDF. Download .py saves the code cells as a script, with Markdown as comments and # %% markers between cells, a format VS Code, Spyder and Jupytext understand.
Which notebook versions are supported?
Notebook format 4 (the format used since 2015 by Jupyter, JupyterLab, VS Code, Colab and Kaggle) and the older IPython format 3 with worksheets. Heading cells from format 3 are shown as Markdown headings.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.