Skip to main content

Search OfficeIMO

Enter a topic, API type, or PowerShell command.

Offline OneNote engine

OfficeIMO.OneNote

Read, create, edit, and write native OneNote sections, notebooks, tables of contents, and packages offline. Compare packages, examples, and limits.

MIT licensed No Office required Cross-platform .NET
Install dotnet add package OfficeIMO.OneNote

Start with a working example

Find the input, generated output, and source for the document workflow you need.

Browse document examples →

Native OneNote files without Graph or OneNote

OfficeIMO.OneNote works with desktop and FSSHTTP .one files, .onetoc2 notebook tables of contents, .onepkg exports, and notebook directories. Both OneNote encodings project into the same typed model.

using OfficeIMO.OneNote;

OneNoteSection section = OneNoteSectionReader.Read("Projects.one");
OneNotePage page = section.Pages[0];
var paragraph = new OneNoteParagraph();
paragraph.Runs.Add(new OneNoteTextRun { Text = "Validated offline" });
page.DirectContent.Add(paragraph);
section.Save("Projects-updated.one");

From notebook storage to useful output

PackageRole
OfficeIMO.OneNoteNative storage, revisions, pages, content, notebook structure, and writing
OfficeIMO.OneNote.MarkdownShared semantic projection for text, lists, tables, links, assets, math, and conflicts
OfficeIMO.OneNote.HtmlResponsive semantic HTML and position-preserving visual HTML
OfficeIMO.OneNote.PdfSemantic or position-preserving PDF output
OfficeIMO.Reader.OneNoteNormalized extraction and chunking through OfficeIMO.Reader

File-format operations remain local and managed. Microsoft Graph, a OneNote installation, COM automation, and commercial SDKs are not required.

Same engine, other surfaces

Use OfficeIMO another way

Next step

Turn the package into a working document.

Follow a focused guide and inspect the API reference for this package.

Example source

Download source