How to Add Free Travel Widgets to Your Blog in 2026 (WordPress, Squarespace, Ghost)
Step-by-step guide to embedding free travel widgets on WordPress, Squarespace, and Ghost. Carry-on checkers, bag fee calculators, and size tools in minutes.
Adding a travel widget to your blog takes about five minutes and two lines of HTML. No plugin, no account, no API key. You pick a widget, copy the embed code, paste it into a Custom HTML block (WordPress), Code Block (Squarespace), or HTML card (Ghost), and publish. The widget handles everything else: auto-resizing, theme matching, and keeping airline data current without you touching it again.
This guide covers three free embeddable airline widgets and shows you exactly how to add them on the three most popular blogging platforms. Every widget is under 50 KB, sets zero cookies, and auto-updates when airline policies change.
The Three Widgets
Each widget serves a different reader question. You can embed one, two, or all three depending on what your content covers.
Carry-On Size Widget shows verified carry-on and personal item dimensions, weight limits, gate-check risk, and fees for 75 airlines. Best for airline review posts, packing guides, and “which airline should I fly” content. Readers pick an airline from a dropdown and see everything they need to know about that carrier’s bag rules.
Bag Fit Checker Widget lets readers enter their bag dimensions (or click a preset like “standard roller 22x14x9”) and see which airlines accept it. Best for luggage review posts, “does this bag fit” content, and carry-on packing guides. You can pre-configure the dimensions via URL parameters so the widget loads with results already showing.
Checked Bag Fee Widget compares first bag, second bag, overweight (51-70 lb, 71-100 lb), and oversize (63-80 in) fees across 50+ airlines in a sortable table. Best for budget travel posts, “how to avoid bag fees” content, and airline comparison articles.
Embed Code
Every widget uses the same two-line format: an iframe and a resize script. Copy the code below, or use the live customizer on each widget’s page to configure colors, themes, and sizing visually before copying.
Carry-On Size Widget
<iframe
src="https://vientapps.com/embed/carry-on/?theme=light"
style="width:100%;max-width:640px;border:0;border-radius:12px;overflow:hidden;"
height="580"
loading="lazy"
title="Carry-on size checker by Vientapps">
</iframe>
<script src="https://vientapps.com/embed/resize.js" async></script>
Bag Fit Checker Widget
<iframe
src="https://vientapps.com/embed/bag-fit/?theme=light"
style="width:100%;max-width:640px;border:0;border-radius:12px;overflow:hidden;"
height="540"
loading="lazy"
title="Bag fit checker by Vientapps">
</iframe>
<script src="https://vientapps.com/embed/resize.js" async></script>
Checked Bag Fee Calculator Widget
<iframe
src="https://vientapps.com/embed/checked-bag-fees/?theme=light"
style="width:100%;max-width:640px;border:0;border-radius:12px;overflow:hidden;"
height="640"
loading="lazy"
title="Checked bag fee calculator by Vientapps">
</iframe>
<script src="https://vientapps.com/embed/resize.js" async></script>
You only need the resize.js script once per page, even if you embed multiple widgets.
WordPress
WordPress is the most common platform for travel blogs, and embedding works the same whether you’re on self-hosted WordPress.org or WordPress.com Business plan.
Block Editor (Gutenberg)
- Open the post or page where you want the widget
- Click the + button to add a new block
- Search for Custom HTML and select it
- Paste the two-line embed code into the block
- Click Preview to confirm the widget renders in the editor
- Publish or update the page
The widget appears immediately in the preview. If you see raw HTML instead of the widget, make sure you selected “Custom HTML” and not “Paragraph” or “Code.”
Classic Editor
- Switch to the Text tab (not Visual) in the editor
- Place your cursor where you want the widget
- Paste the embed code
- Switch back to Visual to confirm the iframe placeholder appears
- Publish or update
The Classic Editor’s Visual mode may show a gray placeholder instead of a live preview. This is normal. The widget renders correctly on the published page.
Elementor
- Drag an HTML widget onto your page layout
- Paste the embed code into the HTML content field
- The widget preview appears in the Elementor canvas
- Save and publish
WordPress.com Limitations
WordPress.com Personal and Premium plans do not allow custom HTML blocks with iframes. You need a Business plan or higher to embed these widgets. Self-hosted WordPress.org has no restrictions.
Squarespace
Squarespace supports custom HTML through Code Blocks, but only on Business plan and above.
- Open the page editor and click + to add a new content block
- Select Code from the block menu (under “More”)
- Paste the two-line embed code into the code editor
- Uncheck “Display Source” if it’s checked (you want the rendered widget, not raw code)
- Click outside the block to close the editor
- Save and publish
Squarespace Plan Requirements
- Personal plan: No Code Block support. You cannot embed custom HTML widgets.
- Business plan: Code Blocks are available. This is the minimum plan for widget embedding.
- Commerce plans: Code Blocks are available.
Squarespace Tips
- If the widget appears too narrow, remove the
max-widthfrom the iframe’s style attribute so it fills the full content width - Squarespace’s editor may not show a live preview of the widget. Check the published page to confirm it renders
- For sidebar placement, add
compact=trueto the iframe URL and reduce max-width to 360px
Ghost
Ghost supports custom HTML natively on all plans, including the free tier.
- Open the post editor
- Click the + button on a new line (or type
/htmlto jump directly to the HTML card) - Select HTML from the card menu
- Paste the two-line embed code
- Click outside the card to close the editor. You’ll see a gray “HTML” placeholder in the editor.
- Preview or publish the post to see the rendered widget
Ghost Tips
- Ghost’s editor does not render iframes inline. The gray “HTML” placeholder is normal. The widget renders on the published page.
- Ghost supports HTML cards on all plans (Free, Creator, Team, Business). No plan upgrade needed.
- For best results, place the HTML card between text paragraphs rather than at the very top of the post
- If you embed all three widgets in one post, you only need the
resize.jsscript tag once. Include it after the last iframe.
Other Platforms
The embed code is standard HTML that works on any platform supporting iframes.
Webflow: Add a Custom Code Embed element to your page. Paste the iframe and script. Publish.
Wix: From the editor, click Add (+), select Embed Code, choose “Embed a Widget.” Paste the iframe code. Wix may require you to adjust the iframe height manually since it doesn’t always auto-resize.
Jekyll / Hugo / Astro / Next.js: Paste the iframe directly into your markdown or template file. Most static site generators pass raw HTML through to the output.
Plain HTML: Paste the code anywhere in your <body>. No build step, no framework needed.
Customization Reference
All customization is done through URL parameters in the iframe src. Update the URL to change settings without re-copying the embed code.
| Parameter | Values | Default | What it does |
|---|---|---|---|
theme | light, dark, auto | light | Sets the widget’s color scheme. auto follows the reader’s system preference. |
color | Any hex code (without #) | f59e0b | Sets the accent color for buttons, highlights, and interactive elements. |
radius | 0 to 24 | 12 | Sets the corner radius in pixels. 0 is sharp, 24 is fully rounded. |
compact | true | false | Reduces the widget height for sidebar or narrow-column placement. |
Widget-Specific Parameters
Carry-On Size Widget:
| Parameter | Example | What it does |
|---|---|---|
airline | southwest-airlines | Pre-selects a specific airline when the widget loads. Uses the airline’s URL slug. |
Bag Fit Checker Widget:
| Parameter | Example | What it does |
|---|---|---|
l, w, h | l=22&w=14&h=9 | Pre-fills bag dimensions so results show immediately on load. |
unit | in or cm | Sets the measurement unit. |
Checked Bag Fee Widget:
| Parameter | Example | What it does |
|---|---|---|
bags | 1, 2, or 3 | Sets the default number of checked bags for the calculator. |
trip | domestic or international | Sets the default trip type. |
Example: Dark Theme with Custom Color
<iframe
src="https://vientapps.com/embed/bag-fit/?theme=dark&color=3b82f6&radius=8&compact=true"
style="width:100%;max-width:400px;border:0;border-radius:8px;overflow:hidden;"
height="420"
loading="lazy"
title="Bag fit checker by Vientapps">
</iframe>
<script src="https://vientapps.com/embed/resize.js" async></script>
Example: Pre-Filled Bag Review
If you’re reviewing a specific bag (say, the Away Carry-On at 21.7 x 13.7 x 9 inches), pre-fill the dimensions so the widget loads with results:
<iframe
src="https://vientapps.com/embed/bag-fit/?l=21.7&w=13.7&h=9&unit=in&theme=light"
style="width:100%;max-width:640px;border:0;border-radius:12px;overflow:hidden;"
height="540"
loading="lazy"
title="Bag fit checker by Vientapps">
</iframe>
<script src="https://vientapps.com/embed/resize.js" async></script>
Troubleshooting
Widget shows raw HTML instead of rendering. You pasted the code into a text or paragraph block instead of an HTML block. In WordPress, use “Custom HTML.” In Squarespace, use “Code.” In Ghost, use the “HTML” card.
Widget doesn’t resize properly. Make sure the resize.js script tag is included after the iframe. If you removed it or it’s blocked by a content security policy, the iframe will stay at its default height.
Widget is too wide or too narrow. Adjust the max-width value in the iframe’s style attribute. Remove it entirely to let the widget fill the full container width. For sidebar placement, try max-width:360px with compact=true in the URL.
Widget doesn’t appear on Squarespace. You’re likely on a Personal plan. Code Blocks require a Business plan or higher.
Widget doesn’t appear on WordPress.com. You need a Business plan or higher. WordPress.com Personal and Premium plans block custom HTML with iframes.
Multiple widgets on one page. Include the resize.js script only once, after the last iframe. All widgets on the page will auto-resize correctly.
Widget looks different from my blog’s theme. Use the theme=auto parameter so the widget follows the reader’s system preference (light or dark). Set the color parameter to your blog’s primary brand color hex code for visual consistency.
For the full list of available widgets and a side-by-side comparison with affiliate alternatives, see our guide to the best embeddable travel widgets for bloggers. If you’re interested in how these widgets were built, the carry-on widget build log covers the technical architecture.
Quick Comparison
Free embeddable carry-on size reference card showing verified dimensions, weight limits, and gate-check risk for 75 airlines.
Free embeddable bag fit checker where readers enter dimensions and see which of 75 airlines accept their bag.
Free embeddable checked bag fee calculator comparing first bag, second bag, overweight, and oversize fees across 50+ airlines.
Frequently Asked Questions
Will travel widgets slow down my blog? +
No. These widgets load inside lazy-loaded iframes that total under 50 KB each. They make zero external requests after the initial load, so they will not affect your Core Web Vitals, Lighthouse score, or page speed. Place the widget below the fold for the best performance.
Do I need a WordPress plugin to add travel widgets? +
No. You embed these with a Custom HTML block in the WordPress block editor (Gutenberg). No plugin installation required. Just paste two lines of HTML and publish. The same code works in the Classic Editor's Text/HTML view.
Can I embed travel widgets on Squarespace free plan? +
No. Squarespace requires a Business plan or higher to use Code Blocks, which is how you embed custom HTML like iframe widgets. Personal and Basic Commerce plans do not support code injection.
Do these widgets work on Wix, Webflow, and other platforms? +
Yes. Any platform that supports HTML embeds works. On Wix, use the HTML Embed widget from the Add menu. On Webflow, use a Custom Code Embed element. On Jekyll, Hugo, Astro, Next.js, or any static site generator, paste the iframe directly into your template or markdown.
Can I change the widget colors after embedding it? +
Yes. All customization is controlled by URL parameters in the iframe src. To change the theme from light to dark, update theme=light to theme=dark in the URL. To change the accent color, update the color parameter. No re-embedding needed, just edit the URL in your existing code block.
Do these widgets set cookies or track my readers? +
No. These widgets set zero cookies, collect no personal data, and make no third-party requests. The only data logged is the domain name where the widget is embedded, used to measure reach. No GDPR consent banner is required for these widgets.
Will the airline data in the widgets stay up to date? +
Yes. The widgets pull from a centralized database of 75 airlines that is updated regularly. Each airline record has a last verified date and a direct link to the official source. When data updates, every embedded widget reflects the change automatically with no action needed from you.
Senior Staff Engineer and Indie Developer
Caden Sorenson is a senior staff engineer with 15+ years of experience building iOS apps, web platforms, and developer tools. He holds a Computer Science degree from Utah State University and runs Vientapps, an indie studio based in Logan, Utah, where he ships small, focused tools and writes about every build in public.
Related guides
- 8 Best Embeddable Travel Widgets for Bloggers in 2026We tested 8 embeddable travel widgets for bloggers, from free airline tools to affiliate flight search. Covers privacy, performance, and what readers actually use.
- 7 Best Carry-On Size Checkers in 2026 (Free & Tested)We tested 7 free carry-on size checkers for airline coverage, accuracy, and personal item support. Find out if your bag fits before you get to the gate.
- 7 Best Checked Bag Fee Calculators in 2026 (Free & Tested)We tested 7 free checked bag fee calculators for accuracy, airline coverage, and overweight surcharges. Compare fees across 75+ airlines before you book.
Stay in the loop
Get notified when I publish new posts. No spam, unsubscribe anytime.