Map Extender

Your own tools, on someone else’s map

Map Extender hooks into the Leaflet and Google Maps embeds already on the web and lets you run your own JavaScript on top of them β€” markers, overlays, measuring tools, data layers. Write a plugin once and it runs on every site you choose.

Chrome 135 or newer. Everything runs locally β€” no account, no server, no tracking.

A distance measured across a map on a travel site, with the plugin's readout panel in the corner

How it works

The extension watches for a map on the page and connects to it. Your plugins then talk to that map through a small API β€” no dependency on how the host site is built.

Finds the map for you

Detects Leaflet and Google Maps instances, including maps inside cross-origin iframes, and reports in the popup when it has connected.

Per-site control

Every plugin is switched on or off for each website separately, and only runs on the URL patterns you set for it.

Plugins are just JavaScript

No build step, no framework. Edit in the built-in editor with a live log panel, and changes apply to open tabs without a reload.

Add more from a registry

Point the extension at a published list of plugins, read the source of anything before installing, and update only when you choose.

Built in, ready to switch on

These six ship with the extension. Click a screenshot to see it full size.

Build your own

Plugins are plain JavaScript against a small, documented API β€” no build step. Write one by hand, or describe it to an AI assistant and have it write the code for you.

Read the code before you run it

Plugins are real JavaScript running on the sites they match, so the extension treats them that way. Anything you install from a registry shows you its full source, the sites it will run on, and the settings it exposes, before it is saved β€” and installing never switches it on. That stays a separate, per-site choice.

Plugin code is never updated silently either. An update is only accepted from the same source the plugin came from, and you see a line-by-line diff of what changed first.