Binder is free, open source software for power writers composing long form or short form works in plain text.
Stay organized with a clean, elegant directory structure, so you can:
- Write.
- Finish what you write.
- Send what you write to editors, publishers, and/or agencies.
While binder is designed for fiction writers, it can be used as a general purpose tool for any piece of writing with multiple chapters or sections. Optimized for simplicity, with full support for compilation into standard manuscript format, scene breaks, and a variety of customizable heading structures, binder is a powerful tool for managing a complicated work of literature down to the finest detail.
Table of Contents
Quick Start
Install the tool:
pip install -e .
Initialize folder structure:
binder --init
- Edit
binder.tomlwith your manuscript details - Add chapter files to
draft/using the naming format:1_Chapter_Title.txt2_The_Journey_Begins.txt3_Into_The_Woods.txt
Bind chapters into an ODT:
binder --bind
- Find your manuscript in
trash/
Configuration
All of the customizable options are available via command line, but you may find it easier to use a configuration file.
Config File
Running --init creates a binder.toml configuration file.
Settings in this file are used automatically, but can be overridden by command line arguments.
# Binding style: "novel" or "short-story" binding = "novel" # Chapter heading style: "roman", "title", "num", "chapter", or "nil" heading = "num" # Author surname for the page header author = "Smith" # Short title for the page header short-title = "Dark Forest" # Output filename (optional) # output = "manuscript.odt" # --- Title Page Options --- # Enable or disable the title page title-page = true # Full manuscript title (centered on title page) title = "The Dark Forest" # Author's full name (below title) author-name = "John Smith" # Author's contact info (top left of title page) author-address = """ John Smith 123 Main Street City, State 12345 email@example.com """
Config files are searched in this order:
- Current working directory
- Project path (
-pdirectory) ~/.config/binder.toml
Command Line Options
| Option | Short | Description |
|---|---|---|
--init |
Create draft/, trash/, and binder.toml | |
--bind |
Bind chapter files into ODT | |
--output |
-o |
Specify output filename |
--path |
-p |
Base path for project (default: current) |
--heading |
Chapter heading style (see below) | |
--binding |
Binding style: novel or short-story |
|
--author |
Author surname for page header | |
--short-title |
Short title for page header | |
--config |
-c |
Path to config file |
--no-config |
Ignore config file | |
--title |
Full manuscript title for title page | |
--author-name |
Author’s full name for title page | |
--author-address |
Author’s contact address for title page | |
--no-title-page |
Disable the title page | |
--stats |
Show manuscript statistics and readability |
Title Page
When enabled (default), the title page includes:
- Top left: Author’s contact address
- Center: Manuscript title (uppercase) and author name
- Bottom center: Word count rounded to nearest hundred
John Smith
123 Main Street
City, State 12345
email@example.com
THE DARK FOREST
by John Smith
about 45,000 words
The title page has no header. Headers begin on the first chapter page.
Disable the title page with --no-title-page or title-page = false in config.
Binding Styles
Use --binding to choose between novel and short story formatting.
Novel (default)
Each file becomes a chapter on its own page with a centered heading. The title page is a separate page with word count centered at the bottom.
binder --bind --binding novel
Short Story
Files are joined as a continuous story separated by # scene breaks instead of chapter headings.
The title page is compact: the word count appears top-right on the same line as the first address line, and the story text begins on the title page directly after the byline (no page break).
binder --bind --binding short-story
John Smith about 5,000 words
123 Main Street
City, State 12345
email@example.com
THE DARK FOREST
by John Smith
The rain fell steadily on the old tin roof. Maria sat
by the window, watching the droplets race each other down
the glass...
Also note that short story formatting uses different font, Times New Roman instead of Courier New. This is standard practice. Likewise, the emphasis used in the final output will be italics instead of underlines.
Page Header
When author and/or short-title are provided, a right-aligned header appears on each page (except the title page):
Smith / DARK FOREST / 1
Heading Styles
Use --heading to control how chapter headings appear:
| Style | Example Output | Description |
|---|---|---|
num |
1, 2, 3 | Just the number (default) |
roman |
I, II, III | Roman numerals |
title |
THE DARK FOREST | File title in ALL CAPS |
chapter |
Chapter 1 | “Chapter” followed by number |
nil |
(blank) | No heading, preserves spacing |
Manuscript Statistics
Use --stats to print a readability report for your manuscript:
binder --stats
Manuscript Statistics ────────────────────────────── Words: 45,678 Paragraphs: 1,234 Sentences: 2,345 Words/Paragraph: 37.0 Sentences/Paragraph: 1.9 Flesch Reading Ease: 65.2 (Standard)
The Flesch Reading Ease score is interpreted as follows:
| Score | Label |
|---|---|
| 90–100 | Very Easy |
| 80–89 | Easy |
| 70–79 | Fairly Easy |
| 60–69 | Standard |
| 50–59 | Fairly Difficult |
| 30–49 | Difficult |
| 0–29 | Very Confusing |
You can combine --stats with --bind to see statistics and produce an ODT in a single command:
binder --stats --bind
Example command line operations
# Initialize and bind in one command binder --init --bind # Bind with roman numeral headings binder --bind --heading roman # Bind with custom output name binder --bind -o my_novel.odt # Bind with page header (Author / Title / Page) binder --bind --author "Smith" --short-title "Dark Forest" # Bind with title page binder --bind --title "The Dark Forest" --author-name "John Smith" # Bind as a short story binder --bind --binding short-story # Use a specific config file binder --bind -c ~/my-config.toml # Ignore config file, use only CLI args binder --bind --no-config --author "Smith" # Show manuscript statistics binder --stats # Show stats and bind in one command binder --stats --bind # Work with a different project directory binder --init --bind -p ~/projects/my-book
Folder Structure
You will start your next project by simply creating a new directory somewhere in your file system.
Then run:
binder --init
After running --init you will get all this:
project/ ├── binder.toml <- Configuration file ├── draft/ <- Put your chapter .txt files here └── trash/ <- Output ODT files appear here
The use of “trash” as the folder title is ironic, because most manuscripts end up in the trash, but also because the manuscript files are just byproducts of what is present in the .txt chapter files.
So the purpose of the “trash” directory is simply to keep the ODT files separate from the all-important draft files.
Chapter File Format
Naming Convention
Files must match the pattern: N_Title.txt
Nis the chapter number (determines order)Titleuses underscores for spaces- Extension must be
.txt
Examples:
1_The_Beginning.txt2_Rising_Action.txt10_The_Climax.txt
Content Format
- Paragraphs are separated by blank lines
- Single newlines within a paragraph are joined with spaces
- Scene breaks:
#,###,***,* * *, or--- - Emphasis:
_text_renders as underlined text
Example content:
The rain fell steadily on the old tin roof. Maria sat by the window, watching the droplets race each other down the glass. She had been waiting for _three hours_. ### The door finally opened. A man stepped through, shaking water from his coat. "I'm _so_ sorry," he said.
Output Format
The generated ODT adheres to standard manuscript format as follows:
- 1 inch margins on all sides
- Courier New, 12pt (for novels) and Times New Roman 12pt (for short stories)
- Double-spaced lines
- 0.5 inch first-line indent
- Centered chapter headings (positioned halfway down page)
- Page break before each chapter (except first)
- No widow/orphan control
- Optional title page (no header)
- Optional page header with author/title/page number
- Novel and short story binding styles