Three sections, each embeddable on its own. Copy an iframe, done — no key, no sign-up, no cost.
Every section of the site works as a standalone widget. Add ?embed= to the page URL
and the masthead, footer and questions drop away, leaving just the part you asked for and a one-line
credit.
| URL | Shows | Suits |
|---|---|---|
?embed=meters | The four running counters since the Feb 2023 launch | sidebars, home pages, live blogs |
?embed=calc | Spend and mileage sliders with the personal cost | news pieces, car and bike blogs, forums |
?embed=ledger | Month strip and the national ledger | policy and business coverage |
?embed=1 | All three, chrome stripped | full-width explainers |
An unrecognised value shows all three rather than an empty frame.
<iframe src="https://e20meter.com/?embed=calc"
style="width:100%;border:0;display:block" height="520"
title="What E20 costs you" loading="lazy"></iframe>
That alone works. The height is a sensible starting value, used for the moment before
the first message arrives and for readers with JavaScript off.
The widget posts its height to the parent page on load, on resize, and once a second — content grows as counters tick and sliders move. Add this once, anywhere on the page, and every E20 frame sizes itself:
<script>
addEventListener("message", function (e) {
if (e.origin !== "https://e20meter.com") return; // pin the origin
var h = e.data && e.data.e20Height;
if (!h) return;
document.querySelectorAll('iframe[src*="e20meter.com"]').forEach(function (f) {
f.style.height = h + "px";
});
});
</script>
e.origin. Any page can post a message to yours.
The check above is the difference between reading our height and trusting anyone's.Every language has its own directory, and embeds follow the same pattern. For the ledger in Tamil:
<iframe src="https://e20meter.com/ta/?embed=ledger"
style="width:100%;border:0;display:block" height="620"
title="E20 ledger" loading="lazy"></iframe>
Available as hi, bn, mr, te, ta,
gu, kn, ml, or, pa and
as. Leave the prefix off for English. The figures are identical in every language —
only the labels change.
An embed has no theme toggle on purpose. It follows the reader's system setting, so it matches a dark host page without you configuring anything.
These are real embeds of this site, running now.
Frame blank? Check that your page isn't blocking third-party frames with a
frame-ancestors policy of its own. Height stuck? The origin check is the usual culprit
— it must match https://e20meter.com exactly, no trailing slash. Anything else, or a
section you wish embedded that isn't, use the contact form.