NoteHighlight2016: syntax highlighting for OneNote 2016 and OneNote for O365
Source code syntax highlighting for OneNote 2016 and OneNote for O365 . NoteHighlight 2013 port for OneNote 2016 (32-bit and 64-bit)
At a glance
- What is it?
- A C# add-in that puts a language menu in the OneNote ribbon and routes selected text through the highlight engine. It is a Windows and MSI story, with a real 32-bit versus 64-bit trap.
- Who is it for?
- Adopt NoteHighlight2016 if you keep code inside OneNote 2016 or OneNote for O365 on Windows and want highlighted snippets without leaving the page. Do not adopt it if you work in OneNote on the web, on macOS, or if you need a maintained pipeline that formats code outside OneNote.
- Can I use it commercially?
- Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 100 days ago.
- What is it written in?
- Mainly C#, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The gap NoteHighlight2016 fills in OneNote
OneNote stores rich text, images and tables well, and source code badly. Paste a function into a page and it arrives as monospaced or proportional prose with no token colours, no line numbers and no consistent background. NoteHighlight2016 exists to close that gap inside OneNote itself rather than in an external editor.
The audience is narrow and specific: people running OneNote 2016 or OneNote for O365 on Windows who keep technical notes, code reviews or teaching material in notebooks. The README states the add-in is based on NoteHighlight 2013 and on VanillaAddIn from the OneNoteDev organisation, and that the highlighting itself is performed by the highlight engine at gitlab.com/saalen/highlight. That lineage explains the shape of the project: it is a port and an integration, not a new highlighter.
If your notes live in OneNote on the web, in the Store version of OneNote, or on macOS, this project is not aimed at you. The install path is a Windows MSI, and the whole interaction model is a ribbon menu that only exists in the desktop add-in host.
How the add-in moves text from the page to the highlighter
The repository layout is the clearest description of the architecture. NoteHighlightAddin/ holds the add-in itself, GenerateHighlightContent/ is where the highlighted output is produced, Helper/ holds shared code, and Setup/ plus SetupX86/ hold the two installer projects. UnitTesting/ sits alongside them, and the solution file NoteHighlight2016.sln ties the projects together.
The data flow follows the usage instructions. You select a language from the ribbon menu, a form opens, you paste or type source code into it and confirm. The add-in takes that text, hands it to the highlight engine, and writes the formatted result back into the page. The same path runs in reverse for editing: select text or a formatted code box, pick a language from the menu, and the form reopens with the selected text so you can change it or reformat it under a different language.
Two consequences follow from that design. First, the formatted snippet is content in the notebook, not a live pointer to a file, so it does not update when the original source changes. Second, because formatting is applied to a selection, the README notes you can select a whole note or only part of one, and that if part of a note is already formatted you can select the whole source code box. That is a manual, selection-driven model, and it is the main reason the add-in stays simple.
Installing NoteHighlight2016 and formatting a first snippet
There is no build step for users. The README says to install by running the MSI file from the releases page, and the choice between the two installers is the only decision that matters at this stage.
# Office 64-bit
NoteHighlight2016.msi
# Office 32-bit
NoteHighlight2016x86.msiUse NoteHighlight2016.msi for 64-bit Office and NoteHighlight2016x86.msi for 32-bit Office. The README links to a Microsoft support article on checking which Office version you have, and this is worth doing before you double-click anything, because the wrong installer is the most likely reason the add-in never appears.
Once installed, open OneNote and look for the NoteHighlight menu. To add a snippet, select a language from that menu, type or paste the code into the pop-up window, and press OK. The README states the highlighted source code then shows up on the page. To reformat something you already wrote, select the text first, then choose the language from the menu; the form opens pre-filled with the selection, and you edit or change formatting the same way as for new code.
If the menu does not appear after installation, the README points to a specific issue thread titled Not showing after install. That is the documented first stop, and it is honest of the project to say so rather than pretend the install is uniformly clean.
Adding languages and themes, and where the add-in stops
The ribbon does not ship every language the highlight engine supports. The README describes a settings dialog with two operations: select a language from the list and click Remove to take it off the ribbon, or choose a language from the drop-down picker and click Add to put it on. Both changes require restarting OneNote to apply. The v3.9 release is titled Feature to add new languages, which matches that workflow.
Themes are handled differently. The README points to a Theme Samples document under the img directory rather than describing a theme picker in the settings dialog. If your goal is a particular colour scheme, look at those samples before assuming the add-in will match your editor. Dark mode arrived in v3.7, released on 2021-02-09, and v3.8 is described as Install for Win 11 and M365 Office, released on 2026-06-19.
The limits are structural. This is a Windows desktop add-in, so it does nothing for OneNote on the web or on macOS. It formats a copy of your code into the page rather than linking to a file, so there is no synchronisation back to a repository. And the output is OneNote rich text, which means you cannot export a snippet to HTML or a Markdown fence from inside the add-in; whatever the highlight engine produced is what the page holds. For a notebook that is the point. For a documentation pipeline, it is the wrong layer.
NoteHighlight2016 compared with Onetastic and external highlighting
Onetastic is the other name that comes up around OneNote customisation, and the difference in approach is worth stating plainly. Onetastic is a macro and add-in platform for OneNote with its own macro language and a library of published macros, so its scope is general notebook automation. NoteHighlight2016 does one thing: it takes a selection, runs it through a syntax highlighter, and writes the coloured result back. If you want to batch-rename sections or generate a table of contents, Onetastic is the tool that addresses that; NoteHighlight2016 does not attempt it.
The second alternative is not a OneNote add-in at all. Generate the highlighted HTML or RTF in an editor or a command-line highlighter, then paste the rendered result into the page. That path gives you the full language list and theme set of whatever external tool you use, and it keeps working on OneNote for the web and on macOS. What you give up is the ribbon workflow: no language menu, no form pre-filled with your selection, and no reformatting of an existing code box in place. Choosing between the two is really a question of whether you edit code inside OneNote often enough to want the menu there.
Maintenance, licence and what the repository does not settle
The last push was on 2026-06-22, and the most recent release, v3.9, is dated the same day. v3.8 came three days earlier on 2026-06-19. The gap before that is large: v3.7 is dated 2021-02-09. So the project has a long quiet period followed by a burst of installer and language work in June 2026. Read the release history that way rather than assuming a steady cadence.
The licence is GPL-2.0, per the repository's License.md. For an end user installing an MSI, that is mostly a distribution question rather than a day-to-day one. It matters if you plan to bundle the add-in with something else, modify it, or ship it inside a company image; GPL-2.0 has obligations that attach to distribution, and the specifics are for your own legal review, not something this article can settle. The add-in also depends on the highlight engine at gitlab.com/saalen/highlight, which is a separate project with its own licence, and the README does not describe how the two licences interact.
Two things the README does not document: rollback or uninstall steps, and any upgrade path between MSI versions. If you are deploying this across machines, verify both yourself before you commit to it, because the documentation is silent on them.
Editorial conclusion
Adopt NoteHighlight2016 if you keep code inside OneNote 2016 or OneNote for O365 on Windows and want highlighted snippets without leaving the page. Do not adopt it if you work in OneNote on the web, on macOS, or if you need a maintained pipeline that formats code outside OneNote. Before installing, verify whether your Office is 32-bit or 64-bit so you pick NoteHighlight2016.msi or NoteHighlight2016x86.msi, and check the repository's img/Theme Samples directory to see which theme output you actually want.
Frequently asked questions
How do you highlight on OneNote?
With NoteHighlight2016 installed, select a language from the NoteHighlight menu, enter the source code in the pop-up window and press OK. The README states the highlighted source code then shows up in the page.
Can you put code in OneNote?
Yes. NoteHighlight2016 lets you enter source code in a pop-up window and writes the highlighted result into the page, and you can select existing text or a whole formatted code box to reformat it later.
How to color code in OneNote?
NoteHighlight2016 applies syntax colouring to a selection by running it through the highlight engine, and the README points to a Theme Samples document under the img directory so you can see which colour schemes the output uses.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/elvirbrk-notehighlight2016)