spinechoarcanist787 downloadsUnfold the mobile toolbar into several rows with one button, and fold it back to a single row.
[!WARNING] I have tested Unfold Toolbar only on iOS and iPadOS, not on Android. If you use Android, be careful, and if you find a bug, please let me know in an issue: I will try to fix it.
A Bear-inspired mobile toolbar for Obsidian. Swipe up on the editing toolbar and it unfolds into several rows, so every shortcut is in view. It folds back to a single row on its own as soon as you type. To change a checkbox's status (to do, in progress, done, cancelled and more), long-press the checkbox or tap a toolbar button, and pick the status from a list drawn by your own theme.
If you came to Obsidian from Bear, or are looking for a Bear alternative with a friendlier way to edit Markdown on a phone, this plugin is for you.
I love Markdown and Obsidian, but I find the Markdown syntax less practical to use from a phone. I had seen the user experience Bear offers, and I find its keyboard and its interactions on mobile much more user friendly than Obsidian's default toolbar. So I looked for plugins that would solve this, but I did not find one.
The closest was Double Row Toolbar. It gives the toolbar a fixed height of two rows: you see more commands at once, but the toolbar always takes up that space on an already small screen, even when you don't need it. And for me, two rows were still not enough for all my commands.
So I started with the unfolding toolbar: a single row when you don't need it, and as many rows as you like when you do. This really changed how I use Obsidian on my phone. It is actually what helped me finally switch from Apple Notes to Obsidian for good. The swipe to unfold, and the automatic fold back when typing, made the biggest difference.
I decided to publish the plugin, hoping it would help other users too. I then tackled the next problem I faced on mobile: switching between checkbox statuses. So I added the checkbox status list, which lets me switch easily between statuses, and it also helped me a lot in my daily use of Obsidian.
So here it is: my little plugin to improve the mobile experience of Obsidian, inspired by Bear's UX.
| Folded | Unfolded (portrait) | Checkbox statuses |
|---|---|---|
![]() |
![]() |
![]() |
Unfolded (landscape)
Then add its buttons to your toolbar, as described in Setup.
When you start typing in the note again, the unfolded toolbar folds back by itself. Tapping its buttons keeps it open, so you can tap undo or indent several times in a row.
You can also tap the fold button (⌃) to unfold, and tap it again (now ⌄, on an accent-coloured tile) to fold.
Your usual row never moves. Rows fill from the bottom up, so the folded row becomes the bottom row of the unfolded toolbar, and the extra shortcuts appear above it. A thin line separates the folded row from the extra rows.
In the list:
[ ].If your theme has no alternate checkboxes (the default theme, for example), every status except [ ] looks like a ticked box. That is also how it will look in the note. Themes such as Border or Velocity draw each status with its own icon or colour.
The change is plain text, like Obsidian's own toggle. Plugins such as Tasks don't add a done date or handle recurrence through it.
On desktop, the same list opens from the command palette, a hotkey, the note's right-click menu, or a long mouse press on a checkbox.
Do not run the plugin together with another plugin that restyles the mobile toolbar (for example Double row toolbar). Disable the other one first.
The settings are grouped in three sections.
| Setting | Default | Choices | Notes |
|---|---|---|---|
| Start folded | On | On / Off | On: the toolbar opens as a single row each time you start editing. Off: it stays as you left it, remembered separately on each device. |
| Rows on a phone, portrait | 4 rows | 2–6 | How many rows the unfolded toolbar shows. More rows show more commands but take more of the screen. |
| Rows on a phone, landscape | 2 rows | 1–3 | The keyboard takes most of the screen in landscape. 1 row keeps the toolbar folded. |
| Rows on a tablet | 4 rows | 2–8 | Used in both orientations. |
If you have more shortcuts than fit in the chosen rows, the unfolded toolbar scrolls up to show them. It always starts at the bottom row. A soft fade on the edge of the rows shows when more are out of sight, and follows the rows while you scroll.
| Setting | Default | Notes |
|---|---|---|
| Checkbox status picker | On | Adds the command Set checkbox status, for the toolbar, the command palette and the note's right-click menu. |
| Long press on a checkbox | On | Holding a checkbox in Live Preview opens the list of statuses for its line. |
| Checkbox statuses | A page where you choose which statuses the list shows. It appears when either of the two switches above is on. |
Shown by default: [ ] To do, [/] In progress, [x] Done, [-] Cancelled, [>] Forwarded, [<] Scheduled, [!] Important, [?] Question. You can also show Star, Quote, Location, Bookmark, Information, Savings, Idea, Pro, Con, Up and Down, or hide any of the others.
New features are released here first, switched off, so an update never changes how the plugin behaves for you until you choose to try something. Once a feature has been tested, it either becomes standard behaviour or is removed, and leaves this section. Nothing is being tested at the moment.
The plugin also gives every toolbar button a soft rounded tile, adds a little space at the ends of each row, and uses a gentler corner radius when unfolded. These styles apply to the folded toolbar too: if they changed only when unfolding, your usual row would shift each time. Colours follow your theme in light and dark mode.
On narrow phones, the extra space at the row ends can fit one button fewer per row.
When unfolded, the toolbar ends right after its last whole column, so there is no empty strip at its right end. Its left edge stays where it is when folded, so no button moves.
Obsidian draws its mobile toolbar just above the keyboard and reserves room for it using one value, --mobile-toolbar-height. When you unfold:
data-task attribute. Themes draw alternate checkboxes from that attribute, so the list matches your theme without any extra setup.--mobile-toolbar-height value). An Obsidian update could change them. If that happens, the toolbar falls back to Obsidian's normal single row; nothing else is affected.Do you have another idea that would make editing on a phone or tablet easier, around the toolbar or anything else in the mobile experience? Open an issue to suggest it, and I will try to include it in the plugin.
This plugin is inspired by the Double Row Toolbar plugin: Double row toolbar - Obsidian Plugin. It was the closest thing I could find to what I was looking for, and I sincerely thank its developer for their work. Unfold Toolbar keeps its idea of showing more commands at once, but only when you need them, and with as many rows as your commands need (2 to 6 on a phone in portrait, 1 to 3 in landscape, and 2 to 8 on a tablet).
The user experience is inspired by Bear's mobile editing keyboard. Unfold Toolbar is not affiliated with Bear.
Unfold Toolbar was designed, specified, and tested by SpinEchoArcanist. Every feature, naming decision, and bug report is theirs. The implementation itself (main.ts and the main.js built from it, styles.css, and this README) was written entirely by Claude, Anthropic's AI model, across a series of development sessions directed by the maintainer.
What this actually looks like in practice: I don't write the code myself, but every session works from a fixed protocol, not a loose description handed off and shipped as-is. I state requirements precisely, Claude quotes the exact existing code before changing it and reports what changed rather than assuming, and nothing goes in without me testing it on my own phone in a live Obsidian vault first. On top of that, before a release I have Claude run dedicated checks: Obsidian's own lint rules for community plugins, security and lifecycle checks, and automated tests of the plugin's behaviour. It is a real, structured process, not an unsupervised one. Decide for yourself whether it's the right trade-off for you.
If you run into a bug or have a feature request, feel free to open an issue. Fixes and changes will likely go through the same human-directed, AI-implemented process.
0.4.2
0.4.1
:has() selector, which the community review flags for performance. It looks the same.clip-path animation was flagged by the community review. The toolbar now always unfolds and folds at once, as it did with Animate off (the default).0.4.0
0.3.2
0.2.1
0.2.0
0.1.1
0.1.0