Free for any website

Embed live Tube status on your site

Add a real-time London Underground and Overground status widget to your website or intranet. Just copy and paste one line of iframe code. Free, no account needed, takes 30 seconds.

Generate your embed code

Add your domain to get started

Customise lines (all 20 lines)
Underground
Overground
Other Services
Real-time updates every 60 seconds
🚇
All tube, overground, DLR and Elizabeth lines
📱
Simple iframe - just copy and paste
Free, forever - no cost, no account
Live preview
Tube & Overground Status 22:48
CentralPart Closure ›
DistrictPart Closure ›
DLRPart Closure ›
TramPart Closure ›
LionessPart Closure ›
MildmayPart Closure ›
Waterloo & CityPlanned Closure ›
SuffragetteReduced Service ›
CircleMinor Delays ›
H'smith & CityMinor Delays ›
JubileeMinor Delays ›
PiccadillyMinor Delays ›
Good service on 8 other lines
Powered by Tube Alerter · TfL Open Data
Get free email delay alerts →

Embed code

Setup tips

Content Security Policy

If your site uses a CSP header, add frame-src https://tubenotifications.co.uk to allow the widget iframe.

Sizing

The widget is a simple iframe that adapts to its container width. Height depends on how many lines are disrupted - good-service lines collapse into a single row. 350px is a safe default. Adjust the width and height attributes in the embed code to suit your layout.

HTTPS required

The widget is served over HTTPS. Your page should be too, or the iframe may be blocked by your browser.

Refresh rate

Status data refreshes automatically every 60 seconds inside the widget. No additional setup needed.

Why this exists

TfL used to offer an embeddable status widget, but it was discontinued. We built this free alternative using TfL Open Data so offices, intranets, and travel sites can still show live Tube status.

Data source

Status data comes from the TfL Unified API (open data), the same source used by TfL's own tools. Updated every 60 seconds on our servers.

Frequently asked questions

What is the Tube status widget?
It is a small, self-contained panel that shows the live status of every London Underground, Overground, Elizabeth line, DLR, and Tram service. You can embed it on your website or intranet as a live iframe (updates every 60 seconds, interactive with clickable links) or as a static image badge (updates every 15 minutes, works anywhere images are supported). Both formats use data from the TfL API.
Is the widget really free?
Yes - completely free, no account required, no usage limits, no ads. We built it because TfL's own embeddable widget was discontinued and we wanted to offer a replacement for the community.
Do I need any coding skills to add it?
No. Enter your domain above, click Generate, and copy the snippet into your site's HTML. For the live iframe, it is a standard iframe tag that most website builders support (WordPress, Squarespace, Wix, Notion, Confluence). For the image badge, it is a simple img tag that works anywhere images are accepted.
Who uses this widget?
Office reception screens and corporate lobbies showing live transport status for visitors and staff. Company intranets and internal dashboards so employees can check before leaving for the day. Coworking spaces and serviced offices that want to display useful London travel information. Property and estate agency websites adding value for prospective tenants near Tube stations. Travel blogs and London guide sites giving readers real-time service information. University and school portals helping students plan their commute.
How does the widget look on my site?
The widget has a clean, modern design with the official TfL colour for each line, clear status labels, and a compact layout that fits neatly in a sidebar or content area. It adapts to its container width. When all lines are running well, good-service lines are shown in a neat colour grid. When there are disruptions, affected lines appear at the top with their status highlighted.
How often does the data update?
Status data is fetched from the TfL Unified API every 60 seconds on our servers. The widget in your page refreshes automatically on the same cycle - no page reload needed. A green indicator dot in the header shows the widget is live.
Will the widget slow down my website?
No. The widget loads inside an iframe so it is completely isolated from your page. It has no external dependencies (all CSS is inline, no JavaScript libraries), weighs under 10 KB, and makes one small API call every 60 seconds. It uses the loading="lazy" attribute so it only loads when the user scrolls it into view.
Can I customise the size?
You can set any width and height in the embed code. The widget is responsive and adapts to its container. We suggest 240-350 px for sidebars and 350-600 px for wider placements. Height adjusts automatically based on how many lines are disrupted.
What is the difference between the live iframe and the image badge?
The live iframe is the recommended option for most websites. It updates every 60 seconds, has clickable links to each line's status page, and requires no page reloads. The image badge is a static SVG image that updates every 15 minutes. It works in places where iframes are not supported - GitHub READMEs, Notion pages, email signatures, Markdown documents, and any platform that accepts image URLs. Choose the iframe for your website; choose the image badge when you need an image.
How do I add the image badge to my site?
Select "Image badge" in the widget format option, then copy the generated code. It is a standard img tag wrapped in a link. For HTML pages, paste it directly. For GitHub READMEs or Markdown, use: ![Tube Status](your-badge-url). For Notion, paste the image URL into an embed block. The image refreshes every 15 minutes via the browser cache.
Can I show only specific lines?
Yes. Click "Customise lines" on the generator above to select exactly which lines you want to display. Your selection applies to both the live iframe and the image badge. This is useful if you only need to show lines relevant to your area, such as the Central and Jubilee lines for Stratford.
Where does the data come from?
All status information comes from the TfL Unified API, the same open data source that powers TfL's own website and apps. We poll it every 60 seconds. The widget covers the Bakerloo, Central, Circle, District, Hammersmith and City, Jubilee, Metropolitan, Northern, Piccadilly, Victoria, Waterloo and City, Elizabeth line, DLR, Tram, and all six London Overground lines (Liberty, Lioness, Mildmay, Suffragette, Weaver, Windrush).