Repo of the Day
Arelle/ixbrl-viewer
Published: Sep 3, 2025
Open repository ↗The Arelle iXBRL Viewer allows Inline XBRL (or iXBRL) reports to be viewed interactively in a web browser. The viewer allows users to access the tagged XBRL data embedded in an iXBRL report.
Summary
The Arelle iXBRL Viewer turns Inline XBRL (iXBRL) reports into interactive documents that can be opened in a browser to inspect the tagged XBRL facts. It is a two-part project: an Arelle plugin that prepares iXBRL files with a JSON data block plus a link to the viewer, and a single JavaScript file, ixbrlviewer.js, that renders the UI. The README lists the project as Apache License 2.0, though the repository metadata shows NOASSERTION.
What it is useful for
- Reviewing iXBRL filings directly in a browser, including iXBRL document sets loaded as multiple tabs in one viewer.
- Searching tagged facts by taxonomy labels and references, viewing full fact details, and exporting tables to Excel.
- Visualizing calculation relationships and producing on-the-fly graphs from XBRL data.
- Working with very large or partially tagged reports: the "stub viewer" mode keeps the iXBRL file unchanged and emits a small HTML shell with the JSON block, while Review Mode highlights untagged numbers and dates for cleanup work.
- Producing a self-contained, standalone HTML file that does not need online taxonomy access, since the JSON is embedded in the document.
How engineers can use it
- Install Arelle separately and clone the repository (the Python portion targets Python 3.14). Load the plugin by pointing Arelle's plugin manager at
iXBRLViewerPlugin/__init__.py, or run the CLI documented in the README:python3 Arelle/arelleCmdLine.py --plugins=<path to iXBRLViewerPlugin> -f ixbrl-report.html --save-viewer ixbrl-report-viewer.html --viewer-url https://cdn.jsdelivr.net/npm/ixbrl-viewer@<version>/iXBRLViewerPlugin/viewer/dist/ixbrlviewer.js - Choose a viewer URL: the jsDelivr CDN, a file from a GitHub release asset, or a locally built
ixbrlviewer.js. - To build the JS locally, run
npm install, thennpm run font, thennpm run prodfrom the repository root; output lands iniXBRLViewerPlugin/viewer/dist/ixbrlviewer.js. - Open the prepared file in Chrome. The README flags a documented limitation: stub-viewer output and document sets cannot be loaded from
file://URLs due to browser security restrictions, so serve them over HTTP. - Toggle features at generation (
--viewer-feature-review) or at runtime (?review=true); drop anixbrlviewer.config.jsonnext toixbrlviewer.jsto set feature defaults, skin, or taxonomy name mappings. The JSON metadata format is versioned: the JS viewer must share the major version, and same-or-later minor version, of the plugin that produced it.