Visa checker widget

Visa Checker Widget
Free travel widget for your site

The Orizn visa checker widget answers "do I need a visa?" for 199 passports across 250 destinations in 16 languages. Drop two lines of HTML on any destination guide and your readers get live policy data sourced from 200+ government feeds.

  • Free forever
  • 16 languages
  • No dependencies
  • 50/50 affiliate

What it does

A purpose-built visa checker widget for travel content

The visa checker widget is the most-requested embed in our suite. It answers the single most common question travel content has to handle — "do I need a visa?" — without sending readers to a third-party site and breaking your funnel.

Under the hood, the widget queries Orizn's visa graph: a database of 39 601 passport-destination cells reconciled nightly from embassy feeds, IATA, government press releases, and our scraper of 200+ official sources. Each cell carries policy type (visa-free, visa-on-arrival, e-visa, embassy, refused), max stay, processing time, fee, and source-of-truth URL.

Readers select their passport from a searchable picker (199 options, native-language names), tap their destination, and the result card returns in under 200 ms with the rule, the next-step CTA, and an optional affiliate link to the full Orizn travel guide for that destination. The widget is fully self-mounting — no init function to call, no React provider to wire — and works on any HTML page, every major CMS, and inside React/Next.js via next/script.

Widget builder

Build your visa checker widget live

The widget below runs the exact production script you'd paste on your own site. Every option updates the preview and the snippet instantly — language, theme, colors, white-label, then copy the two-line snippet.

travelwithsarah.com/preview
Destination guide

How the visa checker looks inside a real blog post

Live preview · updates as you type

The widget above runs the exact production script you would paste on your own site — async, zero dependencies, scoped CSS. Every option on the left maps to a data-* attribute in the snippet.

Features

What the visa checker widget ships with

Specific, sourced features — not generic checkboxes. Every item below is in the production widget today.

Live policy data, refreshed daily

Visa rules change without notice. Our pipeline pulls from 200+ official embassy sites, IATA, and Timatic-equivalent feeds every 24 hours and reconciles conflicts before publishing.

199 passports × 250 destinations

Full ISO 3166-1 coverage. Visitors pick their passport once and the widget remembers it across return visits via a single first-party cookie.

Embassy contact CTA

When a visa is required, the widget surfaces the nearest embassy or e-visa portal with a direct link, no extra clicks.

Inline budget + score

Result card shows the destination's average daily budget and the visitor's passport mobility score, so the widget answers three questions at once.

Native sharing

One tap copies a deep link with the visitor's passport pre-filled, so they can DM the result to a travel partner without losing context.

16 languages, automatic

Auto-detects the visitor's browser language. Pin a specific locale with data-lang if your audience is single-language.

Affiliate-ready, 30-day cookie

Add data-affiliate="ORIZN-XXXXX" (aff_… codes are accepted too) and every guide purchase routes 50% to you, attributed for 30 days post-click.

Zero dependencies, 14 KB gzipped

Vanilla JS, no React, no jQuery. Lighthouse impact is negligible and CSS is scoped to avoid clashes.

Where it shines

Who this is for

The widget is general-purpose, but four audiences ship it most often. Recognize yourself in any of these and you'll get value within minutes of pasting the snippet.

Destination travel bloggers

Embed once at the top of every country guide. Readers answer "do I need a visa for Vietnam?" without leaving your article.

Affiliate marketers monetizing legacy SEO content

Drop the widget on existing posts with high traffic. The 50/50 guide revenue share monetizes pages that AdSense underpays.

Niche travel newsletters (Substack, Beehiiv, Ghost)

Add the widget to your welcome page or a pinned post. Subscribers get instant visa lookups, you get attributed sales.

Digital nomad communities and forums

Pin the widget on your /resources page. Members coordinating their next country hop check eligibility in seconds.

How the data is sourced

Editorial transparency, not a black box

Visa policies are reconciled from official embassy feeds, IATA Timatic-equivalent sources, government press releases, and an in-house Rust scraper covering 200+ ministry sites. Every cell exposes its source URL on hover, and the entire graph is rebuilt nightly with a quality gate that requires two-source agreement before publishing a policy change.

Reference

Parameters for the visa checker widget

Every option is a data-* attribute on the container div. No JavaScript configuration is required — paste, set the attributes you want, ship.

ParamTypeDefaultDescription
data-destinationISO3""Pre-fill the destination country (e.g. VNM, THA, JPN). Visitors can still change it.
data-langstring"auto"Override the auto-detected browser language. Accepts 16 locales: en, fr, es, de, it, pt, ja, ko, zh, ru, ar, hi, th, vi, tl, tr (Arabic renders RTL).
data-themestring"auto"Force theme: "auto" (follows OS), "light", or "dark".
data-affiliatestring""Your ORIZN-XXXXX or aff_… code (both formats work). Required to earn the 50/50 revenue share on guide sales.
data-show-scorebooltrueToggles the visa-free score chip in the result card.
data-show-budgetbooltrueToggles the inline daily budget estimate under the visa result.
data-show-guidebooltrueToggles the "Buy the full travel guide" CTA used for affiliate conversions.
data-colorhex#2563EBAccent color used for buttons, focus rings, links and result chips. Hex values only (sanitized).
data-brandingstring"on"Set to "off" to white-label: hides the "Powered by Orizn" footer, the JSON-LD schema and the orizn.app mention in share texts.
data-radiusint16Corner radius in px for the widget card and inputs.
data-fontstring"system-ui"Font-family used across the widget. Any CSS font stack works.
data-no-cookieboolfalseGDPR mode: when true, the widget writes no cookie at all (passport memory across visits is disabled).
data-api-keystring""Optional Orizn API key. When set, checks count against your plan's quota instead of the shared public pool.

Integrations

Drop the visa checker widget anywhere

Same two-line snippet, slightly different paste path depending on your stack. Detailed step-by-step guides per CMS:

Monetize

Earn 50% on every guide your widget sells

Add data-affiliate="ORIZN-XXXXX" to the container div — both ORIZN-… and aff_… code formats are accepted. Every guide purchase a reader makes through the widget is attributed to you for 30 days, with payouts processed monthly via Stripe. No minimum, no clawback, full transparency on the affiliate dashboard.

Create your affiliate account →

FAQ

Questions about the visa checker widget

Real questions from developers, bloggers and affiliate marketers integrating the widget. If yours isn't here, the docs at /embed/getting-started cover the long tail.

Does the visa checker widget work with WordPress?
Yes. Add a Custom HTML block in Gutenberg, paste the two-line snippet, publish. It also works with Classic Editor (in HTML mode), Elementor (HTML widget), and every page builder we've tested. WordPress.com hosted plans below Business may block <script> tags — on those, use the iframe fallback instead: <iframe src="https://embed.orizn.app/frame/visa?destination=VNM" style="border:0;width:100%;max-width:560px;height:540px" loading="lazy"></iframe>. Query params mirror the data-* attributes without the prefix.
How is the visa data sourced and how fresh is it?
We pull from 200+ official embassy sites, IATA, and government press releases nightly. A two-source quality gate prevents single-source mistakes from publishing. Median policy change shows up in the widget within 18 hours of the official announcement.
Can I customize the widget color to match my brand?
Yes. Set data-color="#yourhex" on the container div. The hex value cascades to buttons, focus rings, links, result chips, and the affiliate CTA. The widget also accepts data-theme="light" | "dark" | "auto" to force a color scheme.
Is the visa checker really free?
Yes, free forever for personal and commercial use, no usage caps. We monetize by sharing 50% of any Orizn travel-guide sale a reader makes through the widget. If you don't add a data-affiliate code, your widget still works — you just don't earn the revenue share.
What languages does the visa checker widget support?
16 languages out of the box: English, French, Spanish, German, Italian, Portuguese, Japanese, Chinese (Simplified), Korean, Russian, Arabic (with RTL layout), Hindi, Thai, Vietnamese, Filipino, and Turkish. Detection is automatic via navigator.language; pin a locale with data-lang if you want to override.
Can I white-label the widget?
Yes. Set data-branding="off" to remove the "Powered by Orizn" footer, the JSON-LD schema and the orizn.app share mention. Style it with data-color, data-radius and data-font, or override any CSS custom property (--orizn-accent, --orizn-bg, --orizn-fg, --orizn-border, …), e.g. #orizn-visa .orizn-w { --orizn-bg: #111 }.

Related widgets

Pair it with the rest of the suite

All five widgets share the same runtime, so adding a second one to the page costs nothing extra. The suite is designed to be combined.

Ready to embed?

Ship the visa checker widget in under 60 seconds

Two lines of HTML, zero dependencies, free forever. Add an affiliate code and start earning 50% on every guide your widget sells.