Home › RF design tools › System › LoRa
RF DESIGN TOOL · LoRa

LoRa Range and Airtime Calculator

Enter payload size, total data or required speed, target distance and environment to get the best spreading factor, bandwidth, required TX power and sensitivity, with sensitivity, rate, airtime and range for SF7-SF12.

Best SF / BW / powerTime on AirSensitivity and power tableSix environments

1. Inputs

Band
Payload per packet
1-255
bytes
Total data (optional)
e.g. 1 KB = 1024
bytes
Required data rate (optional)
0 = no limit
bytes/s
Target distancekm
Environment
Max TX power
SX1262 up to 22 dBm; check local rules
dBm
Antenna gain (TX + RX)
e.g. 2 + 2 dBi
dBi
Cable / connector lossdB
Fade margin
10 dB or more recommended
dB
Coding rate
Preamblesymbols
Receiver noise figure
about 6 dB for SX126x
dB
Module interface
UART: data goes through the serial port first
UART baud rate
ignored for SPI
TX processing + start-up
UART incl. frame-gap wait about 10–40 ms; SPI about 1–3 ms
ms
RX processingms
Receiver wake-up period
0 = always listening; fill in for power-saving wake-up mode
ms
Duty cycle limit

2. Recommendation

The recommendation is the shortest airtime among settings that reach the distance and meet the speed, which also cuts power use and collisions.

Typical LoRa range

EnvironmentRange
Indoor office100–500 m
Factory0.5–2 km
Urban2–5 km
Suburban5–15 km
Open field15–30 km
Hilltop to hilltop50–200 km

Reference for SX1262, 22 dBm, SF12, 125 kHz and 2 dBi antennas.

3. SF7-SF12 sensitivity, rate and power table

* Max range: at max TX power, the chosen environment and fade margin. Green rows work; yellow is recommended.

Formulas

Link budget = PTX + GTX + GRX − losses − SRX
SRX = −174 + 10·log10(BW) + NF + SNRlimit(SF) (SF7 −7.5 … SF12 −20 dB)
PL(d) = 20·log10(fMHz) − 27.55 + 10·n·log10(dm) (n by environment 2.4–4.3)
Tsym = 2SF / BW Tair = (Npre + 4.25)·Tsym + [8 + max(⌈(8PL − 4SF + 44) / 4(SF − 2DE)⌉·(CR + 4), 0)]·Tsym

Time on air follows the Semtech formula (explicit header, CRC on, low data rate optimisation at SF11/SF12 with 125 kHz).

FAQ

Why does a packet take much longer than the airtime?
Airtime is only the radio part. With a UART module the data first crosses the serial port (about 10 ms per 10 bytes at 9600 bps), the module waits for the frame gap before transmitting, and the chip switches from standby to TX; the receiver then processes and outputs over its serial port. A 20-byte packet at SF7 has about 57 ms of airtime but often over 100 ms end to end, plus the wake-up wait in power-saving modes. To cut latency: raise the baud rate, drive the chip over SPI, lower SF or widen the bandwidth, and avoid periodic receiver wake-up.
Why does LoRa get much slower at longer range?
LoRa trades speed for range by raising the spreading factor: each step up in SF improves sensitivity by about 2.5 dB but doubles the symbol time and roughly halves the rate. SF7/125 kHz is about 5.5 kbps; SF12 is only about 290 bps, and a 20-byte packet goes from about 57 ms to about 1.3 s on air. LoRa suits small, occasional data such as sensor readings and status, not large or real-time data.
How do I send 1 KB over 2 km?
Enter 1024 bytes as total data, 2 km and the environment; the tool lists the SF/BW combinations that reach it, the TX power needed, and recommends the shortest airtime. 1 KB is split into packets of up to 255 bytes; in urban areas this usually lands around SF9-SF10.
How accurate is the range?
Range uses an environment path-loss model tuned to typical field results, but antenna height, obstacles and interference matter a lot; test on site before deployment.
Which bandwidth should I use?
Doubling bandwidth doubles the rate but costs about 3 dB of sensitivity and range. Long links usually use 125 kHz; short links needing speed can use 250 or 500 kHz.

Related tools

Designing a LoRa product? WENSHING supplies LoRa and RF transceiver modules and antennas, and helps with custom RF design and range testing.

Contact our engineers