How to back up a Shopify theme
Last updated 3 August 2026
The two free ways, and where they run out
Duplicate the theme in Online Store, Themes, before you start editing. It takes one click and it is the right habit. Its weakness is that the copy lives in the same store: it counts against the theme limit, it is easy to overwrite with a later duplicate of the same name, and it disappears with the store it lives in.
Download the theme as a .zip from the same screen and keep it somewhere of your own. This is a real backup. Its weakness is that it happens only when a human remembers, which is reliably never on the day before a bad edit.
The Timeline in the code editor, and where it stops
Shopify does keep a per-file history in the theme code editor: open a file, pick an earlier version from the Timeline, review the difference, restore. For a Liquid file you broke an hour ago it is the fastest fix there is, and it costs nothing.
Its documented limits are the reason this page exists. It restores one file at a time and never a whole theme. It cannot recover deleted theme files. Assets - images, CSS, JS and fonts - have no Timeline history at all. And the history is finite, so an older version may simply not be there when you look. Restoring also replaces the entire file, including changes made since, so copy the current contents somewhere first. Checked against Shopify's documentation on 23 August 2026.
What a versioned backup adds
A copy per change, dated, without anyone clicking. That is the whole difference. When a section stops rendering and nobody can say what changed, the question is not "do we have a theme backup" but "what did this file look like on Friday", and only a versioned history answers it.
In StoreVault themes are captured on a daily pass and kept as versions. From a theme's record you export the files of that version as a .zip.
How a theme comes back, and what we still will not do
Since 8 September 2026 a restore writes theme files back into the theme they came from. It asks first: permission to edit themes is separate, you grant it on the restore screen, and until you do, StoreVault only reads. The plan names every file it would write, you approve it, and the receipt says what the store contained when we read it back.
What we will not do is create a theme or publish one. That is Shopify’s rule for apps and it is also our own preference: publishing is the most visible action on a storefront, and doing it from a backup without you watching is not a risk worth taking. So if the theme itself was deleted, there is nowhere to write it back - you download the .zip of the version you need and upload it yourself in Online Store, Themes, Add theme, Upload zip file, then preview it before publishing.
A restore also writes files back rather than deleting yours: anything added to the theme after the snapshot stays where it is.
What the export contains
The files of the theme as they were at that version. What it does not contain is anything Shopify keeps outside the theme files: apps that inject blocks are their own apps, and content stored in metaobjects belongs to the store rather than to the theme. If a section pulls its text from somewhere else, the theme copy will render an empty section, not the text.
The same honesty applied to every other type is on what backup apps can and cannot restore.
A workable routine
Duplicate before you edit, because it is free and instant. Keep an off-store copy for the version that is currently live, because a duplicate does not survive the store. And if you would rather not depend on remembering either of those, let something keep the versions for you - how often that has to happen depends on how often your theme actually changes, which for most stores is more often than they think.
A theme change is rarely the only change in flight. The same preparation for the other two occasions when stores break is on backing up before a bulk edit and before a migration.
A backup app covers you from the day it is installed, not from the day you need it. That is true of all of them, ours included.
StoreVault on the Shopify App Store - versioned backups of products, collections, content and themes, plus inventory levels on paid plans, with a plan shown before any restore writes.