siulved545 downloadsTurn notes into a print-ready paperback PDF and an EPUB 3, entirely on your device.
Turn a folder of Markdown notes into a print-ready paperback PDF for Amazon KDP and an EPUB 3 for every ebook store. Everything happens on your device: your manuscript is never uploaded anywhere.
No Pandoc, no LaTeX, nothing else to install, and it works on Obsidian mobile too.
Try it in your browser → The web app opens with a sample book, The Wonderful Wizard of Oz, already typeset.
Book Studio comes in two forms that share one engine and one interface:
Book Studio is free. This first version prints 6" × 9" paperbacks in the Classic and Modern themes and exports EPUB 3; more trims and themes are on the way.
Create a note with book: true in its properties. That note is the manifest:
---
book: true
title: The Lighthouse Keeper
subtitle: A Novel
author: Jane Doe
language: en
publisher: Harbor Press
isbn: 978-1-23456-789-7
ebook-isbn: 978-1-23456-790-3
copyright: "© 2026 Jane Doe. All rights reserved."
dedication: For my mother.
cover: images/cover.jpg
theme: classic
trim: 6x9
---
## Front matter
- [[Foreword]]
## Chapters
### Part One: The Sea
1. [[The Storm]]
2. [[Landfall|The Shore]]
3. ~~[[Cut Scene]]~~
### Part Two: The Light
4. [[The Keeper]]
5. [[Interlude]] unnumbered
%% Ideas for later:
- [[Sequel hook]]
%%
## Back matter
- [[Acknowledgments]]
- [[About the Author]]
[[Landfall|The Shore]]), then the note's title property, then the file name. Leading numbers in file names, such as "01 The Cyclone", are dropped.%% … %% is ignored.unnumbered after a link, or set numbered: false in the chapter note. Front and back matter are never numbered.Chapter notes are ordinary Markdown:
* * *, ***, --- or # # # on a line of its own become the theme's ornament.![[map.png|A hand-drawn map of the island]] uses the alias as the image description. Write decorative as the alias for an image that carries no meaning.| Property | Meaning |
|---|---|
title, subtitle, author (or authors) |
Title page, metadata and running heads |
language |
Hyphenation, quote style and EPUB language, for example en, es, de, fr |
publisher, year, edition, copyright |
Copyright page |
isbn, ebook-isbn |
Print ISBN on the copyright page; ebook ISBN as the EPUB identifier |
description, subjects |
Store description and subjects in the EPUB metadata |
series, series-number, also-by |
Series metadata and the "Also by" page |
dedication, epigraph, epigraph-source |
Their own pages in the front matter |
cover |
Cover image for the EPUB |
theme |
classic or modern |
trim |
6x9 |
bleed |
true when images run off the page edge |
chapter-start |
recto (right-hand pages, the default) or any |
running-heads |
author-title, title-chapter or none |
toc, half-title, hyphenate, smart-quotes |
Turn those features on or off |
font-size |
Body size in points, from 7 to 24 |
scene-break |
Glyph to use for scene breaks, such as ❦ |
The studio's toolbar can override the theme and trim for a single export without editing the note.
data.json in your vault. The web app keeps them in your browser's local storage.Search for Book Studio under Settings → Community plugins → Browse. To install by hand instead:
main.js, manifest.json and styles.css from the latest release.main.js, manifest.json and styles.css into <your vault>/.obsidian/plugins/book-studio/.Open the studio from the ribbon icon or the command palette. The commands are Open studio, Export print PDF, Export EPUB and Create book from current folder. Exports are saved to the folder chosen in settings, Book Studio exports by default. The plugin works on desktop and mobile and needs Obsidian 1.7.2 or later.
Open the web app and choose Open a folder to load your own notes. To host it yourself, npm run build:web writes a static site to dist/web/ that any static host can serve.
npm install
npm run build # plugin (main.js, styles.css)
npm run build:all # plugin and web app
npm run build:web # just the web app
npm run dev # unminified builds with source maps
npm run typecheck
npm run lint # ESLint with Obsidian's plugin review rules
npm test # Vitest: parsing, layout, EPUB, audit
npm run sample # render the sample book to out/ from the command line
npm run sample runs the same pipeline from Node, which helps when checking output:
npm run sample -- path/to/folder
npm run sample -- --theme modern --out out/oz-modern
src/engine/ Parsing, typesetting, PDF, EPUB and checks (no DOM, no Obsidian)
src/app/ The studio UI shared by both hosts: toolbar, preview, export dialogs
src/preview/ Canvas renderer for the paged preview
src/obsidian/ Plugin entry: view, commands, settings, vault access
src/web/ Web app entry: folder picker, downloads, local storage
tests/ Vitest suites
tools/ Command-line renderer
sample/oz/ The sample book
fonts/ Bundled typefaces