# Previewing

Source: https://docs.skaz.io/guide/previewing

> Preview a Skaz story inside the editor before publishing: play every branch, check variables and endings, privately.

Preview lets you play your own story right inside the editor — before you
publish, and without anyone else being able to see it. It's the fastest way to
check that your branches, variables, and endings actually work the way you
intended.

## Opening the preview

Click the **eye icon** in the left toolbar (its tooltip reads *Preview story*).
A play window opens on top of the editor, starting from your
[starting block](/guide/editor-basics#node-inspector) — exactly what a reader
would see.

> If you have unsaved changes, Skaz saves your story first, then starts the
> preview. That means preview always plays your **latest** work — you never have
> to publish to test something.

## Playing through

The preview behaves just like the real player:

- **Text and images** appear as a reader would see them, with any
  `{{variable}}` placeholders filled in from the current values.
- **Choices** show up as buttons; click one to follow that branch.
- **User Input** blocks give you a text field — type an answer and continue,
  and it's saved into the variable just like in a real play.
- A **step counter** at the top shows how far into the story you are.

Because it's a real play session, all your [variables](/guide/variables),
[Variable Routers](/guide/blocks#variable-router), and conditions run for
real — so this is where you'll catch a router with no matching branch, a
counter that never changes, or an ending you can't actually reach.

## Restarting and closing

- **Restart** (the circular arrow) begins a fresh play from the start — handy
  for trying a different set of choices, or re-testing after you spot a
  problem.
- **Close** (the ✕) returns you to the editor. Fix whatever you found, then
  open preview again to check it.

> Preview runs a genuine play session, so it can also show up in your story's
> own [play tracking](/guide/tracking-plays) alongside real readers' sessions.
> That's expected.

## A good testing loop

1. Build or edit a branch.
2. Preview from the start and walk the path you just changed.
3. Restart and try the *other* choices too, so no branch is left untested.
4. Watch for dead ends: a block should either lead somewhere via a choice or
   be a deliberate [ending](/guide/choices#how-choices-look-to-players).
5. When it all plays cleanly, [publish](/guide/publishing).
