Available now.txt

IPYNB requirements.txt

Scan imports and !pip install lines, deduplicate them, and download a clean requirements.txt with the right PyPI names so a colleague can pip install in one shot.

Free, instant, and 100% private, your notebook never leaves the browser.

How it works

Three steps from upload to download

1

Drop your notebook

Drag a .ipynb onto the card or browse your files. You never create an account.

2

Choose the export

Select Word, PDF, Markdown, HTML, LaTeX, ZIP, Python tools, viewer, cleaner, merger, or splitter, whatever matches your reviewer.

3

Download and ship

Grab the finished file immediately. Open it locally, attach it to email, or upload it to your LMS.

Try our other free tools

requirements.txt extractor: turn a Jupyter notebook into pip dependencies in seconds

This requirements.txt extractor reads a .ipynb file, scans every code cell for imports and shell-magic install lines, and writes a clean requirements.txt you can hand to pip install -r. Drop the notebook in the browser and the file appears below; nothing leaves your machine. The tool covers the boring case people actually hit: someone shared a notebook, you want to run it locally, and you do not have time to read all the imports by hand.

Pure Python parsers tend to miss a few things. The extractor handles import x, import a, b, import a as b, from x.y import z, and shell magics like !pip install pandas, %pip install requests==2.31, and !conda install -y numpy. Standard-library modules drop out so you do not pin os or json by mistake. The well-known import-name aliases, cv2 to opencv-python, sklearn to scikit-learn, PIL to Pillow, bs4 to beautifulsoup4, yaml to PyYAML, dotenv to python-dotenv, map to their real PyPI names so pip install -r actually works.

Compared to running pipreqs locally, this page is faster when you only have one notebook to inspect, when the project is not on disk yet, or when you want to share a starter requirements.txt with a teammate before you create a virtual environment. It is also a useful sanity check after pipreqs: drop the same notebook here, eyeball the list, and adjust pins before you push.

The defaults give you a list pinned only where the notebook itself pinned things (via !pip install pandas==2.2.1). Turn off Map import names if you would rather see the raw module names. Turn off Sort to keep the order in which the imports appear. Turn off Header to skip the comment block at the top when you want a strict, machine-readable file.

What this requirements.txt extractor catches

Reads imports, magics, and pinned installs

Detects top-level import and from … import statements as well as !pip install, %pip install, !conda install, and !mamba install lines. Pinned versions written into the notebook carry through to the output.

Maps import names to PyPI names

Knows the common surprises, cv2 becomes opencv-python, sklearn becomes scikit-learn, PIL becomes Pillow, bs4 becomes beautifulsoup4, yaml becomes PyYAML, so pip install -r succeeds the first time.

Drops the standard library

Modules shipped with CPython (os, json, pathlib, typing, …) are filtered out by default so the requirements file lists what pip actually needs to fetch.

Sort, dedupe, and pin

Duplicates collapse to one entry per package, the list sorts alphabetically, and pins from inline !pip install pkg==1.2 lines are preserved when you keep the option on.

Stays in your browser

Notebook parsing and the requirements export happen client-side. No notebook contents are sent to a server during extraction.

Friendly header you can keep or strip

By default the file starts with a short comment reminding the reader to review pins before shipping. Toggle Header off when you need a bare list for tooling.

Frequently asked questions about extracting requirements

Open this requirements.txt extractor, upload the .ipynb, and download the generated file. The list contains every imported third-party package the notebook needs, ready for pip install -r requirements.txt.