This is a single-file web app for creating gamebooks. All work happens in your browser — no internet, no installation, no registration.
The result is a single HTML file. You can open it in any browser, send it by email, put it on a disk or in the cloud.
The author creates the game here; the reader plays the resulting file.
editor.html (or any name with the .html extension).Load HTML or markdown.txt
Opens a file picker. Supports:
Save HTML
Saves the game in its current state. Dice, character sheet, bookmarks — everything stays in the file. The file's title is taken from the game title.
Save as
Opens a window with a format choice:
Create new paragraph
Adds a new empty paragraph at the end of the list and immediately opens it for editing.
Shuffle paragraphs
Shuffles the paragraphs randomly and automatically renumbers all links so that they still point to the same paragraphs.
Add dice
Enables a dice script in the game. A "Show dice" button will appear in the game. If the script has already been added, the button is called Remove dice.
Character sheet
Opens the character parameter editor: you can create sections with fields, add "Inventory", "Secret words" and "Notebook" sections. All data is stored in the reader's browser. See section 7 for details.
Output data
Game title, author, description and various sections (prologue, rules). Appears before the first paragraph. See section 8 for details.
Transition table
Opens a table of all paragraphs in a new window. Each row has four columns: the paragraph number, its short summary, where it leads, and where incoming links come from. The table helps you quickly find "dead ends" (paragraphs with no outgoing links) and "orphans" (paragraphs nobody leads to). See section 5 for details.
Bookmarks and notes
Opens a list of marked paragraphs. See section 6 for details.
▶ Preview the game
Generates a clean HTML game file (without any editor traces) and opens it in a new browser window. Links there work just like in normal HTML. This is the reading mode — to check how a reader will see the game.
At the top of the preview window there is a Reload updates button. If you changed the game in the editor and saved, click it to see the updated version without closing the window. This is handy when you keep the game open for a player and update it periodically.
Settings
Opens a window with a theme choice (light or dark) and interface language. The Help button is here too.
To start editing, click the edit paragraph N button next to the heading of the paragraph you want.
A form will open:
This changes the number. If that number is already taken, the program will ask whether to replace it.
Each field is a separate paragraph of text. The Add paragraph button creates a new one. The Delete button next to a paragraph removes it.
Each action is a row with three parts:
The Add action button creates a new row.
If you leave the "number" field empty, the program will automatically assign a new number and create the paragraph.
📌 Save and keep number
Saves the paragraph and pins its number. Such a paragraph will not change its number when you "Shuffle paragraphs". Useful for secret paragraphs that are referenced from the text.
Save paragraph
Normal save. The number may change when shuffling.
Cancel
Closes the form without saving.
Delete paragraph
Completely removes this paragraph. Links to it in other paragraphs will remain but will lead nowhere.
Below every paragraph in the editor there is an italic line like "go back to paragraph 23, go back to paragraph 56". These are back-links — a list of paragraphs that lead to the current one.
Why you need this:
In view mode of the editor (that is, when a paragraph is not opened for editing) you can click on the actions directly inside the paragraph. For example, you see "go north - 15" — click it, and the editor will scroll you to paragraph 15. This way you can walk through the game without leaving the editor — it's faster than opening a separate preview window.
The transition table is a tool for analyzing the structure of your game. It shows all paragraphs and the connections between them. It opens from the main screen with the Transition table button.
Each row is one paragraph. The columns:
At the top of the window there are several buttons. Click any of them — and the table rebuilds immediately.
You have written a new branch. Open the table, click "Sort by column 'Where from'". At the top will be paragraphs that nobody leads to yet. If some of them are your new ones — that means you forgot to add a link to them from previous paragraphs. This is faster than checking manually.
Used to mark unfinished branches and return to them later.
The Bookmarks and notes button on the main screen opens the list. Each row shows:
Clicking a row jumps to the paragraph. The Delete button removes the bookmark and note.
This is a block of fields that the reader fills in during the game. For example: health, gold, inventory.
A Character sheet button will appear in the game. It opens a form with fields. All the reader's data is stored in their browser — even if they close the game.
This is information shown before the first paragraph:
To remove everything — Delete all output data.
The Add dice button enables a script in the game with two dice: rolling one, and rolling two at once.
A Show dice button will appear in the game. It opens a separate window where you can roll dice.
To remove — click Remove dice.
Save HTML — this is the main format. It saves everything: paragraphs, dice, character sheet, links.
The file name is taken from the game title (spaces replaced with underscores).
Save as — for TXT, DOC, RTF, PDF. These formats are intended for reading or printing, not for playing.
The game is saved as HTML. But for those who want to edit it in a text editor, there is the markdown.txt format.
# Game title — level-one heading;## Author — author;## N — start of the paragraph numbered N (exactly two hashes!);- [text - N](#pN) — an action leading to paragraph N.# A Walk
## Author
A short game about a journey.
## 1
You step out of the house. The weather is fine. A walk would be nice.
- [Go to the gate - 5](#p5)
## 5
The gate creaks. You look around, wondering where to go next.
- [Go back inside - 1](#p1)
If the text says "go to paragraph 265", that paragraph must be pinned. Otherwise, after "Shuffle paragraphs", link 265 will point to the wrong place.
Action text should be short: "go north", "open the chest", "talk to the guard". Long phrases are hard to read in a list.
Before big changes (like shuffling), save a separate copy of the file. If something goes wrong, you have somewhere to return to.
Bookmark unfinished branches. That way you always see what still needs writing.
If you're actively working on the game structure, it's convenient to keep the transition table in a separate window. After each serious change, click "Refresh table" — and you'll always have a fresh picture of the transitions in front of you.