modernmagician.dev · Developer Tools
1 item
View rich, interactive notebook-aware diffs for .ipynb files directly on GitHub PRs and commits. # github_ipynb A Chrome extension that makes GitHub .ipynb diffs suck less. When viewing Jupyter Notebook changes in GitHub pull requests, GitHub normally shows massive raw JSON diffs that are painful to review. github_ipynb injects a notebook-aware diff viewer directly into GitHub so you can actually understand what changed. ## What it does - Detects .ipynb notebook diffs on GitHub PR pages - Adds a “View Notebook Diff” button to notebook files - Renders markdown cells as formatted markdown - Syntax highlights code cells - Shows added, removed, and modified cells clearly - Collapses notebook outputs by default to reduce noise - Runs entirely in the browser with no backend ## Why? Jupyter notebooks are great for experimentation and terrible for traditional git diffs. Even tiny notebook changes can generate unreadable JSON changesets full of metadata and output noise. This extension provides a cleaner review workflow directly inside GitHub. ## Current Limitations This is currently an MVP and focuses on: - Public GitHub repositories - Pull request notebook diffs - Browser-only rendering Cell matching is currently heuristic-based and may not perfectly detect moved cells or heavily reorganized notebooks. ## Open Source Source code: https://github.com/DavidBates/github_ipynb ## Privacy This extension does not collect analytics, tracking data, or personal information. All notebook parsing and rendering happens locally in your browser. ## Disclaimer This project is not affiliated with GitHub, Jupyter, ReviewNB, or nbdime.
May 29, 2026
rating_count is the Chrome Web Store ratings count, not a written-review count.
Media assets
Screenshots and videos on the listing.
Has promo video
Whether the listing includes at least one video.
Languages
Declared language locales.
Developer website
Listing exposes a developer website URL.
Contact email
Listing exposes a contact email.
Keyword in name
Case-insensitive substring match in the name.
Keyword in description
Case-insensitive substring match in the description.
Keyword occurrences in description
Count of case-insensitive occurrences in the description.
Category user-count percentile
Share of same-category extensions with fewer users (null if unknown).
These are transparent listing completeness / keyword signals, not a prediction of Chrome Web Store search ranking.