IINA Plugin Bookmarks
Bookmark management system for IINA media player
IINA Plugin Bookmarks
IINA Plugin Bookmarks is a bookmark management system for the IINA media player. It provides bookmark creation, organization with tags and filtering, and JSON/CSV data import/export.
✨ Key Features
📚 Bookmark Management
Create, edit, and delete bookmarks with validation
- Bookmark creation at any timestamp
- Update titles, descriptions, and tags
- Auto-generated titles from filenames
- Input sanitization for security
🏷️ Tags and Filtering
Organize bookmarks with tags and filters
- Tag-based organization
- Multi-criteria filtering
- Sort by various fields
- Search functionality
📤 Data Management
Export and import bookmarks in JSON or CSV
- JSON export/import
- CSV export/import
- Duplicate handling (skip, replace, merge)
- Data validation
☁️ Cloud Sync (Planned)
Documentation preview for planned sync providers
- Provider integrations are not in the current release
- Use JSON/CSV export and import for backup/transfer today
🎨 Three Interfaces
Multiple ways to interact with bookmarks
- IINA sidebar integration
- Standalone management window
- Media overlay display
🚀 Quick Start
Installation & Setup
# Download the latest release
curl -L -o iina-plugin-bookmarks.iinaplgz https://github.com/wyattowalsh/iina-plugin-bookmarks/releases/latest/download/iina-plugin-bookmarks.iinaplgz
# Install in IINA
open iina-plugin-bookmarks.iinaplgz# Extract to IINA plugins directory
mkdir -p ~/Library/Application\ Support/com.colliderli.iina/plugins/
unzip iina-plugin-bookmarks.iinaplgz -d ~/Library/Application\ Support/com.colliderli.iina/plugins/iina-plugin-bookmarks.iinapluginThe plugin automatically activates when IINA restarts. Look for the "Bookmarks" tab in the sidebar!
Configuration
Access plugin settings through:
- IINA Preferences → Plugins → Bookmarks
- Plugin Menu → Manage Bookmarks
Common preferences:
- Auto-save behavior
- Maximum bookmark limits
- Automatic file reconciliation
Start Bookmarking
Create your first bookmark with any of these methods:
Use the global quick-bookmark shortcut (default: Ctrl+B)
Explore Advanced Features
Once you have bookmarks, explore powerful features:
- Search & Filter by title, tags, or date range
- Export your collection to JSON or CSV
- Batch Operations on multiple bookmarks
- Tag Management for organization
📚 Documentation Architecture
🔧 Plugin Architecture Overview
// Core plugin structure
class BookmarkManager {
// Bookmark operations
async addBookmark(title?: string, timestamp?: number, description?: string, tags?: string[]): Promise<void>
removeBookmark(id: string): void
updateBookmark(id: string, data: BookmarkUpdatableFields): void
jumpToBookmark(id: string): void
// Query operations
getBookmarksForFile(filepath?: string): BookmarkData[]
getAllBookmarks(): BookmarkData[]
getBookmarkCount(): number
// Lifecycle
destroy(): void
}Architecture
The plugin uses a modular architecture:
- BookmarkManager orchestrates all operations
- BookmarkPersistence handles storage
- BookmarkImportExport manages data transformation
- Collection and smart-collection logic is handled inside
BookmarkManager
🆘 Support & Community
🐛 Bug Reports
Report issues with detailed reproduction steps
Found a bug? Help us improve by providing detailed reports.
💡 Feature Requests
Suggest new features and enhancements
Have an idea? We'd love to hear your suggestions!
💬 Community Discussions
Ask questions, share tips, and connect with other users
Join our growing community of power users.
🤝 Contributing
Learn how to contribute code, documentation, or testing
Help make the plugin even better for everyone.
📊 Project Stats
Quick Links
- GitHub Repository - Source code and releases
- Latest Release - Download the plugin
- Release Notes - Track release changes and upcoming updates
- Development Roadmap - Upcoming features
- API Documentation - Technical reference
Documentation built with Fumadocs • Last updated: 3/5/2026 • Edit this page on GitHub