How long does a Shopify Horizon migration take?
Four to eight weeks, and the build is rarely the constraint.
A Shopify Horizon migration typically takes four to eight weeks of elapsed time, depending on how much your store does and how quickly your team can review things.
What extends a migration is the work of establishing what the current store does, and the calendar time spent waiting for decisions.
What’s the realistic range?
Most Horizon migrations fall into one of three bands.
| Store profile | Typical duration |
|---|---|
| Single store, single market, light customization | 3–4 weeks |
| Single store, single market, heavily customized | 4–6 weeks |
| Multistore or multimarket | 6–10 weeks |
These are elapsed durations, not effort. A four-week migration does not mean four weeks of continuous work — it means four weeks from start to a published storefront, including the periods when the project is waiting on your team.
Anything quoted at under two weeks for a mature store should be treated with suspicion. It usually means the scope hasn’t been examined, and an unexamined scope is where change orders come from.
What determines whether you’re at the short end or the long end?
Five factors account for almost all the variance in Horizon migration timelines.
A store with four bespoke sections and a store with forty are fundamentally different projects. Custom section count is the single largest driver of build effort.
A theme with heavily modified core files carries more accumulated logic to reproduce, and that logic is usually undocumented.
Apps installed through theme app extensions add almost nothing to the timeline. Apps hardcoded into theme files each need individual handling. More on which apps break →
Each additional market adds configuration, translation handling and testing. Each additional storefront multiplies the work rather than adding to it. More on multistore scope →
This is the factor most often underestimated and the one most often responsible for a project running late.
What are the phases, and how long does each take?
A Horizon migration runs through four phases, and they are not equally long or equally demanding of your attention.
Establishing what the current theme does, in writing, with acceptance criteria. The duration depends entirely on whether the store has already been assessed.
If a documented inventory already exists, this phase is a review and sign-off taking a day or two. If it doesn’t, it’s a full discovery exercise that can take one to two weeks.
Reconstructing the storefront on Horizon, against the approved requirements. This phase runs on an unpublished duplicate theme and costs your team almost nothing.
Your team in a sandbox environment, checking the new build against how the store behaves today, plus performance, SEO and accessibility verification.
Publishing, monitoring, and training your team on what they can now do without a developer.
Which parts need your team’s time?
Merchant time is concentrated in two windows, and it totals a handful of hours rather than a sustained commitment.
Two hours in a working session, plus reading time. This is where the business rules that exist only in your team’s heads get captured — why the bundle logic works the way it does, what changes during a sale, the fix somebody wrote three years ago that everyone has forgotten.
A few hours across two or three days, testing the new build against how the store actually behaves.
Everything between those two windows costs you almost nothing. The build happens on a duplicate theme, and there is genuinely nothing for your team to do while it runs.
What makes a migration run late?
Migrations run late because of approvals and discovered scope, not because building takes longer than expected.
The most common cause. A requirements document that sits unreviewed for a week has consumed a week of the timeline. Naming a single approver, with a stated turnaround commitment, prevents most of this.
Something the store does that nobody mentioned and nobody wrote down surfaces during testing, and it has to be built. Entirely preventable through proper documentation, and entirely predictable without it.
If a business-critical app needs a Horizon-compatible version from its maker, the timeline belongs to the vendor rather than to your agency. Finding this out before signing rather than during the build is the whole reason for mapping compatibility up front.
Can a migration happen during a code freeze?
Yes, and a code freeze is often the ideal window, because the build runs on an unpublished duplicate theme and doesn’t touch the live store until you publish it.
The constraint is that requirements sign-off needs real attention from your team and has to happen before the freeze begins. Once it’s signed, the build and testing can run through a period the business would otherwise write off entirely.
Migrating during a code freeze →
How long does it take if you do it yourself?
An in-house Horizon migration usually takes longer than teams expect, because the underestimated work is documentation and compatibility mapping rather than building.
Building Horizon blocks is not difficult for a competent Shopify developer. Establishing exactly what the current theme does after several years of accumulated changes, and confirming which of your apps have a Horizon path, is the part that consumes time — and it’s the part in-house teams tend to skip, because everyone assumes they already know what the store does.
If you do it in-house, the sequence that matters is: document first, map app compatibility second, build third. Teams that build first tend to discover the documentation problem in testing.
Frequently asked questions
How long does a Shopify Horizon migration take?
Typically four to eight weeks of elapsed time. A single store with light customization can be done in three to four weeks; multistore or multimarket work usually runs six to ten.
How much of my team’s time does it take?
A few hours in total, concentrated in two windows: a two-hour requirements sign-off session at the start, and sandbox testing before launch. The build phase requires almost nothing from you.
Can I migrate to Horizon in a week?
For a very simple store with minimal customization, possibly. For a mature store with custom sections and an established app stack, a one-week quote almost certainly means the scope hasn’t been examined.
What makes a theme migration run late?
Slow approvals and functionality discovered mid-build that nobody documented. Both are preventable, and neither is about how long the building takes.
Does my store go offline during a migration?
No. The work happens on an unpublished duplicate theme. Your live store is unaffected until you choose to publish the new one, which is a single action.
Find out what your migration would actually involve.
Five days, a written assessment of your store: what you have, what would break, what you’d gain, what it would cost, and whether you should do it at all. $2,500, credited in full against the migration.
Not ready for that? The fixed-price migration page sets out the scope, the guarantees and what four weeks actually buys.








