Any repo. One notebook.

Turn a project folder into a GPU-ready Kaggle or Colab notebook. No CLI, no clone step, no account.

Choose a folder

Pick a project folder, or drop it here. A .zip works too.

works fully offline... your code never has to leave this tab

notebooks open directly on Kaggle and Colab

From folder to notebook

Three things happen between picking a folder and downloading the file. All of them are visible to you.

01

Smart filtering

node_modules, virtualenvs, caches, checkpoints and datasets never make it into your notebook. Your .gitignore is respected too: and a .repo2nbignore can override any default.

tree preview

src/train.py

requirements.txt

node_modules/react/index.js dependency folder

checkpoints/last.ckpt model checkpoint

02

Review every byte

The tree preview shows what's in and what's out: with live size budgeting so you never hit an upload wall mid-task. Toggle anything; large files are unchecked for review by default.

size budget

1.9 MB / 4 MB ▮▮▮▮▮▯▯▯▯▯

largest included:

src/model.py48.2 KB

03

.repo2nbignore support

Same syntax you already know from .gitignore: drop one in your project root to change repo2nb's defaults for everyone who converts that repo. Or export your session tweaks as one when you're done.

.repo2nbignore
# keep one checkpoint
!checkpoints/final.ckpt
# skip noisy logs
docs/drafts/

Questions

No. Your files exist only in the request body and process memory for the duration of a single conversion call. Nothing is written to disk, nothing is kept, and there is no account system because there is nothing to attach your files to.

Dependency folders (node_modules, .venv), caches, build artifacts, model checkpoints, datasets and other large binaries: plus whatever your project's .gitignore excludes. Every rule is listed on the Filters page, and each excluded file shows its reason right in the tree.

That's the point. You pick a folder from your own machine: repo2nb never sees a repo URL and has no way to reach into anything you didn't explicitly hand it.

Direct conversion is capped at 4 MB of filtered content so the tool stays fast for everyone. Datasets and model weights should be attached on Kaggle/Colab directly anyway: exclude them and let the notebook fetch or reference them.

Yes: pick the target before generating. The notebook's first cells contain step-by-step setup instructions for that platform, including how to enable GPU acceleration.