UpToWhere
Free calculator

Meshtastic and MeshCore range calculator

What this does

This page tells you whether two LoRa nodes can reach each other before you drive anywhere. Place both on the map, set how high each one sits, pick 915 MHz or 868 MHz, and it walks the terrain between them and reports line of sight and first Fresnel zone clearance. Free, no account, runs in your browser on 30 m elevation data.

Point A
Point B

Click the map to place A, or drag the markers.

Place two points and press Check.

Elevation from AWS Terrain Tiles at about 30 m per pixel, read in your browser. Geometry only: no buildings, no trees, no signal strength. Paths up to 150 km.

01

Range test: what the map says before you drive

Almost every range question in a mesh community has the same shape. Someone has a node at home, a hill they can reach, and no idea whether the two see each other. The honest answer is that LoRa range is not a number: it is a question about the ground between two specific points, and the ground is knowable in advance.

What the community reports is consistent with that. Ground level to ground level in a town, 0.5 to 2 km. Rooftop to rooftop, a few kilometres. Ridge to ridge with nothing in between, tens of kilometres, and the records run past 300 km. The spread is not the radios. It is what the radios can see.

So the useful range test is the one you run first, on a map, on every candidate site, and then confirm with a real one. This page is the first half. Walking up the hill is still the second.

02

Range map: reading the profile

The profile draws three things that decide a LoRa link. The sightline between the two antennas. The first Fresnel zone, the ellipse of space the signal actually occupies. And the 60% envelope inside it, the working criterion: terrain crossing that line takes signal even when it never touches the sightline.

At 915 MHz over 10 km the first zone is about 29 m across at mid-path, so the 60% rule wants roughly 17 m of clearance over the middle of the path. A ridge that looks like it just grazes the line on a satellite view is usually well inside the zone.

When a path fails, the number to read is the extra height at each end that fixes it. Half the time it is a metre or two and a longer pole. The other half it is thirty metres, which means the site is wrong and the answer is a different hill.

03

Meshtastic and MeshCore: the same problem

The two projects differ in firmware, routing and philosophy, and not at all in physics. Both run LoRa in the same sub-GHz bands, 868 MHz in Europe and 915 MHz in the US, and both live or die on line of sight and Fresnel clearance between nodes. A path that works for one works for the other.

Where they differ for planning is topology. Meshtastic floods, so a marginal link that drops packets still costs the whole mesh airtime. MeshCore routes, so a marginal link matters mostly to the nodes behind it. Either way the fix is the same: find the clear path, or raise an end until it is clear.

04

Other free tools worth knowing

Meshtastic Site Planner

The project’s own tool, at site.meshtastic.org. It runs SPLAT! and gives you a coverage heat map around one node rather than a path between two, which is the better question when you are choosing where to put a repeater at all. Use it first, then come here for the specific link.

HeyWhatsThat

The path profiler at heywhatsthat.com has been answering this question since before Meshtastic existed, and the ham community links it for good reason. No Fresnel zone, but an excellent panorama and viewshed.

SCADACore RF Line of Sight

A solid two-point profile aimed at industrial radio. Free, no account, and it has been the default answer on this question for a decade.

This page

The specific thing here is Fresnel clearance drawn on the terrain profile with the mesh height presets, and the height that fixes a blocked path. If another tool answers your question better, use it.

05

What this cannot tell you

Geometry only. There is no propagation model here, no link budget, no antenna pattern and no interference. Clear means clear of ground and clear of the zone, and a clear path can still fail on a bad antenna, a poor ground plane, a noisy site or a mismatched modem preset.

The terrain is bare earth. Trees are the big one for LoRa: a path that clears the ground by three metres across a conifer stand does not clear the trees, and at 900 MHz foliage is expensive. Add the canopy yourself, or treat a tight result as a site visit rather than a yes.

06

Frequently asked questions

What is the actual range of a Meshtastic node?

Between about 0.5 km and 2 km between ground-level nodes in a built-up area, a few kilometres between rooftops, and tens of kilometres between hilltops with a clear path. The record is over 300 km. There is no single number because line of sight, not the radio, sets the limit.

How do I know if two nodes have line of sight?

Put both on the map above with their real heights above ground and read the profile. It applies Earth curvature and refraction and shows where the ground comes closest to the path, which is the point any fix has to clear.

Does 868 MHz reach further than 915 MHz?

Marginally, and not enough to change a site decision. The lower band has a slightly wider Fresnel zone and slightly better diffraction around edges. Which one you use is set by your region, not by range.

How high does my antenna need to be?

However high it takes to clear the worst point on the path, which the calculator gives you as the extra metres at each end. On a blocked path that number is the whole answer: a small one means a longer pole, a large one means a different site.

Is MeshCore range different from Meshtastic range?

Not physically. Same bands, same LoRa modulation, same terrain rules. The routing differs, which changes how a marginal link affects the rest of the mesh, not whether the link exists.

Do trees block LoRa?

Yes, more than people expect at 900 MHz, and this tool does not model them. The elevation data is bare earth. If the path crosses woodland, add the canopy height to the terrain in your head before trusting a tight clearance.

07

Planning a whole mesh, not one link?

Test every pair between every site at once on the validated engine, sorted worst first, with the height that fixes each failing path and a report you can send to whoever owns the roof.

Open this path in UpToWhere