package icon

Bloom: Org-mode Notes & Tasks

A native Org-mode notes app for Android. Your notes stay plain .org files.
Bloom is a native Android Org-mode note-taking app, built as a first-class mobile companion for Emacs org-mode users.

Bloom edits plain .org files in a folder you choose. There is no account, no proprietary database, and no export step: the files on disk are your notes, byte-for-byte, and they sync to your other machines with whatever tool you already trust (Syncthing is the recommended pairing). If you stop using Bloom tomorrow, your notes are exactly where they always were.

Features:

* File-first: .org files in a synced folder are the sole source of truth. Bloom's internal database is only a rebuildable search index.
* Lossless org engine: a custom parser models documents as a thin view over the raw text, so parsing and writing a file back out is byte-identical by construction. Bloom never reformats a file it didn't deliberately edit.
* Zero-friction capture: org-capture style templates with placeholders for the current time, a prompt, and cursor position. Targets include the top or bottom of a file, under a heading (by name or CUSTOM_ID), and year/month/day datetrees. Reachable from a home-screen widget, the share sheet, an optional persistent notification, and deep links.
* Home-screen widgets: a one-tap Capture widget, and an Agenda ledger widget showing overdue and upcoming tasks with mark-done and quick-add, without opening the app.
* Real editor: raw org subtree editing with syntax highlighting, a formatting toolbar, list continuation on Enter, a metadata sheet for TODO state, priority, and tags, SCHEDULED/DEADLINE editing, repeater advancement on DONE, and autosave with a stale-file guard.
* Scheduling: a full-screen editor puts SCHEDULED and DEADLINE on the same calendar, with presets, a time range, an org repeater, and a shorthand box that parses lines like "fri 10-11am ++1w" as you type.
* Reminders: a notification fires when a heading's SCHEDULED or DEADLINE time arrives, with Complete and Reschedule actions on the notification itself.
* Outline operations: a collapsible heading tree with body previews, expand/collapse all, move/cut/copy/paste subtrees, cycle TODO state by swipe, and narrow to a subtree.
* Search: Orgzly-compatible search syntax, saved searches, and an agenda view, backed by a SQLite FTS5 index so substring search stays fast as the vault grows.
* Sync that respects your tools: change detection by file revision, Syncthing conflict-file detection with a keep-local, keep-remote, or keep-both picker, manual and continuous sync modes, and .orgzlyignore support.
* A calm, deliberate design: IBM Plex Sans/Serif/Mono, 20 light and dark themes led by Bloom Light and Bloom Dark, and org syntax highlighting colored the way an Emacs theme would.

Bloom has no server-side component. Its only network request is fetching a page title when you share a link into Bloom, to use as the note heading. Sites that hide the title behind a script are loaded in a hidden WebView with JavaScript enabled. Turn this off in Settings, Sharing, Fetch link titles, and Bloom makes no network request at all; a shared link is then labeled with the title the sharing app provided, if any, or the URL.

Bloom was formerly known as Grove.

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 1.11.0 (11100) suggested Added on Oct 25, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 6.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • Schedule precisely timed actions
      This app can schedule work to happen at a desired time in the future. This also means that the app can run when you're not actively using the device.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • com.rrajath.grove.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 9 MiB PGP Signature | Build Log

  • Version 1.10.0 (11000) - Added on Oct 18, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 6.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • Schedule precisely timed actions
      This app can schedule work to happen at a desired time in the future. This also means that the app can run when you're not actively using the device.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • com.rrajath.grove.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 9 MiB PGP Signature | Build Log

  • Version 1.9.0 (10900) - Added on Oct 12, 2026

    arm64-v8a armeabi-v7a x86 x86_64

    This version requires Android 6.0 or newer.

    It is built and signed by the original developer, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • have full network access
      Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet.
    • show notifications
      Allows the app to show notifications
    • run at startup
      Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.
    • Schedule precisely timed actions
      This app can schedule work to happen at a desired time in the future. This also means that the app can run when you're not actively using the device.
    • prevent phone from sleeping
      Allows the app to prevent the phone from going to sleep.
    • com.rrajath.grove.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 9 MiB PGP Signature | Build Log