Jim Parrillo44 downloadsScan a book's ISBN barcode or search manually to automatically create a catalogued book note with metadata and cover image, queryable via Bases.
An Obsidian plugin for cataloging your book collection. Scan ISBN barcodes or search by title and author to automatically pull metadata from Open Library and Google Books, then save a structured note for each book directly in your vault.

.base file with pre-configured table views: All Books, By Year, and Needs ConditionThis plugin makes network requests to third-party services to retrieve book metadata. No personal data, vault content, or user information is ever sent. The only data transmitted is the ISBN or search terms you enter.
| Service | Purpose | When used | Authentication |
|---|---|---|---|
| Open Library (Internet Archive) | ISBN lookup and title/author search | Every lookup and search | None required |
| Google Books | ISBN lookup and title/author search (fallback) | When Open Library returns no results | Optional API key (yours) |
No telemetry, analytics, or usage data of any kind is collected or transmitted by this plugin.
main.js and manifest.json from the latest releasebook-catalog inside your vault's .obsidian/plugins/ directoryGo to Settings → Book Catalog → File Organization and set:
Book Catalog.base will be created (e.g. Books or 03 Resources/Books)Notes); leave blank to store notes directly in the catalog folderClick Create Base File in settings. This creates Book Catalog.base at your configured path with all table views pre-configured. You need Obsidian Bases enabled (available in Obsidian v1.8+).
Open Library is used as the primary metadata source and requires no API key. Google Books is used as a fallback. For higher rate limits on Google Books, add a free API key from Google Cloud Console in Settings → Book Catalog → API.
Click the library icon in the left ribbon to open the Book Catalog table view directly.
If you scan a book that already exists in your catalog, the plugin shows the existing entry with the current copy count and offers to update it rather than creating a duplicate note.
Go to Settings → Book Catalog → Custom Fields to add your own fields. Each field has a name and a type (text, number, date, or boolean toggle). Custom fields appear in the confirm modal below the standard fields and are saved to the note's frontmatter using the field name as the YAML key (spaces become hyphens).
Examples: dewey-decimal (text), purchase-price (number), signed (boolean), read-date (date).
Each book is saved as a Markdown file with YAML frontmatter:
---
title: "The Design of Everyday Things"
authors: ["Don Norman"]
editors: []
publisher: "Basic Books"
published: 2013
pages: "368"
isbn: "9780465050659"
cover: "https://..."
condition: "Very Good"
acquired: "2026-03-16"
valuation: 18
copies: 1
subjects: ["Design", "Human factors"]
tags: ["book"]
---
Followed by a cover image and a ## Notes section for personal annotations. Any custom fields you have configured appear between subjects and tags.
| Grade | Description |
|---|---|
| New | Unread, as purchased |
| Fine | Read but no visible wear |
| Very Good | Minor wear, no defects |
| Good | Wear consistent with use |
| Fair | Heavy wear but complete |
| Poor | Heavily damaged |
If you change your folder settings after adding books, use Settings → Reorganize Files → Scan Vault & Reorganize. The tool scans your entire vault for notes tagged #book, shows you what it found and where, then moves everything to the correct location after you confirm.
| Setting | Description | Default |
|---|---|---|
| Catalog folder | Where Book Catalog.base is created |
Books |
| Notes subfolder | Subfolder inside catalog folder for book notes | Notes |
| Default to Save & Add Another | Makes "Save & Add Another" the primary button | On |
| Custom Fields | Add user-defined fields to the capture modal | None |
| Google Books API key | Optional fallback API key | Empty |
For bug reports and feature requests, please use the GitHub Issues page.