Country comparison widget

Country Comparison Widget
Free travel widget for your site

The Orizn country comparison widget puts two destinations side-by-side β€” cost, visa, safety, climate, transport β€” in one card. Embed it on "X vs Y" SEO pages and turn the most lucrative comparison query in travel into qualified guide sales.

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

What it does

A purpose-built country comparison widget for travel content

"X vs Y" is the highest-intent query class in travel β€” searchers are within 72 hours of booking. Most articles answer it badly: a wall of text, two static tables, no source-of-truth, no personalization. The Orizn country comparison widget collapses the entire answer into one card with three rows and clear winners.

Each comparison row pulls from a different Orizn data source: visa from the visa graph (39 601 cells, 200+ embassy feeds), cost from Numbeo + BackpackerIndex + Orizn's user-submitted aggregator, safety from a composite of Numbeo's Safety Index and the Global Peace Index. Set data-passport and the visa row personalizes to the visitor's nationality.

The widget self-mounts, weighs 16 KB gzipped (slightly heavier because of the climate canvas), and works on every major CMS. Drop the two-line snippet on every "X vs Y" post in your archive and the widget replaces your stale tables with always-fresh data β€” plus a 50/50 revenue share on any guide sale either side generates.

Widget builder

Build your country comparison 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 comparateur de pays 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 country comparison widget ships with

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

Side-by-side across 3 categories

Cost (4 lanes), Visa (rule + max stay), Safety (Numbeo + GPI). Each row has a clear winner chip when one country dominates.

Passport-aware visa row

Set data-passport and the visa row shows the rule for the visitor's passport, not a generic table. Real value for SEO content targeting specific nationalities.

195 countries on both sides

Full ISO 3166-1 coverage. Both country pickers can be set independently β€” pre-fill one, let the visitor pick the other, or pre-fill both.

Climate row with monthly chart

Tap the climate row to expand a 12-month temperature/rainfall chart for both countries, side-by-side. Great for "when to visit" content.

Transport row with day-of-travel cost

Includes average flight price between major hubs, in-country taxi/bus per km, and the cost of a one-week car rental. Sourced from Skyscanner and Numbeo.

Shareable comparison card

One tap renders a 1200Γ—630 PNG with both flags, the 3 row winners, and an Orizn watermark. Pre-formatted for X and Pinterest.

Affiliate-ready dual CTA

Both countries get a "See the full guide" CTA. With data-affiliate set, every sale routes 50% to you β€” whether the visitor picks the left or right country.

Zero deps, 16 KB gzipped

Slightly heavier than the single-country widgets because of the climate chart canvas, but still well under the 50 KB "third-party budget" Core Web Vitals threshold.

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.

X vs Y SEO bloggers

Embed the widget on "Vietnam vs Thailand", "Bali vs Lombok", "Portugal vs Spain for nomads". The widget answers the entire query in-page, drastically reducing bounce.

Relocation consultants

Drop the widget on landing pages comparing destination countries for clients. The visa-aware row makes the cost/quality-of-life trade-off concrete.

Nomad newsletters comparing hubs

Pin on /resources/where-to-go-next. Subscribers comparing Lisbon vs Mexico City vs Bali get a live, sourced answer they can share.

Travel agencies and tour operators

Embed alongside multi-destination packages. The comparison anchors trade-offs; your package answers the next question.

How the data is sourced

Editorial transparency, not a black box

Visa row from Orizn's visa graph (200+ embassy feeds, two-source quality gate). Cost row from Numbeo, BackpackerIndex, and an in-house user-submitted aggregator. Safety row composite of Numbeo Safety Index and the Global Peace Index. Climate row from Open-Meteo's 30-year historical normals. Transport from Skyscanner aggregated medians.

Reference

Parameters for the country comparison 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-country1ISO3""First country in the side-by-side (e.g. VNM). Visitors can change it.
data-country2ISO3""Second country in the side-by-side (e.g. THA). Visitors can change it.
data-passportISO3""Visitor's passport (e.g. FRA). When set, the visa row shows entry rules from their passport's perspective.
data-langstring"auto"Override the auto-detected browser language. 16 locales supported: 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) for the 50/50 revenue share on guide sales.
data-colorhex#2563EBAccent color used for the "winner" chips, focus rings and CTAs. 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.

Integrations

Drop the country comparison 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 country comparison 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 country comparison widget work with WordPress?
Yes. Custom HTML block in Gutenberg, paste the snippet, publish. Tested on WordPress.org self-hosted (all versions β‰₯ 5.0), Elementor, Bricks Builder, Divi, and Astra theme. WordPress.com hosted plans below Business may block <script> tags β€” on those, use the iframe fallback instead: <iframe src="https://embed.orizn.app/frame/compare?country1=VNM&country2=THA" style="border:0;width:100%;max-width:560px;height:740px" loading="lazy"></iframe>. Query params mirror the data-* attributes without the prefix.
How is the comparison data sourced across visa, cost and safety?
Visa: Orizn's visa graph, 200+ embassy feeds, two-source quality gate. Cost: Numbeo + BackpackerIndex + in-house user-submitted aggregator with outlier rejection. Safety: composite of Numbeo Safety Index and the Global Peace Index. Climate: Open-Meteo 30-year normals. Each row exposes its source on hover for editorial transparency.
Can I lock both countries so visitors only see one specific comparison?
Yes. Set both data-country1 and data-country2 on the container div. The country pickers disappear and the widget renders straight into the comparison view. Useful when the post itself is "Vietnam vs Thailand" and you don't want to let visitors swap.
Is the country comparison widget really free?
Yes, free forever, no usage caps. We monetize through the 50/50 share on Orizn travel-guide sales β€” and the comparison widget is the highest-converting of the suite because the visitor is already in active decision mode.
What languages and countries does it support?
16 languages (en, fr, es, de, it, pt, ja, ko, zh, ru, ar, hi, th, vi, tl, tr) and 195 countries on both pickers (full ISO 3166-1 coverage). Each country displays its native name in the picker.
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-compare .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 country comparison 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.