Videos, Sources & Storage

Migrating from Vimeo to SmartVideo

Updated October 10, 2026

Switching from Vimeo to SmartVideo doesn’t require re-uploading all your videos at once. There are two paths depending on how much control you want.

Option 1: Auto-conversion (easiest)

This is the simplest migration path — no embed code changes required. Vimeo auto-conversion is on by default, so SmartVideo handles the rest automatically as visitors load your pages. See Automatic Vimeo conversions for where to check the setting and how it works under the hood.

Option 2: SmartVideo tag (best performance)

For the fastest page load, replace your Vimeo embeds with SmartVideo tags. You can do this today — it’s the setup we’d point you to if you’re comfortable editing your own templates.

Replace this:

<iframe src="https://player.vimeo.com/video/123456789" ...></iframe>

With this:

<smartvideo src="https://player.vimeo.com/video/123456789"
            width="1280" height="720"
            class="swarm-fluid" controls>
</smartvideo>

Use the embed form of the Vimeo URL (https://player.vimeo.com/video/123456789). A plain https://vimeo.com/123456789 page URL works too — SmartVideo rewrites it to the embed form for you — but that rewrite only handles that exact shape. A www.vimeo.com/... link, or an unlisted link with an extra code in the path (vimeo.com/123456789/abc123), won’t be rewritten, so convert those to the embed form yourself. See Basic SmartVideo tag options for the full list of attributes you can add.

Wait — why is the Vimeo URL still in there?

It’s only an identifier. We hash that URL to work out where your video lives on our CDN, so once the video has converted, playback comes entirely from us — nothing is fetched from Vimeo, and Vimeo’s iframe and player JavaScript never load. (A video that hasn’t converted yet is the one exception, and it’s a temporary one — see “You don’t have to wait for conversions to finish” below.)

What this actually saves you

With auto-conversion, our head script finds the third-party embeds on your page and swaps them out at load time. When you use the SmartVideo tag directly, there’s nothing to swap — the player is built straight from your own markup.

Keep the SmartVideo snippet in your <head>. It’s what builds the player, so it’s still required. What goes away is the scan-and-replace pass over your Vimeo embeds, not the script itself.

Once the last embed is swapped, you can turn the embed scan off. autoreplace.youtube and autoreplace.vimeo work as one switch: if either is true, SmartVideo replaces both YouTube and Vimeo embeds. In your swarmoptions, set autoreplace: { youtube: false, vimeo: false }. The script then stops looking for YouTube and Vimeo iframes entirely and only picks up your <smartvideo> tags (that’s autoreplace.smartvideotag, which is on by default). Leave both on while you still have Vimeo embeds waiting to be swapped, or YouTube embeds you want SmartVideo to keep replacing. See Configure SmartVideo with swarmoptions for where these options go.

You don’t have to wait for conversions to finish

You can swap every embed on your site today, even if most of your library hasn’t converted yet. If a video hasn’t been converted, the tag still queues it for conversion and falls back to playing from Vimeo in the meantime — so nothing breaks mid-migration, and each video quietly switches over to the SmartVideo player as it finishes.

That means the order doesn’t matter: swap the embeds whenever it’s convenient, and let conversions catch up behind you.

Going further

If you’re comfortable in the code, Configure a single video with data-swarm-setup covers per-video overrides, and Configure SmartVideo with swarmoptions covers the site-wide settings beyond autoreplace.

Vimeo privacy settings

Your Vimeo videos need to be accessible for SmartVideo to import them. These privacy settings work:

  • Who can watch: Anyone works. “Only me” and “People with the password” block SmartVideo from importing the video.
  • Where can this be embedded: Specific domains, with your website’s domain on the list, keeps the video private to your own site while SmartVideo serves it. Anywhere works too.

Don’t switch an already-embedded video to Unlisted (“Anyone with the link”): it adds an h= hash to the URL, so existing embeds stop matching.

How to verify the migration is working

A Vimeo embed switches to the SmartVideo player once its video has converted — on the current player, look for its floating rounded control bar in place of your original embed. The WordPress plugin’s Legacy player (the default in plugin 2.4) switches embeds right away, so on WordPress, confirm conversion with the Network tab check in How do I know SmartVideo is working?.

What to expect during the transition

  • Processing takes about as long as the video runs, longer when our encoders are busy
  • All videos continue playing normally during processing - there’s no downtime
  • To check on a specific video, reload the page it’s on: once it’s converted, you’ll see the SmartVideo player with its floating rounded control bar in place of the Vimeo embed (on the WordPress plugin’s Legacy player, it appears right away). How do I know SmartVideo is working? covers the other ways to confirm, and you can always email support@swarmify.com for a count of how many of your videos have finished encoding.

Things to keep in mind

Chapters: SmartVideo does not currently support Vimeo’s chapter markers. If your videos rely on chapters for navigation, that feature won’t carry over.

Analytics: SmartVideo doesn’t replicate Vimeo’s heatmap-style engagement analytics. SmartVideo does track views and integrates with Google Analytics for video events (play, pause, progress milestones). Install the Google tag (gtag.js) on the page; a Google Tag Manager (GTM) container alone doesn’t create window.gtag, so SmartVideo has nothing to send events to. On WordPress, the SmartVideo plugin’s Legacy player sends events only to the retired Universal Analytics, so GA4 receives none. See Track SmartVideo events in GA4 and Google Tag Manager.

Captions: SmartVideo imports your Vimeo video’s captions when it first processes the video. Turn on caption import so the player shows the English track. See our captions guide for details.

Canceling Vimeo

Before canceling your Vimeo subscription, open every page carrying a Vimeo embed once, including course and member pages behind a login, while logged in. Then confirm that those videos have finished converting using How do I know SmartVideo is working?. Videos that haven’t converted yet keep playing from Vimeo in the meantime. See Automatic Vimeo conversions for the whole-library steps.

There’s no rush on this - both services can run side by side for as long as you need.

Thinking through the move? See the Vimeo migration overview.

Keywords: Vimeo, migrate, migration, switch from Vimeo, cancel Vimeo, Vimeo alternative, auto-conversion, privacy settings, replace Vimeo embed, swap embeds, native SmartVideo tag, smartvideo tag, iframe, head script, autoreplace, swarmoptions, page speed, player.vimeo.com, fallback, mid-migration

Stuck on an import?

Send us the source and format details and we’ll help you get the video in.