Analysis updated 2026-05-18
Upload large audio, video, or PDF files to a Notion page without manually chunking them.
Attach a file to a Notion database entry created through the Notion SDK.
Add automatic retry and timeout handling to file uploads in a Notion integration.
Use the lightweight legacy version when only uploading small files under 20MB.
| shoubhiksaha/notion-multipart-uploader | 0xbebis/hyperpay | alfredxw/nova | |
|---|---|---|---|
| Stars | 14 | 14 | 14 |
| Language | TypeScript | TypeScript | TypeScript |
| Setup difficulty | easy | hard | moderate |
| Complexity | 1/5 | 5/5 | 3/5 |
| Audience | developer | developer | writer |
Figures from each repo's GitHub metadata at analysis time.
Requires a Notion API key and an existing Notion integration set up.
This is a small Node.js package that makes it easier to upload files to Notion using its API. Notion's upload process for larger files normally requires you to manually split the file into pieces, send each piece, then tell Notion you are done, and this package handles all of those steps for you so you just call one function with your file. It can handle files up to 5GB on paid Notion workspaces by splitting them into chunks and uploading up to three chunks at the same time by default, which speeds things up for bigger files. If a chunk fails to upload because of a network problem, it automatically retries with increasing delays between attempts, but it will not keep retrying if Notion returns an error caused by something like exceeding a billing limit, since retrying that kind of error would never succeed anyway. You can also set a timeout so a stuck upload gets cancelled instead of hanging forever, and cancel an upload yourself using a standard AbortSignal. The package has no external dependencies. It only uses the built in fetch and FormData features already available in modern Node.js, which keeps it lightweight. It works with any kind of file, including audio, video, images, and PDFs. Once a file finishes uploading, you get back a file ID that you can attach to a Notion page or block using the regular Notion SDK. For people who only need to upload very small files under 20MB, an older, simpler version of the package without the chunking and concurrency logic is still available to install separately. The package is released under the MIT license.
A zero-dependency Node.js helper that automates chunked, retryable file uploads to Notion for files up to 5GB.
Mainly TypeScript. The stack also includes TypeScript, Node.js.
Use freely for any purpose, including commercial use, as long as you keep the copyright notice.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.