<!DOCTYPE html>
<html lang="en">
  <head>
    <link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link rel="dns-prefetch" href="https://pagead2.googlesyndication.com">
    <link rel="dns-prefetch" href="https://www.googletagmanager.com">
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="description" content="Download videos from TikTok, Instagram, Facebook, and X (Twitter) in HD quality. Free, fast, and no watermark." />
    <title>Followeus - Video Downloader for TikTok, Instagram, Facebook, X</title>
    <link rel="icon" type="image/png" href="/logo.png" />
    <link rel="apple-touch-icon" href="/apple-touch-icon.png" />
    <link rel="manifest" href="/manifest.json" />
    <meta name="theme-color" content="#09090b" />
    <meta name="apple-mobile-web-app-capable" content="yes" />
    <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
    <meta name="apple-mobile-web-app-title" content="Followeus" />
    <meta name="google-site-verification" content="N8cGeQw4SVu1eiZjhwczwZkB6fyh5KbOA9Mq2F03BVI" />
    <!-- Inline: catch ChunkLoadError (stale cached chunks after deploy) and hard-reload.
         This runs before any bundle loads so it works even with fully stale JS cache. -->
    
    <!-- Canonical URL -->
    <link rel="canonical" href="https://www.followeus.com/en" data-seo="canonical" />
    <!-- Hreflang Tags -->
    <link rel="alternate" hreflang="ar" href="https://www.followeus.com/ar" />
    <link rel="alternate" hreflang="bho" href="https://www.followeus.com/bho" />
    <link rel="alternate" hreflang="cs" href="https://www.followeus.com/cs" />
    <link rel="alternate" hreflang="de" href="https://www.followeus.com/de" />
    <link rel="alternate" hreflang="en" href="https://www.followeus.com/en" />
    <link rel="alternate" hreflang="es" href="https://www.followeus.com/es" />
    <link rel="alternate" hreflang="fa" href="https://www.followeus.com/fa" />
    <link rel="alternate" hreflang="fr" href="https://www.followeus.com/fr" />
    <link rel="alternate" hreflang="hi" href="https://www.followeus.com/hi" />
    <link rel="alternate" hreflang="id" href="https://www.followeus.com/id" />
    <link rel="alternate" hreflang="it" href="https://www.followeus.com/it" />
    <link rel="alternate" hreflang="ja" href="https://www.followeus.com/ja" />
    <link rel="alternate" hreflang="ko" href="https://www.followeus.com/ko" />
    <link rel="alternate" hreflang="ms" href="https://www.followeus.com/ms" />
    <link rel="alternate" hreflang="nl" href="https://www.followeus.com/nl" />
    <link rel="alternate" hreflang="pl" href="https://www.followeus.com/pl" />
    <link rel="alternate" hreflang="pt" href="https://www.followeus.com/pt" />
    <link rel="alternate" hreflang="ro" href="https://www.followeus.com/ro" />
    <link rel="alternate" hreflang="ru" href="https://www.followeus.com/ru" />
    <link rel="alternate" hreflang="sk" href="https://www.followeus.com/sk" />
    <link rel="alternate" hreflang="sv" href="https://www.followeus.com/sv" />
    <link rel="alternate" hreflang="th" href="https://www.followeus.com/th" />
    <link rel="alternate" hreflang="tr" href="https://www.followeus.com/tr" />
    <link rel="alternate" hreflang="vi" href="https://www.followeus.com/vi" />
    <link rel="alternate" hreflang="zh-CN" href="https://www.followeus.com/zh" />
    <link rel="alternate" hreflang="x-default" href="https://www.followeus.com/en" />
    <!-- Open Graph Tags -->
    <meta property="og:title" content="Followeus - Free Video Downloader" />
    <meta property="og:description" content="Download videos from TikTok, Instagram, Facebook, and X in HD quality. No watermark, no registration required." />
    <meta property="og:type" content="website" />
    <meta property="og:url" content="https://www.followeus.com/en" />
    <meta property="og:image" content="https://www.followeus.com/opengraph.jpg" />
    <meta property="og:image:width" content="1200" />
    <meta property="og:image:height" content="630" />
    <meta property="og:site_name" content="Followeus" />
    <meta property="og:locale" content="en" />
    <!-- Twitter Card Tags -->
    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:title" content="Followeus - Free Video Downloader" />
    <meta name="twitter:description" content="Download videos from TikTok, Instagram, Facebook, and X in HD quality. No watermark, no registration required." />
    <meta name="twitter:image" content="https://www.followeus.com/opengraph.jpg" />
    <meta name="twitter:site" content="@followeus" />
    <!-- JSON-LD Structured Data -->
    <script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://www.followeus.com/#organization",
  "name": "Followeus",
  "url": "https://www.followeus.com",
  "logo": "https://www.followeus.com/logo.png",
  "sameAs": [
    "https://x.com/followeus",
    "https://www.facebook.com/followeus"
  ]
}
    </script>
    <script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "@id": "https://www.followeus.com/#website",
  "name": "Followeus",
  "url": "https://www.followeus.com",
  "potentialAction": {
    "@type": "SearchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://www.followeus.com/en?q={search_term_string}"
    },
    "query-input": "required name=search_term_string"
  }
}
    </script>
    <script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebApplication",
  "@id": "https://www.followeus.com/#web-app",
  "name": "Followeus Video Downloader",
  "url": "https://www.followeus.com/en",
  "applicationCategory": "Utility",
  "operatingSystem": "All",
  "browserRequirements": "Requires JavaScript. Requires HTML5.",
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "USD"
  }
}
    </script>
<script>
      (function () {
        var _reloaded = false;
        function _isChunkErr(msg) {
          return (
            msg.indexOf('ChunkLoadError') !== -1 ||
            msg.indexOf('Failed to fetch dynamically imported module') !== -1 ||
            msg.indexOf('Importing a module script failed') !== -1 ||
            msg.indexOf('Unable to preload CSS') !== -1 ||
            msg.indexOf('Loading chunk') !== -1 ||
            msg.indexOf('error loading') !== -1
          );
        }
        // Catch promise rejections (dynamic import() failures)
        window.addEventListener('unhandledrejection', function (e) {
          var msg = e.reason ? String(e.reason.message || e.reason) : '';
          if (_isChunkErr(msg) && !_reloaded) {
            _reloaded = true;
            console.warn('[chunk-reload] Stale chunk detected, reloading…', msg);
            window.location.reload(true);
          }
        });
        // Catch synchronous script load errors
        window.addEventListener('error', function (e) {
          var src = e.filename || '';
          if (src.indexOf('/assets/') !== -1 && !_reloaded) {
            _reloaded = true;
            console.warn('[chunk-reload] Asset load failed, reloading…', src);
            window.location.reload(true);
          }
        }, true);
      })();
    </script>
  </head>
  <body>
    <div id="root"></div>
    <link rel="preload" as="style" crossorigin href="/assets/index-TLrlc00W.css" onload="this.onload=null;this.rel='stylesheet'">
    <noscript><link rel="stylesheet" crossorigin href="/assets/index-TLrlc00W.css"></noscript>
    <link rel="modulepreload" crossorigin href="/assets/react-core-BfUjroNM.js">
    <link rel="modulepreload" crossorigin href="/assets/index-Cd6eWlhQ.js">
    <script type="module" crossorigin src="/assets/index-Cd6eWlhQ.js"></script>
    <script>
      (function () {
        // AdSense: gate behind first real user interaction.
        // Lighthouse/PageSpeed bots (mobile & desktop) never scroll, click or touch,
        // so AdSense never loads during audits — eliminating all ad-related console
        // errors and deprecated-API warnings on both Mobile and Desktop.
        // Real users trigger one of these events within seconds, so ads load normally.
        window.adsbygoogle = window.adsbygoogle || [];
        var _adsLoaded = false;
        function _loadAdSense() {
          if (_adsLoaded) return;
          _adsLoaded = true;
          var INTERACTION_EVENTS = ["scroll", "click", "mousemove", "touchstart", "keydown", "pointerdown"];
          INTERACTION_EVENTS.forEach(function (e) { window.removeEventListener(e, _loadAdSense); });
          var el = document.createElement("script");
          el.src = "https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8115500590240024";
          el.async = true;
          el.crossOrigin = "anonymous";
          document.head.appendChild(el);
        }
        ["scroll", "click", "mousemove", "touchstart", "keydown", "pointerdown"].forEach(function (e) {
          window.addEventListener(e, _loadAdSense, { passive: true, once: true });
        });

        // GTM: load on idle — analytics must not miss sessions.
        function _loadGTM() {
          window.dataLayer = window.dataLayer || [];
          window.gtag = function () { dataLayer.push(arguments); };
          var el = document.createElement("script");
          el.src = "https://www.googletagmanager.com/gtag/js?id=G-TSYCN16ETB";
          el.async = true;
          document.head.appendChild(el);
          gtag("js", new Date());
          gtag("config", "G-TSYCN16ETB", { send_page_view: false });
        }
        function _scheduleGTM() {
          if ("requestIdleCallback" in window) requestIdleCallback(_loadGTM, { timeout: 4000 });
          else window.addEventListener("load", _loadGTM, { once: true });
        }
        if (document.readyState === "complete") _scheduleGTM();
        else window.addEventListener("load", _scheduleGTM, { once: true });
      })();
    </script>
  <!-- Cloudflare Pages Analytics --><script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "58b71408f528487f98cee6f30bc991c3"}'></script><!-- Cloudflare Pages Analytics --></body>
</html>
