Write a tale your readers can play.

Taleswords is where you make your own interactive story game. Draw the choices, write the lines, share the link. No code.

Start writing

No account needed to begin.

What you make.

A tale is a story that branches. Your reader meets a choice, makes it, and the story goes where they took it. They can come back and find out what the other road held.

You write it the way your reader will walk it: one line, one choice, one path at a time.

The map in the editor, where a line branches into choices.

How it works.

  1. The editor with the first line of a tale and the controls that add a line or a choice.

    Start. Open the editor and begin. No sign-up. Your first tale waits for you for 90 days; make an account whenever you like and it comes with you.

  2. A choice on the map, joined by a connector to the line it leads to.

    Draw. Your tale is a map on a canvas. Add a line, add a choice, draw where each one leads.

  3. The player open beside the map, playing the selected line. A line selected on the map. The player, playing that line.

    Play. Press play whenever you want and read it as your reader will, right beside the map.

  4. The Publish story prompt, with Cancel and Publish.

    Share. Publish, and you have a link. Anyone with it can play, with nothing to install.

Put it on your own site.

One script tag and your tale plays on your page or in your app. Readers need nothing to install.

Script tag

<script src="https://unpkg.com/@taleswords/player/build/player.iife.js"></script>
<div id="tale"></div>
<script>
TaleswordsPlayer.mount(
  document.getElementById('tale'),
  {
    projectId: 'your-tale-id',
    apiBase: 'https://taleswords.com'
  })
</script>

React

Building with React or Vue? Install the player from npm.

npm install @taleswords/player

import { TaleswordsPlayer }
  from '@taleswords/player/react'

<TaleswordsPlayer
  projectId="your-tale-id"
  apiBase="https://taleswords.com"
/>

Vue 3

Building with React or Vue? Install the player from npm.

npm install @taleswords/player

import { TaleswordsPlayer }
  from '@taleswords/player/components'

<TaleswordsPlayer
  project-id="your-tale-id"
  api-base="https://taleswords.com"
/>

What is in it.

It stays yours.

You keep all the rights to what you write. We claim none of it.

Sell your game if you want to.

What it costs.

Nothing. Taleswords is free. No card, no trial clock.

Your tale has more than one ending.

Start writing