Search...Search plugins and themes...
⌘K
Sign in
  • Get started
  • Download
  • Pricing
  • Enterprise
  • Account
  • Obsidian
  • Overview
  • Sync
  • Publish
  • Canvas
  • Mobile
  • Web Clipper
  • CLI
  • Learn
  • Help
  • Developers
  • Changelog
  • About
  • Roadmap
  • Blog
  • Resources
  • System status
  • License overview
  • Terms of service
  • Privacy policy
  • Security
  • Community
  • Plugins
  • Themes
  • Discord
  • Forum / 中文论坛
  • Merch store
  • Brand guidelines
Follow us
DiscordTwitterBlueskyThreadsMastodonYouTubeGitHub
© 2026 Obsidian

Kotoba Vault

lainlain75 downloads

Organize Japanese vocabulary notes into gojuon folders from a reading property.

Add to Obsidian
  • Overview
  • Scorecard
  • Updates3

Local-first tools for organizing Japanese language-learning notes in Obsidian.

Kotoba Vault turns a reading property into predictable gojūon folders, keeps Obsidian links intact while notes move, and offers a dry-run-first migration CLI for existing Markdown vocabulary collections.

Workflow: inbox note plus reading metadata becomes a gojuon-filed note

Current release: 0.1.2.

Why this exists

Large language-learning vaults can become slow to browse when many notes share one folder, and kanji filenames cannot be filed by pronunciation without explicit reading metadata. This project treats the reading as the source of truth:

---
reading: あたためる
aliases:
  - 温め
---

The note is placed in Japanese/Words/あ/ because its normalized reading starts with あ. Dakuten, handakuten, small kana, and katakana are normalized to the matching base gojūon folder.

Every public example and regression fixture is synthetic. The repository does not contain or require a learner's notes, books, subtitles, audio, or video.

Included tools

Obsidian plugin

  • Watches only the configured vocabulary root and inbox.
  • Moves a note after its reading property changes.
  • Uses Obsidian's file manager so internal links are updated normally.
  • Debounces metadata events and scans only the inbox at startup.
  • Offers a non-mutating inbox preview with movable, unresolved, and collision counts.
  • Provides commands to sort the current note or the whole inbox.
  • Has no telemetry, network calls, or external runtime dependencies.

Migration CLI

  • Reads existing reading, kana filenames, bracket readings, or kana aliases.
  • Adds missing reading properties without rewriting note bodies.
  • Plans gojūon moves and reports unresolved notes and collisions.
  • Detects duplicate planned destinations before the first write.
  • Writes metadata atomically and can fail closed on any unresolved note.
  • Does nothing unless --apply is supplied.
  • Uses only the Python standard library.

Install the plugin manually

  1. Download main.js and manifest.json from the latest release.
  2. Create .obsidian/plugins/kotoba-vault/ in your vault and copy both files into it.
  3. Reload Obsidian and enable Kotoba Vault.
  4. Set your vocabulary root, inbox, and reading-property name in settings.

Install the public beta with BRAT

  1. Install and enable BRAT.
  2. Run BRAT: Add a beta plugin for testing from the command palette.
  3. Enter https://github.com/saegusa1996/kotoba-vault.
  4. Enable Kotoba Vault under Settings → Community plugins.

BRAT installs the same release artifacts used by Obsidian's Community plugin directory. Back up a test vault before evaluating automatic file moves.

The default layout is:

Japanese/
├── Inbox/
└── Words/
    ├── あ/
    ├── い/
    └── ...

Migrate an existing collection

Always preview first:

python tools/migrate_word_notes.py --root "/path/to/vault/Japanese/Words"

Save the plan for review:

python tools/migrate_word_notes.py \
  --root "/path/to/vault/Japanese/Words" \
  --json migration-plan.json

Apply only after resolving reported collisions:

python tools/migrate_word_notes.py \
  --root "/path/to/vault/Japanese/Words" \
  --apply

Back up the vault before any bulk migration.

For an all-or-nothing review gate, add --fail-on-unresolved. See Migration safety for the complete preflight workflow.

To reproduce a non-personal scale test, use the synthetic vault generator.

Test

pnpm test
python -m unittest discover -s tests -p "test_*.py"

For a contributor build, run pnpm install --frozen-lockfile followed by pnpm build.

Project principles

  • Local-first and offline by default.
  • Deterministic transformations with a dry run.
  • Synthetic test fixtures only.
  • No redistribution of source books, media, or third-party subtitles.
  • Human review before bulk changes.

See Getting started, Architecture, Compatibility, Synthetic scale testing, Privacy and copyright, and the Roadmap.

Contributing

Issues and pull requests are welcome. Read CONTRIBUTING.md and CODE_OF_CONDUCT.md first.

License

MIT

HealthExcellent
ReviewPassed
About
Organize Japanese vocabulary into gojūon folders by each note's reading, normalizing dakuten, handakuten, small kana and katakana to base kana. Preserve Obsidian internal links as notes move and preview inbox changes with unresolved and collision counts. Run a dry‑run migration CLI to add missing readings, detect duplicate destinations, and apply atomic moves when ready.
FoldersPropertiesLanguages
Details
Current version
0.1.2
Last updated
2 months ago
Created
2 months ago
Updates
3 releases
Downloads
75
Compatible with
Obsidian 1.5.0+
Platforms
Desktop, Mobile
License
MIT
Report bugRequest featureReport plugin
Author
lainlainsaegusa1996
GitHubsaegusa1996
  1. Community
  2. Plugins
  3. Folders
  4. Kotoba Vault

Related plugins

Multi Properties

Add properties to multiple notes at once. Either right-click a folder or select multiple notes and right-click the selection.

File Name History

Store file name or folder name change history into note properties.

Advanced Canvas

Supercharge your canvas experience. Create presentations, flowcharts and more.

Meta Bind

Make your notes interactive with inline input fields, metadata displays, and buttons.

Quick Explorer

Perform file explorer operations (and see your current file path) from the title bar, using the mouse or keyboard.

Flexplorer

Enhance the file explorer with custom sorting, pinning, and hiding.

Simplified Chinese Word Splitting

Adds Simplified Chinese word splitting support for the editor and Vim mode.

Folder notes

Create notes within folders that can be accessed without collapsing the folder, similar to the functionality offered in Notion.

Update modified date

Automatically update a frontmatter modified date field when the file is modified.

Relay

Collaborate in real time with live cursors. Share folders. Manage access to updates.