Tool
Chrome extension source viewer (CRX Viewer)
Browser extension and web page by Rob Wu for inspecting packaged browser extensions without installing them. On Chrome Web Store, Opera, Firefox, Thunderbird and Microsoft Edge add-on pages it adds a button that downloads the package as a zip or opens it in a viewer, and links to extension packages hosted elsewhere can be opened as well. The viewer reads CRX, NEX, XPI and ZIP files: it lists and filters files, searches content by string or regular expression, beautifies and syntax-highlights code, previews images, opens nested zips, shows per-file hashes and derives the extension ID from the package key, signature or manifest.
Requirements & limits
- Version 1.7.1, committed on 2026-09-01 as the reviewed master head, is the version in all three manifests: Manifest V3 builds for Chrome 88+ and Opera 74+, and a Manifest V2 build for Firefox 115+. The repository has no tags or releases; the README links the Chrome Web Store, Opera and addons.mozilla.org listings and an online demo page that opens local files or URLs.
- Store listings are the documented install route; the README gives no build instructions. make.js builds the Chrome, Opera, Firefox and web packages with shelljs and the less compiler from npm and zips them with 7z.
- The extension requests tabs, storage, context-menu, downloads and declarativeContent permissions and access to Google's CRX download endpoints, and asks for optional access to all sites before fetching packages hosted elsewhere. Its Firefox build routes addons.mozilla.org requests through services.addons.mozilla.org, a workaround the source documents for Firefox's restrictions on add-ons reading some Mozilla domains and still uses for non-public XPI files such as developer submissions.
- The viewer shows package contents as published: beautification only reformats code and does not reverse obfuscation. Downloaded extensions keep their authors' rights and store terms.
- MPL-2.0; bundled libraries such as zip.js, Prism, js-beautify and SparkMD5 keep their own licenses. Nothing was built or installed.
About this entry
- Type
- Tool
- Category
- Website analysis tools
- Relationship
- Foundation tool
- Targets
- Website
Sources reviewed
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · Rob--W/crxviewer · Revision c1a0a7f
- src/manifest.json GitHub · Rob--W/crxviewer · Revision c1a0a7f
- src/manifest_firefox.json GitHub · Rob--W/crxviewer · Revision c1a0a7f
- src/lib/crx-to-zip.js GitHub · Rob--W/crxviewer · Revision c1a0a7f
- src/crxviewer.js#L997-L1056 GitHub · Rob--W/crxviewer · Revision c1a0a7f
- src/domain-fronter.js GitHub · Rob--W/crxviewer · Revision c1a0a7f
- make.js GitHub · Rob--W/crxviewer · Revision c1a0a7f
- LICENSE GitHub · Rob--W/crxviewer · Revision c1a0a7f
More in Websites
- Dinosaur runner: recovering one acceleration rule · Case study
- rauchg.com: rebuilding an RSC blog from captured Flight output · Case study
- BaoCut Slides: adapting an interactive web editor · Case study
- REA in Claude Code: an isolated static-analysis A/B trial · Case study
- Dinosaur runner: an REA-inspected speed rule rebuilt with Codex · Case study
- Terminal: a Rust terminal informed by TradingView chart research · Case study