Skip to content
View in the app

A better way to browse. Learn more.

Drone Talk - The Ultimate Drone Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (?) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

MSL vs AGL: Understanding Chart Altitudes

Supplemental — supports FAA ACS Tasks II.A and II.B

Every altitude figure printed on a sectional chart — airspace ceilings, obstacle heights, airport elevation — is given in MSL, but nearly every Part 107 operating rule, including the core 400-foot ceiling under 14 CFR 107.51, is measured in AGL. Converting confidently between the two is one of the most practically important skills in this entire module, and this lesson includes a working calculator to make that conversion fast and error-free.

MSLMean Sea Level — chart altitude reference
AGLAbove Ground Level — Part 107 rule reference
AGL = MSL − ElevationThe core conversion formula
400 ft107.51 ceiling, always measured AGL

What MSL and AGL each measure

Mean Sea Level (MSL) is altitude measured from a fixed, universal reference point — the average level of the ocean's surface — and does not change based on the terrain below a given point. Above Ground Level (AGL) is altitude measured from whatever ground is directly beneath the aircraft at that moment, and by definition changes as the terrain rises or falls. A drone hovering at a constant 400 feet AGL over rolling hills is actually changing its MSL altitude continuously, even though its AGL altitude — and its compliance with 14 CFR 107.51 — never changes.

Charts publish altitude data in MSL because it's a single, unchanging reference usable across an entire chart region regardless of terrain. Part 107's operating rules use AGL because what matters for safety and separation from people, structures, and other aircraft near the ground is height above the actual surface directly below the drone, not height above sea level far away. Neither reference is "wrong" — they simply serve different purposes, and a remote pilot needs to move fluently between them.

The conversion formula

Converting a charted MSL figure into a usable AGL altitude for a specific location requires just one more piece of information: the ground elevation at that exact point, also in feet MSL. Subtracting ground elevation from the MSL altitude in question gives the AGL altitude at that specific spot.

AGL = MSL altitude − Ground elevation at that point (both in feet MSL)

The reverse also works: to find what MSL altitude corresponds to a target AGL altitude at a known location, add the ground elevation back: MSL = AGL + Ground elevation. Both directions of this formula use the same three numbers — MSL altitude, AGL altitude, and ground elevation — and any two of the three let you solve for the missing one.

Why ground elevation must be checked at the specific point, not just the nearest airport

It's tempting to use a nearby airport's charted field elevation as a stand-in for ground elevation anywhere nearby, but terrain can rise or fall meaningfully even a short distance from an airport. A flight site sitting on a hillside 2 miles from an airport with a much lower field elevation would produce a significantly wrong AGL figure if the airport's elevation were used instead of the actual ground elevation at the flight site. Whenever precision matters — such as when close to an airspace ceiling — use the most accurate available ground elevation for the specific location, not the nearest convenient number on the chart.

Real-world scenario: checking headroom below a Class E floor

A pilot plans a 300-foot AGL inspection flight at a site where the sectional chart shows a Class E floor of 1,200 feet MSL (a magenta vignette) and the ground elevation at that exact site is 850 feet MSL. Converting: 1,200 minus 850 equals 350 feet of AGL headroom before entering Class E airspace. Since the planned 300-foot AGL flight stays below that 350-foot ceiling, the flight remains in Class G airspace at that location and needs no 14 CFR 107.41 airspace authorization — a conclusion that would have been impossible to reach without converting the charted MSL figure into a usable AGL number for this specific site.

Side profile diagram comparing MSL and AGL altitude references over hilly terrain, showing sea level as a flat horizontal baseline labeled 0 feet MSL, a drone flying at a constant 400 feet AGL line that rises and falls following the ground contour beneath it, and a separate constant-MSL altitude line shown as flat and unrelated to the terrain below it

AGL altitude follows the terrain below the aircraft; MSL altitude stays fixed relative to sea level regardless of terrain.

View Larger

MSL to AGL Altitude Converter

MSL altitudeGround elevationResulting AGLNotes
1,200 ft850 ft350 ftClass E floor example, headroom below controlled airspace
2,500 ft2,100 ft400 ftExactly at the standard 107.51 ceiling
7,000 ft300 ft6,700 ftFar above any typical Part 107 operating altitude
500 ft500 ft0 ftGround level — AGL and MSL coincide only at the surface itself

How to determine available AGL headroom below a charted MSL ceiling

Use this process any time a charted airspace floor or obstacle height needs to be checked against a planned AGL flight altitude.

1

Read the charted MSL figure

Identify the relevant airspace floor, obstacle height, or other MSL figure from the chart.

2

Determine the ground elevation at the specific flight location

Use the most accurate available elevation for the exact site, not just the nearest airport's field elevation, especially in hilly terrain.

Tip: A digital chart app or terrain-elevation tool paired with GPS often gives a more precise site-specific elevation than eyeballing a nearby airport figure.
3

Subtract to find AGL headroom

AGL headroom = MSL ceiling figure − ground elevation. This is the maximum AGL altitude available before reaching that charted ceiling.

4

Compare against the planned flight altitude

If the planned AGL altitude is below the calculated headroom, the flight stays clear of that ceiling; if not, authorization or an altitude change is needed.

MistakeWhy it happensCorrect understandingRegulation / source
Treating chart-published altitude figures as AGL.AGL is the unit most Part 107 rules use day to day.Chart altitude figures — airspace ceilings, obstacle heights, elevations — are always MSL and must be converted.Sectional chart legend
Using a distant airport's elevation as a stand-in for local ground elevation.It's the most visible elevation figure on the chart.Terrain can vary meaningfully over short distances — use the elevation at the actual flight site when precision matters.Terrain variability
Assuming AGL and MSL are the same number in flat areas.In very flat terrain the difference can look negligible.The two are only exactly equal at 0 feet AGL (the surface itself) — everywhere above ground level they differ by the local ground elevation.Definition of MSL/AGL

Is AGL always lower than MSL?

For any location above sea level, yes — AGL will always be a smaller number than MSL at the same physical altitude, since AGL subtracts out the ground elevation. They are only equal at the surface itself (0 feet AGL) or in the rare case of ground elevation being at exactly 0 feet MSL.

What if my ground elevation isn't listed on the chart?

Check the nearest charted elevation figure (an airport or a spot elevation marker) as a starting estimate, or use a digital chart app / terrain tool that provides site-specific elevation data for more precision.

Do I need to set my drone's altitude display to AGL or MSL?

Most consumer drone controllers display AGL relative to the takeoff point by default, which is convenient for 107.51 compliance during a single flight, but be aware this is relative to takeoff elevation, not necessarily the exact ground elevation everywhere across a larger flight area.

Test Your Knowledge

Answer the questions below to check your understanding. Every answer can be found in the lesson above.

Loading questions...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions ? Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.