September update

Hi Dynalisters, below is we’ve been up to in September:


  • Fixed iOS Auto-capitalization not working after pressing Enter.
  • Mobile now has word count re-added to the three dot menu if enabled.
  • Pressing enter in the global search textbox now re-runs the search query.
  • Email to Dynalist now recognizes the special “[[EMPTY]]” body which will only create an item without the note section.


  • Clicking on links to external dynalist documents now properly opens them up in a new window, instead of navigating to “no document is open”.
  • Fixed breadcrumbs misalignment when items higher than the line height is present, like some emoji characters.
  • Zooming into items no longer scrolls the document to a previous position that was saved when switching documents.
  • Fixed unable to copy-paste or export-import when document contains invalid XML characters, such as the character “\0”.
  • Fixed MacOS desktop app couldn’t undo/redo in various places like file rename or “capture to inbox”.


  • On mobile, tapping on read mode “lock” icon no longer easily fat-fingers to the three dot menu.
  • Attempt to fix cases where on Android, pressing Enter creates a newline in the item instead of creating a new item beneath.
  • Fixed iPad doesn’t show the datepicker month navigation buttons “<<” and “>>”.
  • On Android, when clicking on the +/- buttons to expand/collapse an item, the app will no longer scroll back to where the keyboard was focused on.

August update

Hi Dynalisters, below is we’ve been up to in August:


  • We now have a Discord chat server for our community! Come and chat with the community (including us!) about Dynalist and everything else. Join the community: Discord community invite


  • File Finder and Item Finder got more responsive.
  • You can now sign up with your Apple ID on the iOS app.
  • The status bar in Android app is now dark in dark mode.
  • Mobile multi-select now disengages after performing an action.
  • Flat search box is now automatically focused when using Shift+Enter.


  • Fixed “Expand to level” option not working on root item.
  • Fixed mobile multi-select toolbar not working on iOS Safari.
  • Exported HTML file now properly gets with the “text/html” MIME type.
  • Mobile multi-select now properly triggers when previously a text/cursor selection existed.
  • App header is not longer hidden when logged in when embedded in an iframe HTML element.
  • Keyboard no longer pops up when tapping in between two items in Read Mode.
  • Fixed backlink results no rendered according to current document’s view options.

July update

Hi Dynalisters, below is we’ve been up to in July:


  • Now you select multiple items on mobile and make changes to them in bulk.
Multi-select on mobile
  • We added new menu options and custom shortcuts to expand an item to 1 to 4 levels deep. That is, if you expand to level 2, anything that’s less than 2 levels deep will be expanded, whereas anything deeper will be collapsed. This is super useful for quickly switching between a high level and a fine-grained view.
Expand to level

Note: these features are available on the web version right now, coming to desktop and mobile apps shortly.

June update

Hi Dynalisters, below is we’ve been up to in June. And happy Canada day to fellow Canadians!


  • New option to show backlinks to an item. Enable it in Settings – Preferences – Internal links – Show backlinks. When it’s enabled, you’ll be able to see number of backlinks to each item next to the bullet point, as well as all the references underneath the currently zoomed item.
After enabling the “Show backlinks” option

• New theme: Dark Gold.

New Dark Gold theme
  • New font option: Inter. Inter is a great open-source sans serif font that’s modern and minimalist.


  • [Tag] To avoid an extra space after the tag, now punctuation is no longer part of the tag if followed by a space.


  • [Search] Fixed document hide note option was not respected in Flat Search.
  • [Word count] Fixed incorrect word count for Cyrillic text.
  • [UI] Fixed export buttons not visible when opening a long item in version history.

May update

Hi Dynalisters, here’s our May update:


  • Now you have more control over how your lists look when you share a link with others! To do that, tweak the options in the sharing dialog below the link.
    Please note that these options will change the link, and is non-sticky. This is so that you can share the same document with different looks and configurations.
    If you leave everything to default, the generated link will point to a fully expanded version of the document, with default light theme, and with images not displayed inline (you need to hover your mouse over it to see the image).


  • [Bookmarks] Added custom shortcut to toggle bookmark current item or search.


  • [Search] Adjusted weight for items that are in the same document (we moved them up) and that are checked off (we moved them down).
  • [Word count] Fixed word count not updating after incoming changes from other devices.
  • [UX] Fixed weird issue where Google Chrome password manager would prompt you to fill in your email when using Node Mover.


Dynalist & Obsidian

Hi Dynalisters!

As many of you have heard, for the past few months we have been working on the side on a new thing called Obsidian. Obsidian public beta was launched two days ago, and we figure we should let you guys know about it too.

Obsidian is quite different from Dynalist, as it’s a knowledge base that’s works on top of a local folder of Markdown files. It’s also not an outliner (as in you can’t zoom, expand, or collapse). The use case of Obsidian is more about deliberately writing down and revisiting notes, more than quick and friction-less brainstorming and capturing. Obsidian values connections more, whereas Dynalist values structures more.

If you’re interested in Obsidian, feel free to check it out! Its use case does overlap with Dynalist a bit, but not much, and we’ve heard many people having successes with using both for different purposes. As for Dynalist, we will develop and maintain it as usual; we don’t expect much to change.

If you have any questions, feel free to reach us via either our forum or the email!

April update

Hi folks, welcome to our April update!


  • Word count. You can now see word count in the bottom bar! It will show the number of words and items in your current zoomed in item.
    If you write your outline in your items and the actual content in the note fields, you may find our separate word counts for “in item” and “in note” helpful.
  • Per-document RTL setting. We learned that many RTL language users actually have documents in both English and the RTL language, so we added a way to override text direction on a per-document basis.


  • [Drag and drop] You can now drag an item into a document in the file pane to quickly move it to the end of the document! The landing position is consistent with the “Move item to” option under Settings – Preferences – Advanced settings, so you can also choose to move it to the start of the document.
  • [UI] Auto-detect dark theme. If you’re on the default theme setting, and your system is set to dark mode, the dark theme will be used. You can choose to always use Light or Dark theme by overriding it in Settings – Preferences – Appearance – Theme. The theme will change in real-time, so if your computer automatically changes theme at a certain time, Dynalist’s theme will change as well.
  • [Search] Improve fuzzy search accuracy in “Move to…”, internal link suggestion, and item finder. Before, a search query would match fragments of words all across an item.
  • [Stability] Improved server stability by offloading unnecessary attachment processing.
  • [File attachments] File attachments load faster as they’re now cached.


  • [Search] Fixed “has:checkbox” search query also searches in parent; it should only search the current item.
  • [UI] Fixed RTL layout breaks tag pane UI on mobile.
  • [Editor] Fixed backslash escaping characters in undesirable ways. It should only escape characters that are used in Markdown formatting.
  • [Code blocks] fixed trailing newline at end of rendered code blocks.
  • [Item finder] Fixed results being inaccessible when long results push lower results out of the screen.

March update

Hi folks, welcome to our March update! Please stay home as much as possible and we hope everyone stays safe during this difficult time.


  • RTL (right-to-left) layout for writing systems like Arabic, Hebrew, Persian, Urdu, and Sindhi. You can now turn on this setting in Settings – Preferences – Appearance.
    Note that RTL will not be applied to every corner of the app, since the user interface itself is still in English. We try to cover all the your content though, let me know if you find any issues!
  • One-click copy for code blocks. Simply hover a code block and click on the “Copy” button!


  • [Email to Dynalist] New option for how emails get truncated. If you see empty body text when forwarding an email (usually happens to Outlook clients), try the “Trim only when content left is not empty” option. This setting is under Settings – Dynalist Pro – Email to inbox.
  • [Shortcuts] Added search bar to the shortcut customization interface (Settings – Keymap). With more and more shortcuts available for customization, it can be hard to find a particular shortcut. Now you can stop browsing and just search for it!
  • [Shortcuts] New custom shortcut: sort items by title and date (in both ascending and descending order).
  • [Shortcuts] New custom shortcut: format selected text as code block.
  • [UX] After lock mode has been enabled in narrow layout, show an indicator in the top bar when the window gets wide, so that you know why suddenly you can’t edit things.
  • [Date picker] When using Tab to go to the time picker fields, automatically select all text for easy text input without mouse.


  • [Sync] Fixed issue where the last few typed characters are not getting synced to server (they are saved locally though) on slower networks, especially on mobile.
  • [Version history] Fixed deleted entries appear in the wrong order.
  • [Import] Fixed OPML import not working offline.
  • [UX] Fixed when selecting with Shift+Up or Shift+Down, the parent level is skipped.
  • [UX] Fixed issue where the page would unexpected scroll to the top when pasting while selecting multiple items.


  • Fixed uploading files through API not working in some cases.

February update

Hey Dynalisters! Here’s what we’ve been up to in February.

February is always short, but at least this time we’ve got 29 days instead of 28! 😉


  • [Date] You can now define date ranges! Please see this help article on how to use it.


  • [Checkbox] Checkbox can now be toggled for each item. You can still bulk add and remove checkboxes on all child items though, don’t worry. Please see this PSA post for more info and on how to migrate your existing checklists.
  • [Date] Properly handle all day events. Before, we treat dates with 00:00 am time as all day events. Now, all day events are proper date ranges that go from start of day to end of day. This makes them match search queries better, and allows you to actually specify dates with time equal to 00:00 am without assuming they are all day events.
  • [Date] The time picker now has the “Now” shortcut option that will put in the current time for you.
  • [Drag and drop] When dropping items inside a parent item with existing child items, it will now be placed at the end. Before, the newly dropped child appears at the top.
  • [Search] “within:0d” now returns all dates from the current time to end of today, whereas “within:today” returns all dates from start of today to end of today.
  • [i18n] Captcha now shows up in countries where Google is not accessible.


  • [Email to inbox] Fixed incoming emails with empty body would not get added to inbox.
  • [Copy/paste] Fixed copying and cutting with nothing selected would clear the clipboard.
  • [Copy/paste] Fixed HTML elements in comments would get their contents pasted (fixed specifically for copying from OneNote).
  • [UI] Fixed LaTeX example in “Formatting & Shortcut Help” pane not properly show up because of dynamically loading KaTeX.


  • [Share to inbox] Sharing to inbox now syncs right away. Before, there’s a chance that it will not be synced to the server.
  • [Sync] The app now resumes syncing sooner after you have been offline for a long time.
  • [Sync] Show proper sync status right away instead of waiting 3 seconds like on the web app and desktop app. (The 3 second wait is due to the consideration that we don’t want the sync status to flash all the time as you type. However, on mobile the sync status is not visible most of the time. Plus, knowing whether changes have been synced to the cloud is more important on mobile, as you may want to send the app to background at any time.)
  • [UX] Scroll out of view items to center of the screen instead of edge of screen as the keyboard pops up. This prevents the issue where iOS will try to scroll the document fast when you’re trying to select text near the edge of screen.

API (docs)

  • [New endpoint] Added new endpoint to get and set user preference (“/pref/get” and “/pref/set”, respectively).
  • [New field] Added “file_id” field to add to “/inbox/add” endpoint.

PSA: checkbox revamp

Hi Dynalist friends! We have a PSA to make on this special leap day: we’ve recently changed how checkboxes work.

Before, when you make a checklist, all of the children automatically get checkboxes and there’s no way to remove the checkboxes individually. Now, when you add a checkbox, it’s added only to the items you specify, and you can always remove a checkbox from an item.

The shortcut to add a checkbox is the same as before: Ctrl/Cmd+Shift+C. There’s a new bulk convenience option to add checkboxes to all the child items (all levels) of an item. It’s accessible from the item menu. There’s no default shortcut for it, but you can customize it with custom shortcuts.

Unfortunately, this new change is causing checkboxes to “disappear” and some manual migration is needed.

Let’s say your list looks like this before:

Now it will look like this:

Migration steps

To migrate your checklists, please use the “Add checkbox to children” option (available in the item menu) on the parent item. This will add checkboxes to all the child items.

You can then go ahead and remove checkboxes from non-tasks under “parent” if you wanted to in the past but couldn’t.

These migration steps can only be done in the web app and desktop app right now, as the mobile app doesn’t have the “Add checkbox to children” option. Fortunately it’s only a one-time thing.

We deeply apologize for the inconvenience involves, as we could have designed it better the first time around. At this point, despite all the inconvenience during migration, we believe the newly gained flexibility in checkbox is well worth it. Thanks for bearing with us!