.ipynb

How to Open IPYNB File: View, Run or Convert a Jupyter Notebook

An IPYNB file is a Jupyter notebook: code, notes and results saved together as JSON text. To open IPYNB file content just to read it, drop it into the free viewer below. To run the code, open it in Google Colab (no install), JupyterLab or VS Code. This guide shows how to open IPYNB files on Windows, Mac, Linux, iPhone and Android, convert them to PDF, HTML or .py, and fix notebooks that won't load.

Category: Notebook document (JSON text) Developer: Project Jupyter MIME type: application/x-ipynb+json Native support: none in Windows, macOS, iOS or Android

Open IPYNB File Online: Free Jupyter Notebook Viewer (No Upload)

Use this free viewer to open IPYNB file content on any device, without installing anything. Drop a notebook below to read it the way it looks in Jupyter: Markdown notes with headings, lists, tables and attached images; code cells with their In [n] numbers; and the saved outputs, including printed text, charts (PNG, JPEG, SVG), pandas tables and error tracebacks. The Overview tab shows the kernel, language, nbformat version, cell counts and anything worth a second look, such as JavaScript output or cells run out of order. You can download the code as a .py script or the whole notebook as a static HTML page. If the file is broken, the viewer tells you why and points to the bad line. No code is ever run.

🔒 Nothing is uploaded — your file never leaves this device

What is an IPYNB file?

An IPYNB file is a Jupyter notebook document: a plain-text JSON file that keeps code, explanatory notes and the results of running that code in one place. Data scientists, students and researchers use notebooks to share an analysis step by step: a paragraph of explanation, the code that loads the data, the table it produced, the chart, and so on. The extension stands for IPython Notebook, the project that Project Jupyter was spun off from in 2014. Jupyter is named after Julia, Python and R, and its "kernels" run several dozen languages, although most notebooks you will meet are Python.

Inside, a notebook is a JSON object with four keys: metadata (including the kernelspec that says which language runs it), nbformat and nbformat_minor (the format version, today 4.x), and cells. Each cell is one of three types:

  • Markdown cells: formatted text in GitHub-flavored Markdown, which can carry attached images.
  • Code cells: the source code, an execution count (the number in In [3]) and a list of outputs: printed text (stream), results and rich displays such as images or HTML tables (execute_result, display_data) and error tracebacks (error).
  • Raw cells: text passed through untouched when the notebook is converted.

Because outputs are saved in the file, you can read a notebook's results without running anything. Charts are stored as base64 text, which is why a notebook with many plots can be several megabytes. You can open IPYNB files with any of the tools below; the right one depends on whether you want to read the notebook or run it.

Structure of an .ipynb notebook file A notebook is one JSON object with metadata, the nbformat version and a list of cells. Markdown cells hold text and attachments; code cells hold source code, an execution count and outputs such as stream text, results, images and errors; raw cells hold untouched text. notebook.ipynb (JSON text) metadata kernel, language nbformat: 4 nbformat_minor: 5 cells [ ... ] Markdown text, links attachments Code source execution_count outputs: stream (print) execute_result display_data (PNG, HTML...) error Raw untouched text
Illustration: what is inside an .ipynb file (nbformat 4), simplified from the official format description.

How to open an IPYNB file: quick answer

Pick the tool by what you need to do. If you only need to open IPYNB file contents to read them, you need no software at all; running its code needs a Jupyter environment, either online (Colab) or on your computer (JupyterLab, VS Code).

  1. Just want to read it? Drop it into the viewer above. You see the notes, code, tables and charts as they were saved.
  2. Want to run it without installing anything? Open Google Colab, choose File > Upload notebook and pick the file.
  3. Want to run it on your computer? Install JupyterLab (pip install jupyterlab) and run jupyter lab, or use VS Code with the Jupyter extension.
  4. Won't open? Check it in the viewer: it explains invalid JSON, merge conflicts and wrongly saved web pages. See common problems.
Your situationBest way to open it
Got a notebook by email or from a course and only need to read itThe browser viewer on this page (nothing uploaded)
Need to run the code, no Python on this computerGoogle Colab (free, in the browser)
Python already installedJupyterLab or Jupyter Notebook via pip
You write code in VS CodeVS Code + Jupyter extension
Want to double-click .ipynb files on Windows or MacJupyterLab Desktop
The notebook is on GitHubClick it: GitHub renders it (details)
On an iPhone, iPad or Android phoneMobile options
Need a PDF, web page or .py scriptConvert it
"Unreadable Notebook" / "does not appear to be JSON"Fix the JSON

Open IPYNB files in Jupyter Notebook or JupyterLab (Windows, Mac, Linux)

Jupyter itself is the reference program to open IPYNB files, and it is free. JupyterLab is the current full interface; Jupyter Notebook is the simpler classic one. Both run as a small local server and open in your web browser. You need Python installed first (see how to run a Python file if you don't have it).

  1. Install it from a terminal (Command Prompt or PowerShell on Windows, Terminal on Mac or Linux): pip install jupyterlab for JupyterLab, or pip install notebook for the classic Notebook. On a Mac with Homebrew, brew install jupyterlab also works.
  2. Go to the folder that holds the notebook, for example cd Downloads. Jupyter only shows files inside the folder you start it from.
  3. Start it: jupyter lab, or jupyter notebook notebook.ipynb to open one file straight away. Your browser opens at http://localhost:8888/.
  4. Double-click the .ipynb in the file list, then pick Run > Run All Cells (or press Shift+Enter cell by cell).
  5. When you're done, save, close the browser tab and press Ctrl+C in the terminal to stop the server. Closing the terminal window also stops it.
Illustration: installing and starting JupyterLab from a terminal. The browser opens the file list automatically.

Missing packages? A notebook that starts with import pandas or import torch fails with ModuleNotFoundError until you install those packages in the same Python environment, for example with %pip install pandas in a notebook cell. Notebooks meant to be shared often start with an install cell for exactly this reason.

Open an IPYNB file in Visual Studio Code

VS Code opens notebooks natively once the Jupyter extension is installed, and shows them as cells, much like Jupyter. It is a good way to open IPYNB files on Windows if you already code in VS Code.

  1. Install VS Code, then open the Extensions view and install Jupyter (by Microsoft).
  2. Open the notebook with File > Open File, by right-clicking it and choosing to open it with VS Code, or from the VS Code Explorer.
  3. Click Select Kernel at the top right and pick a Python environment. For Python, VS Code's documentation says you need an Anaconda environment or another Python environment with the Jupyter package installed.
  4. Run cells with the play button or Shift+Enter.

Outputs hidden or cells won't run? If VS Code opened the folder in Restricted Mode (an untrusted workspace), you cannot run cells and rich outputs are hidden. Trust the folder only if you trust where the notebook came from.

Open an IPYNB file in Google Colab (no install)

Google Colab runs Jupyter notebooks in your browser for free, with nothing to install, and stores them in the open .ipynb format in your Google Drive. You need a Google account.

  1. Go to colab.research.google.com and sign in.
  2. Choose File > Upload notebook and select your .ipynb file.
  3. The notebook opens with its saved outputs. Run cells one at a time with Shift+Enter, or all of them from the Runtime menu. The code runs on Google's machines, not yours.
  4. Colab keeps the notebook in your Google Drive. To get the .ipynb file back, use Download in Colab's File menu.
Illustration: the File menu in Colab, where Upload notebook opens a local .ipynb file.

Colab can also load notebooks straight from GitHub. Colab is also the quickest way to open IPYNB file attachments on a Chromebook. Keep in mind that uploading means the notebook, and any data you upload with it, is stored in your Google account; for confidential work, use the local viewer or a local Jupyter install.

Anaconda Navigator and JupyterLab Desktop (double-click to open)

If you prefer an app to the command line, JupyterLab Desktop or Anaconda Navigator will open IPYNB files without typing commands. Windows and macOS have no default program for .ipynb, so double-clicking a notebook usually asks which app to use, or opens raw text.

  • JupyterLab Desktop is the official cross-platform app (Windows 10 and 11, macOS 12 and later, and Linux). It comes with a bundled Python environment that includes numpy, scipy, pandas, ipywidgets and matplotlib, and it supports double-clicking .ipynb files: the notebook opens in the app with its folder as the working directory.
  • Anaconda Navigator is the desktop launcher included with Anaconda Distribution. Click Launch under Jupyter Notebook or JupyterLab, then browse to your file in the browser tab that opens.

To make double-click work after installing, right-click any .ipynb, choose Open with (Windows) or Get Info > Open with > Change All (Mac), and pick JupyterLab Desktop or VS Code.

Open IPYNB files without installing anything

To read a notebook you don't need Jupyter at all; you only need it to run the code. These options open IPYNB files and show the saved cells and outputs:

OptionWorks withRuns code?Privacy
Viewer on this pageAny file on your deviceNo (read only)Stays on your device
Google ColabUploaded files, Drive, GitHubYesStored in your Google account
GitHubNotebooks in a repositoryNo (static page)Public if the repository is public
nbviewer.orgNotebooks at a public URL, GitHub or a gistNo (static page)Notebook must be online

GitHub shows any .ipynb in a repository as a static page. Interactive features such as custom JavaScript plots don't work there; GitHub's own documentation suggests nbviewer for those. nbviewer is Jupyter's free web service that renders a notebook from a link, but it can't open a file that is only on your computer. The viewer on this page fills that gap.

Jupyter notebooks on iPhone, iPad and Android

Neither iOS nor Android can open IPYNB files by default, but you can read them in the browser and run them with an app or Colab.

iPhone and iPad

  • To read: open this page in Safari, tap the viewer and choose the notebook from Files (iCloud Drive, Downloads or an email attachment you saved).
  • To run: Carnets – Jupyter is a free App Store app by Nicolas Holzschuch that runs Jupyter entirely on the device, without an internet connection. It needs iOS or iPadOS 14 or later. A separate "Carnets – Jupyter (with scipy)" edition adds more scientific packages.

Android

  • To read: open this page in Chrome, tap the viewer and pick the file from Downloads or Google Drive.
  • To run: open Google Colab in Chrome and upload the notebook as described above. It works, but editing code on a phone screen is slow; a tablet or a laptop is far more comfortable.
Illustration: choosing a notebook from the Downloads folder on Android when the browser viewer asks for a file.

Is an IPYNB file safe?

It is safe to open IPYNB files to read them; running one is like running any program, so only run notebooks you trust. An .ipynb file is text and does nothing by itself. Its code runs only when you (or Run All) execute cells, and then it can read, change or delete anything your user account can, install packages, or send data over the internet.

Jupyter has a built-in trust model for the outputs saved in a notebook. According to the Jupyter Server documentation, untrusted HTML is always sanitized and untrusted JavaScript is never executed. Output you generate yourself is trusted: when you run and save a notebook, Jupyter stores a signature in a local database, and on the next open the outputs are treated as yours. To trust a notebook someone else made without re-running it, use File > Trust Notebook or jupyter trust notebook.ipynb.

  • Read the code before you run it, especially cells with ! or %%bash (shell commands), pip install, os.remove, shutil.rmtree, requests.post or long encoded strings.
  • Don't trust a notebook just to see its charts. Regular images and tables display without trust; trust only unlocks JavaScript output.
  • Use Colab or a separate environment for notebooks from strangers, so the code runs away from your personal files.
  • The viewer on this page never runs code, shows HTML output in a locked frame with scripts and network access disabled, and does not load images from the internet.

Convert an IPYNB file to PDF, HTML or .py

Once you can open IPYNB file contents in Jupyter, its own converter, nbconvert, turns a notebook into HTML, PDF, a script and other formats with one command. It is installed with JupyterLab and Notebook, or separately with pip install nbconvert. The basic form is jupyter nbconvert --to FORMAT notebook.ipynb.

You wantCommandNotes
Web page (.html)jupyter nbconvert --to html notebook.ipynbOpens in any browser; good for sharing results
Python script (.py)jupyter nbconvert --to script notebook.ipynbCode cells become one script; the extension follows the kernel language
PDF via LaTeXjupyter nbconvert --to pdf notebook.ipynbNeeds Pandoc and a TeX install with XeLaTeX
PDF via a browser enginejupyter nbconvert --to webpdf notebook.ipynbInstall with pip install nbconvert[webpdf]; add --allow-chromium-download if Chromium is missing
Markdown (.md)jupyter nbconvert --to markdown notebook.ipynbNotes and code as a Markdown document

Without the command line: in VS Code, choose … > Export on the notebook toolbar to save as a Python script, HTML or PDF. In the viewer above, Download code as .py joins the code cells into a script (Markdown becomes comments, like nbconvert's script output) and Download as .html saves a static copy with all images embedded. Open that HTML file and use your browser's Print > Save as PDF to get a PDF with no software installed.

Going the other way, from a .py file to a notebook, is easiest by creating a new notebook and pasting the code into cells.

Common IPYNB problems and how to fix them

When Jupyter, VS Code or Colab refuses to open IPYNB file downloads, the cause is almost always one of the cases below. Most come down to a file that is no longer valid notebook JSON, or a computer with no notebook program installed.

"Unreadable Notebook" / "Notebook does not appear to be JSON"

Jupyter's file reader raises NotJSONError: Notebook does not appear to be JSON when the file isn't valid JSON. Drop the file into the viewer: it names the cause and shows the line. The usual suspects:

  • Git merge conflict. Git inserted <<<<<<<, ======= and >>>>>>> lines, which break the JSON. Remove them in a text editor, keeping one version of each block, or take one side with git checkout --ours notebook.ipynb (or --theirs).
  • A saved web page. Right-clicking a notebook link on GitHub and choosing Save link as saves the HTML page, not the notebook. Open the notebook and use Raw or Download raw file instead.
  • A cut-off or empty file from an interrupted download, sync or save. Download it again, or look in the hidden .ipynb_checkpoints folder next to the notebook for the last checkpoint Jupyter saved.
  • A hand edit gone wrong: a missing comma, quote or bracket. The viewer gives the line and column to fix.

Double-clicking opens Notepad, a browser tab full of text, or nothing

Your computer has no notebook app associated with .ipynb, so it doesn't know how to open IPYNB files. The text you see is the real JSON content, not corruption. Install one of the programs above and set it as the default with Open with.

File saved as notebook.ipynb.json or notebook.ipynb.txt

Browsers choose the extension from the type the server sends, and notebooks are often sent as plain JSON or text. Rename the file so it ends in .ipynb. Jupyter's own documentation lists application/x-ipynb+json as the notebook MIME type that avoids this.

Charts or widgets are missing

Only outputs that were saved in the file can be shown. If the author cleared outputs before sharing, run the notebook to recreate them. Interactive widgets and JavaScript plots need a live kernel or a trusted notebook; GitHub and other static viewers show them as text or not at all.

"Select a kernel", "Kernel not found" or ModuleNotFoundError

The notebook was made with a kernel (for example a specific Python environment, or R) that isn't installed on your machine. Pick an available kernel from the kernel menu, install the missing packages with %pip install in a cell, or open the notebook in Colab, which has many packages preinstalled. For an R or Julia notebook you need that language's Jupyter kernel installed.

The notebook is huge or very slow

Big notebooks are usually full of saved images or long printed output. In Jupyter, use Edit > Clear Outputs of All Cells (JupyterLab) and save; the file often shrinks dramatically. Run only the cells you need afterwards.

"Unsupported nbformat version"

The file declares a format version your Jupyter doesn't know, usually because the software is very old. Update Jupyter with pip install -U jupyterlab notebook. Very old IPython notebooks (format 3) still open in current Jupyter, and the viewer here reads them too.

Quick recap: which tool to use

  • Read only, any device: open IPYNB file content in the browser viewer on this page. Nothing is uploaded and nothing runs.
  • Run it with no install: Google Colab, File > Upload notebook.
  • Run it on your PC or Mac: pip install jupyterlab then jupyter lab, VS Code with the Jupyter extension, or JupyterLab Desktop to open IPYNB file icons with a double-click.
  • Share or hand in: jupyter nbconvert --to html or --to pdf, or the viewer's HTML export.
  • Broken file: check it in the viewer, then fix the JSON or restore a checkpoint.

Sources and technical references

Commands, versions and behavior on this page were checked on October 7, 2026 against the official Jupyter documentation and vendor pages below.

Frequently asked questions

What is an IPYNB file?

An IPYNB file is a Jupyter notebook: a plain-text JSON document that stores code cells, Markdown notes and the results the code produced, such as tables, charts and error messages. The name comes from IPython Notebook, the project Jupyter grew out of. Most notebooks contain Python, but kernels exist for several dozen languages.

How do I open an IPYNB file without installing anything?

To read it, drop it into the viewer on this page: it shows the notes, code and saved outputs, and nothing is uploaded. To run it, use Google Colab (File > Upload notebook), which is free and runs in the browser. If the notebook is on GitHub, GitHub displays it as a static page.

What program opens IPYNB files on Windows 11?

Windows has no built-in program for .ipynb. The easiest options are VS Code with the Jupyter extension, JupyterLab Desktop (which opens notebooks on double-click), Anaconda Navigator, or JupyterLab installed with pip install jupyterlab. Notepad can open the file too, but it only shows the raw JSON text.

Do IPYNB files work on a Mac?

Yes. Install JupyterLab with pip install jupyterlab or brew install jupyterlab and run jupyter lab in Terminal, or use VS Code with the Jupyter extension or JupyterLab Desktop. To just read a notebook, the browser viewer on this page works in Safari, Chrome and Firefox without installing anything.

How do I open an IPYNB file on iPhone or Android?

To read it, open this page in your phone's browser and choose the file from Files or Downloads. To run code on iPhone or iPad, the free Carnets app runs Jupyter locally (iOS 14 or later). On Android, Google Colab in the browser can run notebooks, though editing on a small screen is awkward.

Is it safe to open an IPYNB file from the internet?

Viewing is safe: a notebook is text, and nothing runs until you run a cell. Running is the risk, because the code can do anything your account can do. Jupyter also blocks JavaScript output from notebooks you didn't run yourself until you trust them. Read the code first, and only trust notebooks from sources you trust.

How do I convert IPYNB to PDF?

Run jupyter nbconvert --to pdf notebook.ipynb, which needs Pandoc and XeLaTeX, or jupyter nbconvert --to webpdf notebook.ipynb after pip install nbconvert[webpdf]. VS Code can also export to PDF from the notebook toolbar. Without installing anything, export a static HTML copy with this page's viewer and print it to PDF.

How do I convert an IPYNB file to a .py file?

Run jupyter nbconvert --to script notebook.ipynb, or in VS Code choose ... > Export > Python script. In the viewer on this page, click Download code as .py: it joins all code cells into one script and turns Markdown cells into comments, without uploading the notebook.

Why does Jupyter say "Notebook does not appear to be JSON"?

The file is not valid JSON any more. Common causes are Git merge-conflict markers, a download or save that was cut off, an empty file, or a GitHub web page saved instead of the raw notebook. The viewer on this page tells you which one it is and shows the broken line.

Can I edit an IPYNB file in Notepad or another text editor?

Yes, because it is plain JSON text, but you will see brackets, quotes and long base64 image data rather than a readable notebook. Text editors are useful for fixing a broken notebook. Edit carefully: one missing comma or quote makes the whole file unreadable to Jupyter.

Why did my notebook download as .ipynb.json or .ipynb.txt?

Browsers pick the extension from the file type the server sends, and notebooks are often sent as JSON or plain text, so the browser adds .json or .txt. Rename the file so it ends in .ipynb again. The content is unchanged, and the viewer on this page opens it either way.

Last updated .