Alpha Bullet
approvedby Mara-Li
Sorts bulleted lists alphabetically.
AlphaBullet
AlphaBullet is a simple yet powerful Obsidian plugin that sorts your unordered markdown lists using natural order sorting — with optional grouping by the initial letter.
Whether you're organizing notes, inventories, glossaries, or worldbuilding content, keeping things neat and readable has never been easier.
✨ Features
- Sort unordered lists alphabetically using natural order (e.g.,
item2comes beforeitem10) - Sort in ascending (A → Z) or descending (Z → A) order
- Optionally group items under a heading based on their first letter (
## A,## B, etc.) - Supports YAML frontmatter for per-file auto-sorting
- Plugin-wide default settings available
- Multi-language support (English & French)
⚙️ How to Use
- Open a note containing the list you want to sort.
- Open the command palette (Ctrl / Cmd + P)
- Search for “AlphaBullet”
- Choose a command:
- Sort ascending
- Sort descending
- Create glossary, with options:
- Full ascending
- Full descending
- Ascending (groups descending, items ascending)
- Descending (groups descending, items ascending)
- Sort based on frontmatter
- Your list will be instantly sorted!
[!TIP] You can also use the editor context menu to sort a selected list!
🔍 Understanding "Grouping" and "Items" Sorting
AlphaBullet uses natural order sorting, which means values like item2 are placed before item10 (unlike strict ASCII sorting).
When grouping is enabled (group: true), items are organized under headings based on their initial letter:
## A
- Apple
## B
- Banana
There are two levels of sorting:
- Group headings (e.g.,
## A,## B) can be sorted in ascending or descending order. - Items within each group are also sorted alphabetically.
🧠 Tricky part: The
sml_glossary_descsetting lets you sort groups in descending order while keeping items inside each group sorted ascending.This is useful when creating reverse glossaries or highlighting last-letter groups first while keeping internal coherence.
🛠 Frontmatter Configuration
You can configure sorting behavior directly in your note using YAML frontmatter:
---
sml_sort: true # Enable sorting
sml_descending: false # Sort order: false = A→Z, true = Z→A
sml_group: true # Enable grouping by first letter
sml_level: 2 # Heading level used for group titles (## = level 2)
sml_glossary_desc: false # Sort groups descending, but items ascending
---
💡 You can also set these options globally via the plugin settings in Obsidian.
📦 Installation
- Coming soon to Obsidian’s Community Plugins
- Available via BRAT:
https://github.com/Mara-Li/obsidian-alpha-bullet - Manual installation:
- Download the latest release
- Unzip the folder into
.obsidian/plugins/ - Reload Obsidian and enable the plugin
🌐 Languages
- English
- French
Want to help translate?
- Fork the repository
- Add your translation to
src/i18n/locales/<lang>.json - Register your locale in
i18n/i18next.ts
Use obsidian-translations or
tp.obsidian.moment.locale()to find your language code.
🙋 Support & Contributions
Found a bug? Have a feature request?
Please open an issue or pull request on GitHub.
✏️ English isn’t my native language — feel free to suggest improvements! But please use English for issues so others can follow along.
❤️ Credits
Huge thanks to Jesse Hines for the wdio-obsidian-service, which allowed me to run automated tests in a real Obsidian vault — a dream come true for a QA engineer!
For plugin developers
Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.