Jwlmanager
Multi-platform GUI for managing JW Library (.jwlibrary and .jwlplaylist) files: view, delete, edit, merge (direct or via export/import), etc.
Install / Use
/learn @erykjj/JwlmanagerREADME
JWLManager
This is a multi-platform[^#] and multi-language[^*] application for viewing and performing various operations on the user data (Annotations, Bookmarks, Favorites, Highlights, Notes and Playlists) stored in a .jwlibrary backup archive (created from within the JW Library app[^1]: Personal Study → Backup and Restore → Create a backup). A modified .jwlibrary archive can then be restored within the app.
In addition to the main functions of viewing, editing, exporting, importing and deleting, the application can also clean up any residual/unused records from the database. Items from different backups can be merged directly or by exporting the desired items (to a MS Excel spreadsheet or a custom text file) and importing them into an existent archive or into a new one. Exporting Notes to markdown is also possible. Notes can be tagged, and both Notes and Highlights colors can be changed in bulk.
Keep in mind that the more items there are to be sorted into a tree structure, the longer it will take. Also, do keep a backup until you're convinced that all is well ;-)
See here for an explanation of features and options.

Usage
You can download (unzip if necessary) and launch the latest Linux binary, Windows executable, or macOS app. These are self-contained packages (with Python and dependencies included).
Important:
- See the SECURITY section for information about security alerts on Windows
- The Linux binary needs to be given execute permissions:
chmod +x JWLManager_* - The macOS binary needs to have all extended attributes (including the the Gatekeeper quarantine flag) removed with
xattr -cr JWLManager.app
The state of the application (including the current language) is preserved in a JWLManager.conf file created in the same directory as the app. You can delete that file to start with default settings.
You can force the GUI to launch in a language by appending the corresponding language code parameter. So, if you want to start the app in Spanish, you would invoke it as…
- Linux terminal:
python3 JWLManager.py -es - Windows command console (or shortcut):
JWLManager.exe -es - macOS terminal:
open -a JWLManager.app --args -es
…install the required dependencies[^2] and clone it:
git clone -b [version tag] --depth 1 https://github.com/erykjj/jwlmanager.git
cd jwlmanager
then either:
pip install -r res/requirements.txt
or (for ARM64 or "older" Intel CPUs):
pip install -r res/requirements-winarm.txt
Then…
python3 JWLManager.py
…or, make it executable first and run directly:
chmod +x JWLManager.py
./JWLManager.py
</details><br/>
If you use the -h flag, you'll see the following options:
usage: JWLManager.py [-h] [-v] [-de | -en | -es | -fr | -it | -pl | -pt | -ru | -uk] [archive]
Manage .jwlibrary backup archives
positional arguments:
archive archive to open
options:
-h, --help show this help message and exit
-v, --version show version and exit
interface language:
English by default
-de German (Deutsch)
-en English (default)
-es Spanish (español)
-fr French (français)
-it Italian (italiano)
-pl Polish (Polski)
-pt Portuguese (Português)
-ru Russian (Pусский)
-uk Ukrainian (українська)
Feedback, etc.
Feel free to get in touch and post any issues and/or suggestions.
My other JW Library projects: jwlFusion (desktop), jwlFusion (Android) & jwlFission (Android)
Footnotes:
[^#]: Requirements: Linux, MS Windows 10/11, macOS 15 "Sequoia" and newer
[^*]: Available: Deutsch, English, español, français, italiano, Polski, Português, Pусский, українська; help with translation to other languages also welcome: Weblate.
[^1]: JW Library is a registered trademark of Watch Tower Bible and Tract Society of Pennsylvania.
[^2]: See /res/requirements.txt.
Related Skills
node-connect
347.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
108.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
347.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
347.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
