# Jupyter notebook support

> **Warning:**
> The following is only valid when the Python and Jupyter plugins are [installed and enabled](managing-plugins.html)!

With Jupyter Notebook integration available in IntelliJ IDEA through the [Python](https://plugins.jetbrains.com/plugin/631-python) and [Jupyter](https://plugins.jetbrains.com/plugin/22814-jupyter) plugins, you can edit, execute, and debug notebook source code and examine execution outputs including stream data, images, and other media.

Notebook support in IntelliJ IDEA includes:

* Coding assistance: * Error and syntax [highlighting](code-inspection.html). * [Code completion](auto-completing-code.html). * Ability to create [line comments](working-with-source-code.html) `Ctrl+/` (Windows), `⌘ /` (macOS), `⌘ /` (IntelliJ IDEA Classic (macOS)), `⌘ /` (macOS System Shortcuts), `Ctrl+/` (XWin), `Ctrl+/` (GNOME), `Ctrl+/` (KDE), `Alt+;` (Emacs), `Ctrl+/` (Sublime Text), `⌘ /` (Sublime Text (macOS)), `Ctrl+/` (NetBeans), `Ctrl+Alt+/` (Visual Studio), `⌘ ⌥ /` (Visual Studio (macOS)), `Ctrl+/` (Eclipse), `⌘ /` (Eclipse (macOS)).

* Ability to execute [IPython](http://ipython.org/ipython-doc/stable/overview.html) commands in the [Python console](console-python-console.html).

* Dedicated [Jupyter Notebook Debugger](running-jupyter-notebook-cells.html#debug-notebook).

* Shortcuts for basic operations with Jupyter notebooks.

* Ability to recognize `.ipynb` files and mark them with the ![Jupyter icon](https://resources.jetbrains.com.cn/help/img/idea/2026.2/python-jupyter.icons.org.jetbrains.plugins.notebooks.jupyter.expui.jupyterNotebook.svg) icon.

* Jupyter-specific [AI features](https://www.jetbrains.com.cn/en-us/help/ai-assistant/ai-in-jupyter-notebooks.html).

## Quick start

To start working with Jupyter notebooks in IntelliJ IDEA:

Procedure:

1. [Create a new Python project](creating-empty-python-project.html), specify a [Python interpreter](configuring-python-sdk.html), and install the  jupyter package.

2. Open or [create](editing-jupyter-notebook-files.html#create-notebook-file) an `.ipynb` file.

3. [Add and edit](editing-jupyter-notebook-files.html) source cells.

4. [Execute](running-jupyter-notebook-cells.html#execute-cell) any of the code cells to launch the Jupyter server.

## Get familiar with the user interface

### Jupyter notebook toolbar

The Jupyter notebook toolbar provides quick access to all basic operations with notebooks.

You can customize the toolbar by adding, removing, and rearranging actions:

1. Click ![](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.actions.more.svg)More on the notebook toolbar.

2.  Do one of the following:

* Select Customize Toolbar, then select the action from the list. It will be added to the toolbar.

* Select `Customize Toolbar | Customize Jupyter Toolbar...` to open a dialog where you can add or remove additional actions. For more information, refer to [Menus and toolbars](customize-actions-menus-and-toolbars.html).

| Item | Description |
| --- | --- |
| ![Code Cell Below](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.add.svg)   Code Cell Below    | Adds a code cell below the selected cell. |
| ![Move Cell Up](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.up.svg)   Move Cell Up    | Moves the current cell up. |
| ![Move Cell Down](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.general.down.svg)   Move Cell Down    | Moves the current cell down. |
| ![Run Cell and Select Below](https://resources.jetbrains.com.cn/help/img/idea/2026.2/python-jupyter.icons.com.jetbrains.python.jupyter.expui.runAndSelect.svg)   Run Cell and Select Below    | Executes this cell and selects a cell below. If there is no cell below, IntelliJ IDEA will create it. |
| ![Run All](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.actions.runAll.svg)   Run All    |  Executes all cells in the notebook.  |
| ![Restart Kernel](https://resources.jetbrains.com.cn/help/img/idea/2026.2/python-jupyter.icons.com.jetbrains.python.jupyter.expui.restartKernel.svg)   Restart Kernel    |  Click this icon to [restart the currently running                     kernel](configuring-jupyter-notebook.html#restart-kernel). |
| ![Clear All Outputs](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.actions.clearCash.svg)   Clear All Outputs    | Clears all outputs in the notebook. |
|  ![Create Gist](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.vcs.vendors.github.svg)   Create Gist    | Opens the [Create Gist](share-code-with-gists.html#create_gist) dialog. |
| ![Go To Cell](https://resources.jetbrains.com.cn/help/img/idea/2026.2/py_jupyter_go_to.png)  | Click this widget to navigate to the last executed cell. |
| ![Configure Jupyter Server](https://resources.jetbrains.com.cn/help/img/idea/2026.2/py_jupyter_servers.png)  | Shows the currently used Jupyter server. Click this widget and select `Configure Jupyter Server` to [set up](configuring-jupyter-notebook.html#setup-managed-server) another local or remote Jupyter server. |
| ![Open Jupyter Console](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.fileTypes.shell.svg)   Open Jupyter Console    | Opens the Jupyter Console tab of the [Jupyter                   tool window](#jupyter-tool-window). This button is enabled when you have started a Jupyter server for the current notebook. |
| Additional actions |
|  ![Cell type](https://resources.jetbrains.com.cn/help/img/idea/2026.2/py_jupyter_cell_type.png)   Cell Type Selector    | Shows the type of the selected cell. Click to choose a different type and convert the cell accordingly. |
| ![Delete Cell](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.general.delete.svg)   Delete Cell    | Deletes the current cell. |
| ![Debug Cell](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.run.debug.svg)   Debug Cell    | Starts debugging for the selected cell. |
| ![Select Cell Above](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.actions.findAndShowPrevMatches.svg)   Select Cell Above    | Selects the cell above. |
| ![Select Cell Below](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.actions.findAndShowNextMatches.svg)   Select Cell Below    | Selects the cell below. |
| ![Open Notebook in Browser](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.codeInsight.inlayGlobe.svg)   Open Notebook in Browser    | Opens the current notebook in a browser. |

> **Note:**
> To quickly access the [Jupyter General](jupyter.html) settings page, click ![](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.actions.more.svg) More on the notebook toolbar and select ![](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.general.settings.svg) Open Jupyter Settings...

### Cells

A cell contains a piece of either a code or Markdown text. When you run a code cell, you can view the cell output, which is the result of code execution:

![Code cell](https://resources.jetbrains.com.cn/help/img/idea/2026.2/py_codecell.png)

Each cell includes its own toolbar, providing quick access to essential actions. By default, it appears when you hover over a cell.

![Cell toolbar](https://resources.jetbrains.com.cn/help/img/idea/2026.2/py_cell_toolbar.png)

You can also make the toolbar always appear for the selected cell. To do that, go to `Settings | Jupyter | Jupyter General` and enable the Show the toolbar for the selected cell option.

For long cells, you can keep the toolbar visible in the upper-right corner of the editor while you scroll. For that, go to `Settings | Jupyter | Jupyter General` and select the Cell toolbar sticky checkbox.

![Cell toolbar settings](https://resources.jetbrains.com.cn/help/img/idea/2026.2/py_cell_toolbar_settings.png)

Cell toolbar consists of the following elements:

* Actions available directly on the toolbar.

* Additional actions in the context menu. To open the context menu, click ![More](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.actions.more.svg) on the cell toolbar.

The actions available on the toolbar and in the context menu vary depending on the type of cell:

Code Cell Toolbar:

| Item | Description |
| --- | --- |
| Toolbar actions |
|  ![AI Edit Cell](https://resources.jetbrains.com.cn/help/img/idea/2026.2/intellij.ml.llm.core.icons.aiAssistantColored.svg)AI Edit Cell  |  Get AI assistance for code suggestions or improvements.  |
|  ![Debug Cell](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.run.debug.svg) Debug Cell  |  Debug the code in the cell.  |
|  ![Delete Cell](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.general.delete.svg) Delete Cell  |  Remove the current cell.  |
| Context menu options |
| Run Above Cells | Run the cells above the current one. |
| Run Cell and Below | Run the current cell and the cells below. |
| Move Cell Up | Move the current cell up. |
| Move Cell Down | Move the current cell down. |
| Merge Cell Above | Merge a current cell with the cell above. |
| Merge Cell Below | Merge a current cell with the cell below. |
| Split Cell | Split a cell into two at the caret position. |
| Duplicate Cell Below | Duplicate the current cell and insert the copy below. |
| Copy Cell | Copy the cell and add it to the clipboard. |
| Cut Cell | Remove the cell and add it to the clipboard. |
| Convert Cell to Markdown | Change the type of the current cell to Markdown. |
| Convert Cell to SQL | Change the type of the current cell to SQL. |
| Add Cell Tag | Add a tag to organize or manage the cell. |
| Clear Output | Clear the output of the cell. |

Markdown cell toolbar:

| Item | Description |
| --- | --- |
| Toolbar actions |
|  ![AI Edit Cell](https://resources.jetbrains.com.cn/help/img/idea/2026.2/intellij.ml.llm.core.icons.aiAssistantColored.svg)AI Edit Cell  |  Get AI assistance for code suggestions or improvements.  |
|  ![Edit](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.general.edit.svg) Edit  |  Switch to [edit mode](editing-jupyter-notebook-files.html#edit-mode).  |
|  ![Run Section](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.gutter.run.svg) Run Section  |  Execute all cells within a Markdown section.  |
|  ![Delete Cell](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.general.delete.svg) Delete Cell  |  Remove the current cell.  |
| Context menu options |
| Add Cell Tag | Add a tag to organize or manage the cell. |
| Duplicate Cell Below | Duplicate the current cell and insert the copy below. |
| Move Cell Up | Move the current cell up. |
| Move Cell Down | Moves the current cell one down. |
| Copy Cell | Copy the cell and add it to the clipboard. |
| Cut Cell | Remove the cell and add it to the clipboard. |

Procedure: Customize cell toolbar

1. Press `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) to open settings and then select `Appearance & Behavior | Menus and Toolbars`.

Alternatively, click ![More](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.general.moreVertical.svg) on the toolbar and select Customize Cell Toolbar.

2. Add or remove actions under Customize Jupyter Cell Toolbar.

For more information, refer to [Menus and toolbars](customize-actions-menus-and-toolbars.html).

3. Click OK to apply the changes and close the window, or click Apply  to keep the window open.

### Jupyter tool window

Jupyter tool window appears when you have any of the Jupyter servers [launched](configuring-jupyter-notebook.html#run-notebook)  . The Server tab of this window shows the current state of the Jupyter server and the link to the notebook in a browser.

![Jupyter server tool window: the Server log tab](https://resources.jetbrains.com.cn/help/img/idea/2026.2/py_jupyter_tool_window.png)

It also provides controls to stop the running server (![Stop the server](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app.expui.run.stop.svg)) and launch the stopped server (![Run the server](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.gutter.run.svg)).

### Jupyter console

You can execute commands in a Jupyter Console:

Procedure:

1. Click ![Open Jupyter Console](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.fileTypes.shell.svg) Open Jupyter Console on the [notebook toolbar](#toolbar). This button is enabled when you have started a Jupyter server for the current notebook. You can open one console for each notebook file.

2. Type a command or a series of commands and press ![Execute Current Statement in One-Line Console](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.gutter.run.svg) on the console toolbar.

The Variables tab provides a detailed report about variable values of the executed cell. The tab automatically opens when you launch the Jupyter console.

![Jupyter tool window: the Variables tab](https://resources.jetbrains.com.cn/help/img/idea/2026.2/py_jupyter_variable_view.png)

### Jupyter Variables tool window

The Jupyter Variables tool window will appear each time you execute a cell. If you need to hide it permanently, go to `Settings | Jupyter | Jupyter General` and uncheck the Show Variables tool window on execution checkbox.

![Jupyter Variables tool window](https://resources.jetbrains.com.cn/help/img/idea/2026.2/py_jupyter_variables_tool_window.png)

Procedure:

In the Jupyter Variables tool window, you can view variable values and manage the list of variables:

* Click ![Refresh Variables](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.general.refresh.svg) Refresh Variables to refresh the list of variables without rerunning code cells.

![Refresh Variables](https://resources.jetbrains.com.cn/help/img/idea/2026.2/py_jupyter_variables_tool_window_refresh.png)

* To sort the variables by name or by type, click ![Sort By](https://resources.jetbrains.com.cn/help/img/idea/2026.2/app-client.expui.objectBrowser.sortAlphabetically.svg) Sort By and select the required option from the list

![Sort By](https://resources.jetbrains.com.cn/help/img/idea/2026.2/py_jupyter_variables_tool_window_sort.png)

## See also

### External Links

[Notebook support](http://nbviewer.ipython.org/github/ipython/ipython/blob/2.x/examples/Notebook/Index.ipynb) [Jupyter Hub](https://jupyterhub.readthedocs.io/en/latest/) [Running a notebook server](http://jupyter-notebook.readthedocs.io/en/latest/public_server.html)

