Skip to main content

JupyterLab VSCode Icons Extension

GitHub Actions npm version PyPI version Total PyPI downloads JupyterLab 4 Brought To You By KOLOMOLO Donate PayPal

A shameless, unapologetic, and utterly brazen ripoff of the excellent VSCode file icons for JupyterLab. Because why should VS Code users have all the fun?

This extension brings 1414 beautiful file type icons from the vscode-icons project directly into your JupyterLab file browser. We saw those pretty icons, we wanted them, and now you can have them too - no permission asked, no apologies given (well, we did use the MIT license, so it's all legally kosher)

Features

VSCode Icons in JupyterLab

  • 1414 file type icons covering virtually every language, framework, and config file you can think of
  • Automatic icon detection based on file extensions and names
  • Zero configuration required - just install and enjoy
  • Lightweight integration using Iconify's JSON icon format
  • Compatible with Jupytext - properly displays Python and Markdown icons for .py and .md notebook files; includes hotfix for jupytext 1.19.1 catch-all pattern bug that breaks standard file icons
  • Python package folder detection - folders declared in pyproject.toml or setup.py get a special Python package icon; a manifest is read only when the folder contains it
  • Fast in large folders - rows are painted once per screen frame, so a 5,000-file folder opens about as fast as it does without the extension
  • Symbolic link badges - a link to a file or folder carries a small square arrow badge on its row icon
  • Executable file badges - an optional group, off by default, that marks files with the execute bit
  • Document tab icons matching the file browser - an open file carries the same glyph on its tab as on its row, and an icon another extension registered is kept rather than replaced
  • Readable on both themes - a glyph that cannot be seen against the panel it sits on is given a thin outline, decided per theme and re-decided when the theme changes

Requirements

  • JupyterLab 4.0+
  • A sense of humor about intellectual property (kidding - it's MIT licensed)
  • Appreciation for pretty icons

Installation

pip install jupyterlab_vscode_icons_extension

That's it. Restart JupyterLab and watch your bland, iconless file browser transform into a colorful, VSCode-inspired masterpiece

Supported File Types

The extension recognizes hundreds of file types including:

  • Languages: Python, JavaScript, TypeScript, Java, C/C++, Rust, Go, Ruby, PHP, R, Julia, and many more
  • Web: HTML, CSS, SCSS, Vue, Svelte, React components
  • Data: JSON, YAML, CSV, XML, TOML
  • Documentation: Markdown, RST, PDF
  • Config: Dockerfile, .gitignore, .env, Makefile, package.json
  • Notebooks: Jupyter notebooks (.ipynb)

For the complete list of 1414 icons, see the vscode-icons project

Configuration

Customize which icon groups to display via JupyterLab Settings:

  1. Open JupyterLab Settings (Settings -> Settings Editor)
  2. Search for "VSCode Icons"
  3. Toggle icon groups on/off:
    • Programming Language Icons (Python, JS, TS, Java, C++, Rust, Go, etc.)
    • Web Development Icons (HTML, CSS, Vue, Svelte)
    • Data Format Icons (JSON, TOML, XML, CSV, ML models)
    • Configuration File Icons (Dockerfile, .gitignore, Makefile, package.json)
    • Documentation Icons (Markdown, RST, PDF)
    • Image File Icons (PNG, JPG, SVG)
    • Executable File Icons (play badge on files with the execute bit; off by default)

Changes require a page refresh to take effect.

Uninstallation

If you somehow tire of beautiful icons (we can't imagine why):

pip uninstall jupyterlab_vscode_icons_extension

Credits

This extension shamelessly borrows icons from the excellent vscode-icons project by Roberto Huertas. Icons are delivered via Iconify, because we believe in standing on the shoulders of giants.

All icon assets remain under their original licenses (MIT for code, CC BY-SA for branded icons). We just wrapped them in a JupyterLab extension and called it a day.

Custom Icons: A few icons (Python, Markdown, README) were hand-crafted in Inkscape - because sometimes you need that perfect shade of purple and the exact right amount of snake eyes.

Why This Exists

Because JupyterLab deserves pretty icons too. That's it. That's the whole justification

Contributing

If you would like to contribute to this extension, please refer to the Contributing Guide.

Metadata

Release files for jupyterlab-vscode-icons-extension 1.2.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jupyterlab-vscode-icons-extension 1.2.7
File Size Uploaded
jupyterlab_vscode_icons_extension-1.2.7.tar.gz 1.6 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for jupyterlab-vscode-icons-extension 1.2.7
File Interpreter ABI Platform
jupyterlab_vscode_icons_extension-1.2.7-py3-none-any.whl Python 3 none any Details

Total release size: 2.7 MB

Release files / jupyterlab_vscode_icons_extension-1.2.7.tar.gz

Download URL jupyterlab_vscode_icons_extension-1.2.7.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
477ba36ce133f49d128430ed7b0a68ea58d6bef1bd6b751c36addcc39d04298a
BLAKE2b-256 checksum
How to use checksums
80f53dd75f25b1b79f58c3c28a04c341b5f9a2e7e55687bfdff4656358de130c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / jupyterlab_vscode_icons_extension-1.2.7-py3-none-any.whl

Download URL jupyterlab_vscode_icons_extension-1.2.7-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
97bd922fa0c8c26c4319cbc2b42adb50eb5c9d2f804e4a4d6cac873765500bd1
BLAKE2b-256 checksum
How to use checksums
65663f0f23492ebceb6eba28eda9bdf3dbaea3813a3c90f09bf49229fa914b04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release history Release notifications | RSS feed

This release

1.2.7 This release

2 release files

1.2.6

2 release files

1.2.2

2 release files

1.1.99

2 release files

1.1.97

2 release files

1.1.90

2 release files

1.1.89

2 release files

1.1.86

2 release files

1.1.85

2 release files

1.1.80

2 release files

1.1.72

2 release files

1.1.71

2 release files

1.1.70

2 release files

1.1.69

2 release files

1.1.68

2 release files

1.1.67

2 release files

1.1.66

2 release files

1.1.65

2 release files

1.1.64

2 release files

1.1.63

2 release files

1.1.62

2 release files

1.1.61

2 release files

1.1.59

2 release files

1.1.58

2 release files

1.1.57

2 release files

1.1.56

2 release files

1.1.55

2 release files

1.1.53

2 release files

1.1.52

2 release files

1.1.50

2 release files

1.1.49

2 release files

1.1.48

2 release files

1.1.45

2 release files

1.1.40

2 release files

1.1.39

2 release files

1.1.38

2 release files

1.1.29

2 release files

1.1.27

2 release files

1.1.22

2 release files

1.1.14

2 release files

1.1.8

2 release files

1.1.6

2 release files

1.0.99

2 release files

1.0.98

2 release files

1.0.95

2 release files

1.0.92

2 release files

1.0.90

2 release files

1.0.86

2 release files

1.0.84

2 release files

1.0.81

2 release files

1.0.77

2 release files

1.0.70

2 release files

1.0.69

2 release files

1.0.65

2 release files

1.0.64

2 release files

1.0.63

2 release files

1.0.62

2 release files

1.0.60

2 release files

1.0.58

2 release files

1.0.55

2 release files

1.0.52

2 release files

1.0.49

2 release files

1.0.48

2 release files

1.0.46

2 release files

1.0.44

2 release files

1.0.43

2 release files

1.0.38

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page