> For the complete documentation index, see [llms.txt](https://docs.umbraco.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.umbraco.com/umbraco-forms/19.latest/editor/managing-forms/rollback-to-a-previous-version.md).

# Rollback to a Previous Version

Return a form to an earlier version, and keep the versions that matter by pinning them.

Umbraco Forms stores a version of a form each time the form is saved. The workflows attached to the form are stored with it. You can return the form to any stored version.

## Roll a form back

1. Go to the **Forms** section.
2. Select the form you want to roll back.
3. Open the **Actions** menu and select **Rollback**.

   ![The Actions menu for a form, with the Rollback and Trash options.](https://2088753103-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd1GchPI0h7EO8fIchGRS%2Fuploads%2Fgit-blob-4b05978be4f3932f9d7d7730f9053227e82b38a2%2Fform-actions-menu.png?alt=media)

The Rollback window opens. The stored versions are listed with the newest first. The version the form currently uses is marked **Current version**.

4. Select a version to see what it holds.
5. Select **Rollback**.

![The Rollback window, with the version list on the left and the selected version's definition on the right.](https://2088753103-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fd1GchPI0h7EO8fIchGRS%2Fuploads%2Fgit-blob-535ac236a642ac827c9d2b03a647cf35e7c94b3c%2Fform-rollback.png?alt=media)

The form now matches the version you selected. The rollback is stored as a version of its own, so you can undo it the same way.

{% hint style="info" %}
The panel on the right shows the selected version as the raw form definition, in JSON. It is not a field-by-field comparison with the current version.
{% endhint %}

The version list loads a page of versions at a time. Select **Load more** to fetch the next page.

## Name clashes

A form takes its name from the version you roll back to. If another form in the same folder already uses that name, Umbraco Forms adds a suffix to keep the names unique.

## Keep a version

Each version in the list has a **Prevent cleanup** button. A version kept this way is never removed by version cleanup.

1. Open the Rollback window for the form.
2. Select **Prevent cleanup** next to the version you want to keep.

Select the button again to let the version be cleaned up.

## Version cleanup

Every version of a form is kept until you set up cleanup. Cleanup is opt-in, so upgrading Umbraco Forms never removes the history of a form on its own.

The most recent version of a form is always kept, as is any version set to prevent cleanup.

For details, see the [FormVersionCleanup](/umbraco-forms/19.latest/developer/configuration.md#formversioncleanup) section of the Configuration article.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.umbraco.com/umbraco-forms/19.latest/editor/managing-forms/rollback-to-a-previous-version.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
