linkTable of contents

link⚙️ How notes are generated

Note count: 2000

Images taken from

Mardkown content taken from Lorem Markdownum

Notes are initially generated and stored in the Markdown format.

Here is an example of a generated markdown note hosted on Amplenote.

linkThe algorithm

For each note:

Prefix each note with the corresponding inline markdown images

Then append the corresponding number of generated markdown blocks

linkNote apps particularities

Joplin, Amplenote, Obsidian, Bear:

Notes imported directly from the generated markdown files


Generated markdown files are converted to the ENEX format before importing into Evernote

Notejoy, Nimbus Notes, Apple Notes, Onenote:

Notes imported from previously generated ENEX file


Generated markdown files are converted to .docx before importing into Notion

Standard Notes:

For every initially generated markdown note, all links to local images are converted into URLs to web images.

The modified markdown files are imported into SN.

Roam Research:

Just like with Standard Notes, for every initially generated markdown note, all links to local images are converted into URLs to web images.

The modified markdown files are converted to Roam's json format and then imported to Roam.

link📋 The tests

linkTesting environments

Each of the 5 tests described in the section above were performed for the following types of clients (when available):

linkTesting methodologies

For each combination of test, platform and app, the average of 3 separate test runs was computed and added to the NoteApps database.

linkBenchmarking thresholds

We chose the benchmarking thresholds to try to approximate 50/50 split between apps that did and didn't qualify as "faster than the threshold." You should find that about half of the note apps we feature will qualify as "under the threshold" for each feature that we benchmark. In the future, we will periodically re-adjust our thresholds if we find that the existing thresholds yield more than 80% inclusion or less than 20%.

link🔧 Current limitations

linkMass-importing notes with images

Some apps do not support importing notes with bundled images, which is why we resorted to hosting images in a separate location and linking to them from affected apps. This workaround is expected to slightly favor these apps, with benchmarking times being potentially smaller due to images not being synced to the app's storage servers.

linkPlausible models for block-based apps

The set of notes generated to conduct these measurements had the following attributes:

2,000 markdown notes

Images interspersed

Variable length (sample of small note, sample of large note)

2,000 notes seems like a reasonable proxy for "a power note user" or "a normal user who accumulates notes over many years." It is difficult to model this generative use case in database-like/outliner apps, since there is no obvious equivalence between structured (markdown) documents and hierarchical blocks.

Therefore, for apps such as Roam Research and Workflowy, the benchmark results are not an apples-to-apples comparison relative to traditional note-taking apps. If any reader thinks they know of a better way to model a 2,000 note data set efficiently in a block-based architecture, drop us a line at