1<!doctype html> 2<html lang="en" dir="ltr"> 3 <head> 4 <!-- Google tag (gtag.js) â Consent Mode v2 defaults MUST run before the loader. 5 Kept in sync with the Entry Admin / apply.entry.com tag setup. --> 6
6<script> 7 window.dataLayer = window.dataLayer || []; 8 function gtag(){dataLayer.push(arguments);} 9 window.__consentState = { 10 ad_storage: 'denied', 11 analytics_storage: 'denied', 12 ad_user_data: 'denied', 13 ad_personalization: 'denied', 14 }; 15 gtag('consent', 'default', { 16 ad_storage: 'denied', 17 analytics_storage: 'denied', 18 ad_user_data: 'denied', 19 ad_personalization: 'denied', 20 wait_for_update: 500, 21 }); 22 // Cookieless attribution: keeps gclid/gbraid/wbraid alive across hops while 23 // ad_storage is denied, and redacts ad identifiers on pings sent meanwhile. 24 gtag('set', 'url_passthrough', true); 25 gtag('set', 'ads_data_redaction', true); 26 gtag('js', new Date()); 27 28 // GA4 base â cross-domain linker across every brand host so 29 // click IDs and sessions survive redirects into intake. 30 gtag('config', 'G-CZKM12NG8C', { 31 linker: { 32 domains: [ 33 'entry.com', 'secure.entry.com', 'apply.entry.com', 'intake.entry.com', 34 'support.entry.com', 'us.entry.com', 'uk.entry.com', 35 'quickpassport.com', 'start.quickpassport.com', 36 'usvisaconnection.com', 'apply.usvisaconnection.com', 'start.usvisaconnection.com', 37 'apply.ivs.us', 38 'entryadmin.lovable.app', 'entryoffical.lovable.app', 39 ], 40 accept_incoming: true, 41 }, 42 }); 43 // Unified Google Ads base config â single account for every brand + product. 44 gtag('config', 'AW-18107746901', { allow_enhanced_conversions: true }); 45 </script>
vendor: 68 bytes, lines 45-46
45 46 <script async src="https://www.googletagmanager.com/gtag/js?id=
46G-CZKM12NG8C
vendor: 79 bytes, lines 46-47
46"></script> 47 <script async src="https://www.googletagmanager.com/gtag/js?id=
47AW-18107746901
vendor: 17 bytes, lines 47-49
47"></script> 48 49
49<meta charset="UTF-8" /> 50 <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover, interactive-widget=resizes-content" /> 51 <meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)" /> 52 <meta name="theme-color" content="#0a0a0a" media="(prefers-color-scheme: dark)" /> 53 <meta name="mobile-web-app-capable" content="yes" /> 54 <meta name="apple-mobile-web-app-capable" content="yes" /> 55 <meta name="apple-mobile-web-app-status-bar-style" content="default" /> 56 <meta name="format-detection" content="telephone=no" /> 57 <link rel="icon" href="/favicon.ico" type="image/x-icon" /> 58 <link rel="preconnect" href="https://fonts.googleapis.com" /> 59 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> 60 <link rel="preconnect" href="https://images.unsplash.com" crossorigin /> 61 <link rel="dns-prefetch" href="https://flagcdn.com" /> 62 <!-- Fonts: trimmed weights, loaded non-blocking so first paint isn't gated on them --> 63 <link 64 rel="preload" 65 as="style" 66 href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap" 67 /> 68 <link 69 rel="stylesheet" 70 media="print" 71 onload="this.media='all'" 72 href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap" 73 /> 74 <noscript> 75 <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap" /> 76 </noscript> 77 78 <link rel="dns-prefetch" href="https://hsceqjemsraxmlvtkuep.supabase.co" /> 79 <!-- Preload hero poster (LCP candidate on "/") --> 80 <link rel="preload" as="image" href="/hero-poster.jpg?v=2" fetchpriority="high" /> 81 <!-- Warm the connection for the hero video CDN --> 82 <link rel="preconnect" href="https://entry.com" crossorigin /> 83 <title>Visa Requirements by Country | Entry</title> 84 <meta name="description" content="Understand visa requirements, common documents, entry rules and official next steps for destinations worldwide." /> 85 <meta name="robots" content="index, follow" /> 86 <meta name="author" content="Entry" /> 87 88 <meta property="og:title" content="Visa Requirements by Country | Entry" /> 89 <meta property="og:description" content="Understand visa requirements, common documents, entry rules and official next steps for destinations worldwide." /> 90 <meta property="og:type" content="website" /> 91 <meta property="og:site_name" content="Entry" /> 92 <meta property="og:locale" content="en_US" /> 93 94 <meta property="og:image" content="https://entry.com/og-image.jpg" /> 95 <meta property="og:image:secure_url" content="https://entry.com/og-image.jpg" /> 96 <meta property="og:image:type" content="image/jpeg" /> 97 <meta property="og:image:width" content="1200" /> 98 <meta property="og:image:height" content="630" /> 99 <meta property="og:image:alt" content="Visa Requirements by Country | Entry" /> 100 101 <meta name="twitter:card" content="summary_large_image" /> 102 <meta name="twitter:site" content="@entry" /> 103 <meta name="twitter:title" content="Visa Requirements by Country | Entry" /> 104 <meta name="twitter:description" content="Understand visa requirements, common documents, entry rules and official next steps for destinations worldwide." /> 105 <meta name="twitter:image" content="https://entry.com/og-image.jpg" /> 106 <meta name="twitter:image:alt" content="Visa Requirements by Country | Entry" /> 107 <link rel="canonical" href="https://entry.com/visa" /> 108 109 <link rel="alternate" type="text/plain" href="https://entry.com/llms.txt" title="Entry â machine-readable site index" /> 110 111
111<script type="application/ld+json"> 112 { 113 "@context": "https://schema.org", 114 "@graph": [ 115 { 116 "@type": ["Organization", "ProfessionalService"], 117 "@id": "https://entry.com/#organization", 118 "name": "Entry", 119 "alternateName": ["Entry.com"], 120 "url": "https://entry.com/", 121 "logo": { 122 "@type": "ImageObject", 123 "@id": "https://entry.com/#logo", 124 "url": "https://entry.com/og-image.jpg", 125 "width": 1200, 126 "height": 630, 127 "caption": "Entry" 128 }, 129 "image": { "@id": "https://entry.com/#logo" }, 130 "description": "Entry is an independent private company providing immigration guidance, entry planning, eligibility and pathway analysis, requirements guidance, case specialist support and professional consultation. Entry is not a government agency and does not issue government documents.", 131 "slogan": "Any reason. Any destination. Entry finds the way.", 132 "knowsAbout": [ 133 "Visa requirements by nationality and destination", 134 "Electronic travel authorisations (ESTA, UK ETA, ETIAS, K-ETA, eTA Canada)", 135 "eVisas and visa on arrival", 136 "Digital nomad and remote work visas", 137 "US passport requirements and documentation guidance", 138 "Immigration and residency pathways", 139 "Passport power rankings and visa-free travel" 140 ], 141 "areaServed": { "@type": "Place", "name": "Worldwide" }, 142 "sameAs": ["https://x.com/entry"] 143 }, 144 { 145 "@type": "WebSite", 146 "@id": "https://entry.com/#website", 147 "url": "https://entry.com/", 148 "name": "Entry", 149 "description": "Find entry, visa, passport and immigration requirements with support from real agents, legal professionals and case specialists.", 150 "publisher": { "@id": "https://entry.com/#organization" }, 151 "inLanguage": "en-US", 152 "potentialAction": { 153 "@type": "SearchAction", 154 "target": { 155 "@type": "EntryPoint", 156 "urlTemplate": "https://entry.com/insights/search?q={search_term_string}" 157 }, 158 "query-input": "required name=search_term_string" 159 } 160 }, 161 { 162 "@type": "Service", 163 "@id": "https://entry.com/#service", 164 "name": "Immigration guidance, case support and professional consultation", 165 "provider": { "@id": "https://entry.com/#organization" }, 166 "areaServed": { "@type": "Place", "name": "Worldwide" }, 167 "serviceType": "Immigration guidance, entry planning, eligibility and pathway analysis, requirements guidance, document readiness review, case specialist support and professional consultation", 168 "audience": { "@type": "Audience", "audienceType": "International travellers and migrants" } 169 } 170 ] 171 } 172 </script>
172 173 174
174<script type="module" crossorigin src="/assets/index-CBZhON8l.js"></script>
174 175 <link rel="modulepreload" crossorigin href="/assets/vendor-BTlgh0TF.js"> 176 <link rel="stylesheet" crossorigin href="/assets/index-D3omXPEc.css"> 177 <meta property="og:url" content="https://entry.com/visa" /> 178
178<script data-cfasync="false" nonce="cd4ee91e-511c-40b9-9413-2d0ce350070f">try{(function(w,d){!function(kP,kQ,kR,kS){if(kP.zaraz)console.error("zaraz is loaded twice");else{kP[kR]=kP[kR]||{};kP[kR].executed=[];kP.zaraz={deferred:[],listeners:[]};kP.zaraz._v="20";kP.zaraz._n="cd4ee91e-511c-40b9-9413-2d0ce350070f";kP.zaraz.q=[];kP.zaraz._f=function(kT){return async function(){var kU=Array.prototype.slice.call(arguments);kP.zaraz.q.push({m:kT,a:kU})}};for(const kV of["track","set","debug"])kP.zaraz[kV]=kP.zaraz._f(kV);kP.zaraz.init=()=>{var kW=kQ.getElementsByTagName(kS)[0],kX=kQ.createElement(kS),kY=kQ.getElementsByTagName("title")[0];kY&&(kP[kR].t=kQ.getElementsByTagName("title")[0].text);kP[kR].x=Math.random();kP[kR].w=kP.screen.width;kP[kR].h=kP.screen.height;kP[kR].j=kP.innerHeight;kP[kR].e=kP.innerWidth;kP[kR].l=kP.location.href;kP[kR].r=kQ.referrer;kP[kR].k=kP.screen.colorDepth;kP[kR].n=kQ.characterSet;kP[kR].o=(new Date).getTimezoneOffset();if(kP.dataLayer)for(const kZ of Object.entries(Object.entries(dataLayer).reduce((k$,la)=>({...k$[1],...la[1]}),{})))zaraz.set(kZ[0],kZ[1],{scope:"page"});kP[kR].q=[];for(;kP.zaraz.q.length;){const lb=kP.zaraz.q.shift();kP[kR].q.push(lb)}kX.defer=!0;for(const lc of[localStorage,sessionStorage])Object.keys(lc||{}).filter(le=>le.startsWith("_zaraz_")).forEach(ld=>{try{kP[kR]["z_"+ld.slice(7)]=JSON.parse(lc.getItem(ld))}catch{kP[kR]["z_"+ld.slice(7)]=lc.getItem(ld)}});kX.referrerPolicy="origin";kX.src="/cdn-cgi/zaraz/s.js?z="+btoa(encodeURIComponent(JSON.stringify(kP[kR])));kW.parentNode.insertBefore(kX,kW)};["complete","interactive"].includes(kQ.readyState)?zaraz.init():kP.addEventListener("DOMContentLoaded",zaraz.init)}}(w,d,"zarazData","script");window.zaraz._p=async kH=>new Promise(kI=>{if(kH){kH.e&&kH.e.forEach(kJ=>{try{const kK=d.querySelector("script[nonce]"),kL=kK?.nonce||kK?.getAttribute("nonce"),kM=d.createElement("script");kL&&(kM.nonce=kL);kM.innerHTML=kJ;kM.onload=()=>{d.head.removeChild(kM)};d.head.appendChild(kM)}catch(kN){console.error(`Error executing script: ${kJ}\n`,kN)}});Promise.allSettled((kH.f||[]).map(kO=>fetch(kO[0],kO[1])))}kI()});zaraz._p({"e":["(function(w,d){})(window,document)"]});})(window,document)}catch(e){throw fetch("/cdn-cgi/zaraz/t"),e;};</script>
178</head> 179 180 <body> 181 <div id="root"><div data-ssr="true" style="padding:2rem;max-width:800px;margin:0 auto;font-family:system-ui,sans-serif"><h1>Visa Requirements by Country</h1><p>Understand visa requirements, common documents, entry rules and official next steps for destinations worldwide.</p><h2>Browse Destinations</h2><p><a href="https://entry.com/visa/afghanistan">Afghanistan</a> · <a href="https://entry.com/visa/albania">Albania</a> · <a href="https://entry.com/visa/algeria">Algeria</a> · <a href="https://entry.com/visa/andorra">Andorra</a> · <a href="https://entry.com/visa/angola">Angola</a> · <a href="https://entry.com/visa/antigua-and-barbuda">Antigua and Barbuda</a> · <a href="https://entry.com/visa/argentina">Argentina</a> · <a href="https://entry.com/visa/armenia">Armenia</a> · <a href="https://entry.com/visa/australia">Australia</a> · <a href="https://entry.com/visa/austria">Austria</a> · <a href="https://entry.com/visa/azerbaijan">Azerbaijan</a> · <a href="https://entry.com/visa/bahamas">Bahamas</a> · <a href="https://entry.com/visa/bahrain">Bahrain</a> · <a href="https://entry.com/visa/bangladesh">Bangladesh</a> · <a href="https://entry.com/visa/barbados">Barbados</a> · <a href="https://entry.com/visa/belarus">Belarus</a> · <a href="https://entry.com/visa/belgium">Belgium</a> · <a href="https://entry.com/visa/belize">Belize</a> · <a href="https://entry.com/visa/benin">Benin</a> · <a href="https://entry.com/visa/bhutan">Bhutan</a> · <a href="https://entry.com/visa/bolivia">Bolivia</a> · <a href="https://entry.com/visa/bosnia-and-herzegovina">Bosnia and Herzegovina</a> · <a href="https://entry.com/visa/botswana">Botswana</a> · <a href="https://entry.com/visa/brazil">Brazil</a> · <a href="https://entry.com/visa/brunei">Brunei</a> · <a href="https://entry.com/visa/bulgaria">Bulgaria</a> · <a href="https://entry.com/visa/burkina-faso">Burkina Faso</a> · <a href="https://entry.com/visa/burundi">Burundi</a> · <a href="https://entry.com/visa/cabo-verde">Cabo Verde</a> · <a href="https://entry.com/visa/cambodia">Cambodia</a></p><p><a href="https://entry.com/visa-checker">Use Visa Checker Tool</a> · <a href="https://entry.com/travel-tools">All Travel Tools</a></p></div></div> 182
182<script async data-id="101491394" src="//static.getclicky.com/js"></script>
182 183
183<script> 184 // Auto-recover from stale chunk references after a fresh deploy. 185 // If a dynamic import fails (old HTML pointing to a removed hashed chunk), 186 // bypass the HTTP cache once and reload. 187 (function () { 188 var KEY = "__entry_chunk_reload__"; 189 function isChunkError(msg) { 190 if (!msg) return false; 191 msg = String(msg); 192 return /Loading chunk|Failed to fetch dynamically imported module|Importing a module script failed|ChunkLoadError/i.test(msg); 193 } 194 function recover() { 195 try { 196 var last = Number(sessionStorage.getItem(KEY) || 0); 197 if (Date.now() - last < 10000) return; // avoid loops 198 sessionStorage.setItem(KEY, String(Date.now())); 199 } catch (e) {} 200 location.reload(); 201 } 202 window.addEventListener("error", function (e) { 203 if (isChunkError(e && (e.message || (e.error && e.error.message)))) recover(); 204 }); 205 window.addEventListener("unhandledrejection", function (e) { 206 var r = e && e.reason; 207 if (isChunkError(r && (r.message || r))) recover(); 208 }); 209 })(); 210 </script>
210 211
211<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"e09aa2afc4264062816cb8ebd794a7e7","r":1,"spa":2}' crossorigin="anonymous"></script>
211 212</body> 213</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.