OneNote ZIP-file import not working

Operating system

Linux

Joplin version

3.4.12

Desktop version info

Joplin 3.4.12 (prod, linux)

Gerät: linux, Intel(R) Core(TM) i5-7300U CPU @ 2.60GHz
Client-ID: 1a6287bf5ea34390a326c156ab42f461
Sync-Version: 3
Profil-Version: 48
Unterstützter Schlüsselbund: Nein
Alternative Instanz ID: -

Revision: e9a9f68

Backup: 1.4.3
Freehand Drawing: 3.1.0

What issue do you have?

Hello,

Unfortunately I face an issue with importing OneNote export to Joplin which stops me from start working with Joplin.

Observation

  • OneNote ZIP-file is extracted to /home/user/.config/joplin-desktop/tmp
  • 2nd folder created there during this process stays empty
  • Hence also no content is imported to Joplin

from log.txt

2025-10-07 23:24:04: InteropService_Importer_OneNote: Unzipping files...
2025-10-07 23:24:04: InteropService_Importer_OneNote: Extracting OneNote to HTML
2025-10-07 23:24:04: InteropService_Importer_OneNote: Extracting SVGs into files
2025-10-07 23:24:04: InteropService_Importer_OneNote: Importing HTML into Joplin
2025-10-07 23:24:04: InteropService_Importer_OneNote: Finished

Question

Anybody aware of a workaround or an expected fix date?

Regards,
cgoffline

Thank you for reporting this!

I'm linking to two in-progress or unreleased OneNote importer-related changes that may be related:

Certain OneNote importer warnings are currently not included in log.txt (they don't use Joplin's logger utility) and only appear in the "Console" tab of the developer tools. It's possible to open the developer tools using the "Toggle development tools" option in the "Help" menu.

This pull request, if merged, should also help debug OneNote import failures.

Thanks @personalizedrefriger

Looks like I’ll be waiting for v3.5.

I downloaded the ZIPs using the export function in onenote.com

Thanks for hint with the console - that’s what’s inside. I am not sure if this relates to the bug fix.

Logger.ts:317 20:25:55: InteropService_Importer_OneNote: Unzipping files...Logger.ts:317 20:25:55: InteropService_Importer_OneNote: Extracting OneNote to HTML0051c21e:0xdda1d panicked at src/lib.rs:26:9:called Option::unwrap() on a None value
Stack:
Errorat module.exports.__wbg_new_8a6f238a6ece86ea (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:264:17)at wasm://wasm/0051c21e:wasm-function[1044]:0xdd952at wasm://wasm/0051c21e:wasm-function[517]:0xcba28at wasm://wasm/0051c21e:wasm-function[851]:0xda413at wasm://wasm/0051c21e:wasm-function[779]:0xd871cat wasm://wasm/0051c21e:wasm-function[979]:0xdbb06at wasm://wasm/0051c21e:wasm-function[39]:0x1bba3at module.exports.oneNoteConverter (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193:10)at Skt.exec (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:3229:11532)at async e.import (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:3229:19391)
module.exports.__wbg_error_7534b8e9a36f1ab4 @ /tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:217$func1044 @ 0051c21e:0xdda1d$func517 @ 0051c21e:0xcba28$func851 @ 0051c21e:0xda413$func779 @ 0051c21e:0xd871c$func979 @ 0051c21e:0xdbb06$oneNoteConverter @ 0051c21e:0x1bba3module.exports.oneNoteConverter @ /tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193exec @ InteropService_Importer_OneNote.ts:67InteropService_Importer_OneNote.ts:69 RuntimeError: unreachableat 0051c21e:0xcba4eat 0051c21e:0xda413at 0051c21e:0xd871cat 0051c21e:0xdbb06at 0051c21e:0x1bba3at module.exports.oneNoteConverter (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193:10)at Skt.exec (InteropService_Importer_OneNote.ts:67:11)at async e.import (InteropService.ts:332:12)at async Object.current (MenuBar.tsx:353:19)exec @ InteropService_Importer_OneNote.ts:690051c21e:0xdda1d panicked at library/std/src/panicking.rs:144:9:cannot modify the panic hook from a panicking thread
Stack:
Errorat module.exports.__wbg_new_8a6f238a6ece86ea (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:264:17)at wasm://wasm/0051c21e:wasm-function[1044]:0xdd952at wasm://wasm/0051c21e:wasm-function[517]:0xcba28at wasm://wasm/0051c21e:wasm-function[851]:0xda413at wasm://wasm/0051c21e:wasm-function[580]:0xcea65at wasm://wasm/0051c21e:wasm-function[39]:0x1939bat module.exports.oneNoteConverter (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193:10)at Skt.exec (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:3229:11532)at async e.import (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:3229:19391)at async Object.current (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:5814:183)
module.exports.__wbg_error_7534b8e9a36f1ab4 @ /tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:217$func1044 @ 0051c21e:0xdda1d$func517 @ 0051c21e:0xcba28$func851 @ 0051c21e:0xda413$func580 @ 0051c21e:0xcea65$oneNoteConverter @ 0051c21e:0x1939bmodule.exports.oneNoteConverter @ /tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193exec @ InteropService_Importer_OneNote.ts:67InteropService_Importer_OneNote.ts:69 RuntimeError: unreachableat 0051c21e:0xcba4eat 0051c21e:0xda413at 0051c21e:0xcea65at 0051c21e:0x1939bat module.exports.oneNoteConverter (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193:10)at Skt.exec (InteropService_Importer_OneNote.ts:67:11)at async e.import (InteropService.ts:332:12)at async Object.current (MenuBar.tsx:353:19)exec @ InteropService_Importer_OneNote.ts:690051c21e:0xdda1d panicked at library/std/src/panicking.rs:144:9:cannot modify the panic hook from a panicking thread
Stack:
Errorat module.exports.__wbg_new_8a6f238a6ece86ea (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:264:17)at wasm://wasm/0051c21e:wasm-function[1044]:0xdd952at wasm://wasm/0051c21e:wasm-function[517]:0xcba28at wasm://wasm/0051c21e:wasm-function[851]:0xda413at wasm://wasm/0051c21e:wasm-function[580]:0xcea65at wasm://wasm/0051c21e:wasm-function[39]:0x1939bat module.exports.oneNoteConverter (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193:10)at Skt.exec (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:3229:11532)at async e.import (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:3229:19391)at async Object.current (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:5814:183)
module.exports.__wbg_error_7534b8e9a36f1ab4 @ /tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:217$func1044 @ 0051c21e:0xdda1d$func517 @ 0051c21e:0xcba28$func851 @ 0051c21e:0xda413$func580 @ 0051c21e:0xcea65$oneNoteConverter @ 0051c21e:0x1939bmodule.exports.oneNoteConverter @ /tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193exec @ InteropService_Importer_OneNote.ts:67InteropService_Importer_OneNote.ts:69 RuntimeError: unreachableat 0051c21e:0xcba4eat 0051c21e:0xda413at 0051c21e:0xcea65at 0051c21e:0x1939bat module.exports.oneNoteConverter (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193:10)at Skt.exec (InteropService_Importer_OneNote.ts:67:11)at async e.import (InteropService.ts:332:12)at async Object.current (MenuBar.tsx:353:19)exec @ InteropService_Importer_OneNote.ts:690051c21e:0xdda1d panicked at library/std/src/panicking.rs:144:9:cannot modify the panic hook from a panicking thread
Stack:
Errorat module.exports.__wbg_new_8a6f238a6ece86ea (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:264:17)at wasm://wasm/0051c21e:wasm-function[1044]:0xdd952at wasm://wasm/0051c21e:wasm-function[517]:0xcba28at wasm://wasm/0051c21e:wasm-function[851]:0xda413at wasm://wasm/0051c21e:wasm-function[580]:0xcea65at wasm://wasm/0051c21e:wasm-function[39]:0x1939bat module.exports.oneNoteConverter (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193:10)at Skt.exec (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:3229:11532)at async e.import (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:3229:19391)at async Object.current (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:5814:183)
module.exports.__wbg_error_7534b8e9a36f1ab4 @ /tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:217$func1044 @ 0051c21e:0xdda1d$func517 @ 0051c21e:0xcba28$func851 @ 0051c21e:0xda413$func580 @ 0051c21e:0xcea65$oneNoteConverter @ 0051c21e:0x1939bmodule.exports.oneNoteConverter @ /tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193exec @ InteropService_Importer_OneNote.ts:67InteropService_Importer_OneNote.ts:69 RuntimeError: unreachableat 0051c21e:0xcba4eat 0051c21e:0xda413at 0051c21e:0xcea65at 0051c21e:0x1939bat module.exports.oneNoteConverter (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193:10)at Skt.exec (InteropService_Importer_OneNote.ts:67:11)at async e.import (InteropService.ts:332:12)at async Object.current (MenuBar.tsx:353:19)exec @ InteropService_Importer_OneNote.ts:690051c21e:0xdda1d panicked at library/std/src/panicking.rs:144:9:cannot modify the panic hook from a panicking thread
Stack:
Errorat module.exports.__wbg_new_8a6f238a6ece86ea (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:264:17)at wasm://wasm/0051c21e:wasm-function[1044]:0xdd952at wasm://wasm/0051c21e:wasm-function[517]:0xcba28at wasm://wasm/0051c21e:wasm-function[851]:0xda413at wasm://wasm/0051c21e:wasm-function[580]:0xcea65at wasm://wasm/0051c21e:wasm-function[39]:0x1939bat module.exports.oneNoteConverter (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193:10)at Skt.exec (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:3229:11532)at async e.import (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:3229:19391)at async Object.current (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:5814:183)
module.exports.__wbg_error_7534b8e9a36f1ab4 @ /tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:217$func1044 @ 0051c21e:0xdda1d$func517 @ 0051c21e:0xcba28$func851 @ 0051c21e:0xda413$func580 @ 0051c21e:0xcea65$oneNoteConverter @ 0051c21e:0x1939bmodule.exports.oneNoteConverter @ /tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193exec @ InteropService_Importer_OneNote.ts:67InteropService_Importer_OneNote.ts:69 RuntimeError: unreachableat 0051c21e:0xcba4eat 0051c21e:0xda413at 0051c21e:0xcea65at 0051c21e:0x1939bat module.exports.oneNoteConverter (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193:10)at Skt.exec (InteropService_Importer_OneNote.ts:67:11)at async e.import (InteropService.ts:332:12)at async Object.current (MenuBar.tsx:353:19)exec @ InteropService_Importer_OneNote.ts:690051c21e:0xdda1d panicked at library/std/src/panicking.rs:144:9:cannot modify the panic hook from a panicking thread
Stack:
Errorat module.exports.__wbg_new_8a6f238a6ece86ea (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:264:17)at wasm://wasm/0051c21e:wasm-function[1044]:0xdd952at wasm://wasm/0051c21e:wasm-function[517]:0xcba28at wasm://wasm/0051c21e:wasm-function[851]:0xda413at wasm://wasm/0051c21e:wasm-function[580]:0xcea65at wasm://wasm/0051c21e:wasm-function[39]:0x1939bat module.exports.oneNoteConverter (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193:10)at Skt.exec (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:3229:11532)at async e.import (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:3229:19391)at async Object.current (file:///tmp/.mount_JoplinzXu2Ry/resources/app.asar/main-html.bundle.js:5814:183)
module.exports.__wbg_error_7534b8e9a36f1ab4 @ /tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:217$func1044 @ 0051c21e:0xdda1d$func517 @ 0051c21e:0xcba28$func851 @ 0051c21e:0xda413$func580 @ 0051c21e:0xcea65$oneNoteConverter @ 0051c21e:0x1939bmodule.exports.oneNoteConverter @ /tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193exec @ InteropService_Importer_OneNote.ts:67InteropService_Importer_OneNote.ts:69 RuntimeError: unreachableat 0051c21e:0xcba4eat 0051c21e:0xda413at 0051c21e:0xcea65at 0051c21e:0x1939bat module.exports.oneNoteConverter (/tmp/.mount_JoplinzXu2Ry/resources/app.asar/node_modules/@joplin/onenote-converter/pkg/onenote_converter.js:193:10)at Skt.exec (InteropService_Importer_OneNote.ts:67:11)at async e.import (InteropService.ts:332:12)at async Object.current (MenuBar.tsx:353:19)exec @ InteropService_Importer_OneNote.ts:69Logger.ts:317 20:25:55: InteropService_Importer_OneNote: Extracting SVGs into filesLogger.ts:317 20:25:55: InteropService_Importer_OneNote: Importing HTML into JoplinLogger.ts:317 20:25:55: InteropService_Importer_OneNote: FinishedMenuBar.tsx:355 Import result:  Object

Yes. The "src/lib.rs:26:9:called Option::unwrap() on a None value" matches the issue resolved here.

A v3.5 pre-release is now available. See also: Getting pre-releases.

With v3.5.4 I can incompletly import 2 ZIPs and 1 is not working.

  • Incompletly:
    from the console
    Error: Error: Malformed OneStore data: not a legacy OneStore file

  • Not working:
    error message
    ADM-ZIP: Invalid CEN header (bad signature)

Thank you for testing!

That looks like a failure extracting the OneNote ZIP file. Does extracting, then re-zipping the file's content help?

Context: The import process begins with Joplin extracting the ZIP file using the adm-zip library.

This error happens if the importer fails to parse a .one file's header. It's related to an "is this a supported file" check. There are some changes in the latest dev branch that should improve this error message by providing additional information about the file header.

Details: In particular, this error happens when the guidFile field is not equal to the guidLegacyFileVersion field. I don't see anything in the spec that requires these two fields to have the same value. It may make sense to remove this check and instead rely on the guidFileFormat check, which is currently only present in the latest dev branch.

Related code: Related code: v3.5.4. In the latest dev branch, the related error handling logic is a bit different and may produce a better error message.

Update: I've opened a pull request that may resolve this issue.

1 Like

Opening the ZIP file even doesn’t work. I guess there is a malfunction in MS OneNote online export function - unfortunately this is no FOSS :wink: I will try on a different machine to double-check.

Exporting from the OneDrive web UI might help here. To do this:

  1. Open the OneDrive web UI.
  2. Create a new folder.
  3. Copy the notebook to be exported to the folder created in (2).
  4. Download the folder created in (2). It should download as a ZIP file.
  5. Import the downloaded ZIP file from Joplin.

I tried with v3.5.5 as I saw @personalizedrefriger‘s pull request from yesterday was already included.

During import of a ZIP-file I get the following error now:

InteropService_Importer_OneNote.ts:112
Error: Error: Malformed OneStore data: no revision manifest id found

Thank you for helping test this!

Do you have access to a Windows machine with OneNote desktop installed? If so, exporting from the desktop app (with "file" > "export" > "section" > "OneNote 2010-2016 section (.one)"), then importing the .one file from Joplin might help. The .one files exported from the OneNote desktop app are internally stored differently from those exported from the web app and will be handled differently by the OneNote parser.

I'm not certain, but from a brief look at the relevant source code, that looks like an ID pointing to an item that doesn't exist (or a bug relating to ID resolution). For now, I'm making a note of where the error came from:

Error source

Hi, I did a new trial and exported .one-files from Windows 10 OneNote Desktop, put them into a ZIP and started the import in Joplin.

Observations besides that most content is available in Joplin now:

  1. InteropService_Importer_OneNote.ts:112 Error: Error: Malformed OneNote data: styling is missing
    
    Location:
        renderer/src/lib.rs:49:27 (near page Apfel-Streusel-KuchenTuesday, October 27, 20156:35 PM)
        at 005c3e1e:0xfe2cf
        at Wkt.execImpl_ (InteropService_Impor…r_OneNote.ts:109:11)
        at async Wkt.exec (InteropService_Impor…r_OneNote.ts:140:11)
        at async e.import (InteropService.ts:337:12)
        at async Object.current (MenuBar.tsx:353:19)
    
  2. Error: Error: Failed to resolve: Unable to load invalid file reference: <invfdo> (ext: .jpg) (in parser/src/local_onestore/file_node/file_node.rs:771)
    
    Location:
        renderer/src/lib.rs:49:27 (near page Kartoffel - Camembert GratinSamstag, 21. Februar 201514:22)
        at module.exports.__wbindgen_error_new (/tmp/.mount_Joplinx1wKSK/resources/app.asar/node_modules/@joplin/onenote-converter/renderer/pkg/renderer.js:326:17)
        at 005c3e1e:0xfe2cf
        at module.exports.oneNoteConverter (/tmp/.mount_Joplinx1wKSK/resources/app.asar/node_modules/@joplin/onenote-converter/renderer/pkg/renderer.js:199:22)
        at Wkt.execImpl_ (InteropService_Importer_OneNote.ts:109:11)
        at async Wkt.exec (InteropService_Importer_OneNote.ts:140:11)
        at async e.import (InteropService.ts:337:12)
        at async Object.current (MenuBar.tsx:353:19)
    

This lead to whole sections are not imported to Joplin.

Furthermore I noticed that the content exported from OneNote Desktop App has deprecated content. Means that sheets which were recently updated do not show latest status. This is of-course no Joplin problem but another reason to leave MS OneNote.

Thank you for testing!

That's good to know. This might still be an importer bug. OneNote export files can contain multiple revisions. One possibility is that Joplin selects the wrong revision during the import process.

I've created a GitHub issue to track this:

I'm linking to a related pull request: