Welcome to HFKit

Find out where your radio signal can reach

HF radio, also called shortwave, can cross a country or circle the world by bouncing off the upper atmosphere. Whether it works right now depends on the time of day, the sun, your antenna and the frequency you pick. HFKit shows you how that works and helps you plan. It’s free and runs entirely in your browser.

New to HF? Start here Learn how it all works in six short, hands-on chapters: waves and bands, the ionosphere, day and night, antennas, noise and the sun. No maths, about half an hour. Start learning →

Or jump straight to a question

In beginner mode every tool opens with a short “how to read this page” guide.

The chapters

    Phase 1 preview

    HF propagation, computed on your device

    ITU-R P.533 compiled to WebAssembly. Nothing is computed on a server, your location never leaves the browser, and once loaded it works offline.

    Tools

    What is real here, and what is not — what these tools can and can’t tell you yet
    Predictions come from the ITU's own reference implementation and are verified numerically identical to a native build of it. Distances, bearings, MUF and the diurnal behaviour all check out against reality.
    The engine's reliability output is a known open defect — it reads zero for every circuit tested and ignores the required-SNR input — so nothing here displays it. What you see is SNR margin, which is verified responsive.
    The A-score described in the design docs does not exist yet. It is meant to be a calibrated probability, and calibrating it depends on resolving that defect first.
    Reach maps are computed for whatever transmitter you pick, at 100 W into an isotropic antenna. Power is applied on top as an exact offset. Wire antennas now carry their real elevation pattern, applied per map cell — the distance to a cell sets the take-off angle that path needs, and the pattern gives the gain there. Beams still use peak gain applied flat, and still read optimistic on paths whose take-off angle they do not favour, because their gain does not follow from the thin-wire model. Coarse passes paint each sample across the block it stands for, so an early frame is a sketch until the finer passes land.
    The Learn page’s bounce simulator and band clock use a deliberately simple teaching model of the ionosphere, not P.533. They show how propagation behaves, not what your circuit will do, and they say so where they draw.
    The antenna visualiser is a thin-wire model over perfect ground, not NEC. It is pinned against the textbook constants it can be checked against — 2.15 dBi for a free-space dipole, 5.15 for a quarter wave over ground — and it reports directivity, so every gain figure on it is a lossless upper bound.
    Solar activity is live: effective sunspot number from KC2G, refreshed hourly by our own service so your browser never contacts theirs. Every page states which source it used and how old it is, and falls back — to the snapshot published with the build, then to a clearly-labelled placeholder — rather than quietly reverting to a default sun.
    Only the sunspot number is live in the sense that matters — it is the one input P.533 actually takes. Kp, solar flux and NOAA's alerts are fetched and delivered to your browser, but nothing reads them yet: they are neither displayed nor applied to a prediction. Making a geomagnetic storm change the map means a penalty layer on top of the engine, scaled by geomagnetic latitude, which is the A-score's job and does not exist. Treat every prediction here as assuming quiet geomagnetic conditions.
    Done this before? Experienced mode opens on the tools and technical notes, and drops the guides. You can switch back from the menu at any time.

    Why it is built this way