OneNote Viewer is a native Linux desktop application for opening, indexing, and
searching local Microsoft OneNote notebooks while preserving their freeform page
layout. It reads native OneNote data directly and imports .onepkg notebook
exports instead of converting pages to HTML, Markdown, PDF, or another linear
format.
Flatpak is the primary release channel.
- Download OneNote Viewer 0.3.0.
- Open the downloaded file with your software center and install it.
Alternatively, install it from a terminal opened in the download folder:
flatpak install --user --or-update ./OneNoteViewer-0.3.0-linux-x86_64.flatpakStart OneNote Viewer from the desktop application menu. Flatpak and the Flathub repository must already be configured; the installation guide covers that setup, checksum verification, updates, removal, and the AppImage alternative.
- Reconstructs positioned and overlapping rich text, lists, tables, images, printouts, and OfficeMath equations on the freeform page canvas.
- Imports complete
.onepkgnotebook exports through a guided, validated, on-disk process with progress and cancellation. - Opens manifest-free OneNote backup folders as one reconstructed notebook, preserving nested directories as section groups and selecting the latest dated copy of each section by default.
- Keeps multiple notebooks open in one workspace with nested section groups, collapsible navigation, scoped search, complete result paths, and indexing of page titles and stored content.
- Finds text within the current page with wrapping navigation, match counts, highlighting, and case, whole-word, and diacritic options.
- Searches OneNote's stored image alternative and recognition text.
- Preserves explicit OneNote links, optionally recognizes visible URLs and email addresses, and resolves internal page links across open notebooks.
- Displays stored attachment icons and previews, and can save or open the original files through the desktop with progress and cancellation.
- Restores the workspace, last viewed page, navigation expansion, and collapsed panes; remembers the zoom level; and provides persistent light, dark, and system theme choices.
- Provides Back and Forward history across notebooks, search results, and
internal links through the application menu,
Alt+Left/Alt+Right, and mouse navigation buttons.
Use Open Notebook Folder... for a locally copied OneNote notebook directory,
or Open OneNote File... for a standalone .one section. Use Open OneNote
Backup Folder... when a desktop backup contains dated .one section copies
but no usable notebook table of contents. The backup opens as one notebook;
folders become nested section groups, while the application menu can refresh
the source or show every backup copy.
Additional notebook directories join the same searchable workspace without being moved. Notebook and backup folders placed under the configurable default notebooks location open automatically on the next launch.
A .onepkg file is a convenient single-file export of a complete notebook.
OneNote Viewer imports it once into a normal notebook folder, validates the
result, and then opens that folder like any other notebook. The original package
is not modified, and normal viewing does not depend on the extractor afterward.
Full-notebook package export is available in OneNote desktop for Windows:
- Open the notebook and allow OneNote to finish synchronizing it.
- Choose File > Export.
- Under Export Current, choose Notebook.
- Choose OneNote Package (
*.onepkg) as the format. - Select Export and save the package to a local folder.
Microsoft documents notebook export as a Windows desktop capability in its OneNote data-protection and recovery overview. The OneNote for the web download workflow is different and is limited by Microsoft to notebooks stored in personal OneDrive accounts.
- Open the application menu and choose Import OneNote Package....
- Select the
.onepkgfile. - Review the destination notebook folder. It is created under the configured default notebooks location unless Change Location selects another parent.
- Select Import. The progress display reports extraction and validation; the operation can be cancelled before publication completes.
Flatpak and AppImage releases include the required 7zz extractor, so package
import does not depend on a separately installed host tool.
Two missing capabilities currently prevent a 1.0 release:
- rendering hand-drawn ink strokes (issue #6);
- selecting and copying text from the freeform page body (issue #8).
See known limitations for stable product boundaries. Current bugs, compatibility gaps, and planned improvements are tracked in GitHub issues.
Start with the master plan. It is the canonical entry point for project scope, deliverables, current status, execution order, and document authority. The supporting documents are:
- Documentation map
- Technology decision
- Product requirements
- System architecture
- ONEPKG extraction decision
- Reusable component decision
- OneNote parsing profile
- Public integration API
- Persisted feature inventory
- Known limitations
- Installation guide
- Packaging and release guide
- Roadmap and acceptance gates
- Reference provenance
OneNote Viewer is practical for everyday use. The project owner uses it to
access, search, and read 15 years of personal notes. Native notebook loading,
freeform rendering, multi-notebook navigation and search, .onepkg import,
attachments, links, workspace restoration, and portable Linux packages are all
working today.
Compatibility is exercised with private notebooks created across OneNote 2010 through modern Microsoft 365 and OneNote for the web. Those notebooks are not committed to the repository. The remaining 1.0 blockers are hand-drawn ink rendering and freeform page text selection/copy; other current work is tracked in GitHub issues.
Native parsing, UI-neutral page-scene construction, GTK rendering, and search
live behind documented component boundaries. Other note-taking and
knowledge-management applications can render .one sections or query relevant
pages without adopting the complete desktop application.
The code is a modular Cargo workspace:
crates/
onenote-core/ Read-only domain model and parser adapter
onenote-render/ UI-neutral page layout and retained scene
onenote-render-gtk/ Embeddable GTK4 OneNote page widget
onenote-index/ Rebuildable index and public query API
onenote-viewer/ GTK4 desktop application/composition root
docs/ Architecture, decisions, specifications, and plans
packaging/ Flatpak and distribution metadata
scripts/ Reproducible maintenance and validation commands
See the repository layout for ownership rules and dependency direction.
Ubuntu 24.04 development requires Rust 1.85.1 and the GTK 4.14 development stack:
sudo apt update
sudo apt install build-essential pkg-config libgtk-4-dev
./scripts/check-system-deps.sh
cargo run -p onenote-viewer -- /path/to/notebook
cargo test --workspace --all-targetslibgtk-4-dev supplies the required Graphene, Pango, Cairo, GDK, and GSK
development metadata. An unset PKG_CONFIG_PATH is normal for distribution
packages. The standalone reusable renderer can be exercised with:
cargo run -p onenote-render-gtk --example standalone -- /path/to/section.oneSee the packaging and release guide for local artifact builds and the tagged GitHub release workflow.
Notebook files are untrusted input. Current code canonicalizes sources, applies projection and payload limits, decodes images lazily with allocation ceilings, validates package paths, stages extraction privately, and publishes packages atomically. It never writes notebook sources. The SQLite index is disposable derived data under the user's XDG cache directory. Remaining hostile-input and external-action work is tracked explicitly rather than implied complete.
OneNote Viewer is free software licensed under the GNU General Public License, version 3 or later.
The pinned OneNote parser and retained parser source remain available under MPL-2.0 and are additionally distributed under GPL-3.0-or-later as part of the combined application under MPL 2.0 section 3.3. Lucide and Feather-derived icons retain their ISC/MIT terms. Microsoft reference documents are not covered by the project GPL and retain their embedded terms. See third-party notices, the generated dependency license report, and corresponding-source information.
Microsoft, Microsoft 365, OneNote, and Windows are trademarks of the Microsoft group of companies. OneNote Viewer is an independent project and is not affiliated with, endorsed by, sponsored by, or otherwise associated with Microsoft. See Microsoft's Trademark and Brand Guidelines.

