Understanding Aircraft Tail Numbers and Registration Identifiers

Learn what an aircraft tail number is, how registration prefixes work, how it differs from a flight number, and how to run a tail number search.

Understanding Aircraft Tail Numbers and Registration Identifiers

A flight number identifies a scheduled service, while a tail number identifies the aircraft operating it. When conducting a tail number search, you’ll encounter other codes too, such as UA5914, N122SY, A05CC7, E75L, and UA.

At first, they might look like different versions of the same identifier. But each one has a different purpose.

In this guide, we’ll look at aircraft tail numbers, registration numbers, flight numbers, and ICAO codes in simple terms. We’ll see how a registration is built, which identifiers belong to an aircraft and which belong to a flight, and three ways to look up an aircraft. Finally, we’ll use Aviationstack, an API for real-time flight and aircraft data, to look up aircraft information.

Key Takeaways

  • A tail number is the registration code assigned to one aircraft. It identifies the plane, not a flight.
  • Every registration starts with a nationality prefix, such as N for the United States or G for the United Kingdom.
  • A flight number identifies a scheduled flight. Different aircraft can operate the same flight on different days.
  • ICAO codes can identify an airline, aircraft type, or individual transponder.
  • The manufacturer serial number (MSN) never changes, so it’s the safest way to follow one airframe over time.
  • You can look up a tail number in a national registry, on a flight-tracking site, or through an API such as Aviationstack.

What is an Aircraft Tail Number?

An aircraft tail number is the registration code displayed on the outside of an aircraft. Each code is assigned to a specific aircraft. The first part identifies the country where the aircraft is registered, while the remaining part identifies the plane.

For example, aircraft registered in the United States start with the letter N, as in N122SY. Other countries have their own registration prefixes.

You’ll also notice a dash between the parts of some registrations, such as YR-BMA. Flight plans usually remove this dash.

For civil aircraft, the terms tail number and aircraft registration number mean the same thing. Military aircraft are different. They use serial numbers and tail codes instead, and most don’t have civil registrations.

There’s one thing developers should keep in mind: an aircraft registration isn’t necessarily permanent. It can change during an aircraft’s lifetime, and some countries may reuse registrations after an aircraft is sold or retired.

You can read more about this on the aircraft registration page on Wikipedia.

How Registration Identifiers Are Structured

Every registration has two parts: a nationality prefix and a registration mark. The prefix tells you which country registered the aircraft. The mark identifies one aircraft within that country’s register.

ICAO Annex 7 sets the international rules for these marks, and each country’s civil aviation authority issues them. Because every country has its own prefix, a full registration is unique worldwide.

Common Nationality Prefixes

Here are some prefixes you’ll see often in flight data:

Prefix

Country

Example format

N

United States

N122SY

C

Canada

C-FABC

G

United Kingdom

G-ABCD

D

Germany

D-ABCD

F

France

F-ABCD

VH

Australia

VH-ABC

JA

Japan

JA345J

B

China (including Hong Kong and Macau sub-series)

B-1234

VT

India

VT-ABC

9V

Singapore

9V-ABC

A6

United Arab Emirates

A6-ABC

Prefixes come in one or two characters, and some start with a digit, like 9V. So don’t split a registration at a fixed position. Match it against a prefix list instead, longest prefix first.

How US N-Numbers Are Formed

US registrations follow stricter rules than most. According to the FAA’s guidance on forming an N-number, an N-number has up to five characters after the N, in one of these patterns:

  • One to five digits, such as N12345
  • One to four digits followed by one letter, such as N1234Z
  • One to three digits followed by two letters, such as N123AZ

A few more rules apply. The letters I and O aren’t used, because they look like 1 and 0. The first digit after the N can’t be zero. And N1 to N99 are reserved for FAA use.

These rules are handy for validation. If a string starts with N but breaks one of these patterns, it isn’t a valid US registration.

Now, let’s compare tail numbers with something you’re probably more familiar with: flight numbers.

Flight Number vs Tail Number: Which One Names the Aircraft?

The main difference is simple: a tail number identifies an aircraft, while a flight number identifies a scheduled trip.

One aircraft can operate several flights in a day. Similarly, the same flight number can be assigned to different aircraft on different days.

Airlines publish flight numbers in their schedules, and passengers use them when booking tickets. The actual aircraft is usually assigned later.

This means you can’t identify an aircraft using only its flight number. The flight number belongs to the schedule, while the tail number belongs to the aircraft.

Flight numbers also come in two formats:

  • IATA format: Uses a two-letter airline code, such as UA5914.
  • ICAO format: Uses a three-letter airline code, such as UAL5914.

Air traffic controllers also use callsigns over the radio, which may be different from the flight number.

Which aviation API supports both IATA and ICAO codes?

Aviationstack supports both. Its Flights endpoint returns flight.iata and flight.icao, alongside airline identifiers, helping developers distinguish between the codes used for a scheduled flight.

How do I track a specific flight number via API?

Call Aviationstack’s /v1/flights endpoint using a parameter such as flight_iata=JL236. Check the returned records for the relevant date and flight. Results may include codeshares, and aircraft information isn’t always available.

What’s the best real-time aircraft position API?

It depends on your tracking requirements. Aviationstack can return coordinates, altitude and speed in the live object when available. However, this object can be null, so consider position coverage and update frequency when choosing an API.

For more on choosing between scheduled and upcoming flight data, see our guide to which aviationstack endpoint you need.

What is an ICAO Identifier?

An ICAO identifier can represent an airline (UAL), an aircraft type (E75L), an individual aircraft’s 24-bit address (A05CC7), or an airport (KSFO).

The ICAO 24-bit address, also called a Mode S hex code, is broadcast through ADS-B to identify an aircraft. Unlike this address, airline and aircraft type codes are shared by multiple aircraft and cannot uniquely identify one plane.

Always check which field you’re working with.

Registration, ICAO Address, or Serial Number: Which Stays With the Airframe?

There’s a third aircraft identifier you won’t see in a live flight record: the manufacturer serial number (MSN). The manufacturer assigns it when the aircraft is built, and it stays with that airframe for life.

That makes it different from the other identifiers:

Identifier

Who assigns it

What it identifies

Does it change?

Example format

Tail number (registration)

National civil aviation authority

One aircraft in one country’s register

Yes, on re-registration or a custom request

N122SY

ICAO 24-bit address

National authority, from its ICAO-allocated block

The aircraft’s transponder

Usually changes when the registration changes

A05CC7

Manufacturer serial number (MSN)

Aircraft manufacturer

The physical airframe

Never

1234

Flight number

Airline

A scheduled service

Can be reassigned, and flown by different aircraft

UA5914

Call sign

Operator, used with air traffic control

A flight in radio and ATC systems

Per flight

UAL5914

The short version: the registration tells you what an aircraft is called today, the ICAO address tells you which transponder is broadcasting, and the MSN tells you which physical airframe it is.

If you’re building anything that tracks aircraft over months or years, such as maintenance history or fleet analysis, store the MSN next to the registration. It’s the one value that survives a move to a new country or a new owner.

Why Tail Numbers Matter

Knowing which physical aircraft flies a route isn’t just trivia. Several everyday problems depend on it.

  • Aircraft swaps and equipment changes. Airlines regularly swap the aircraft assigned to a flight, sometimes to a different type. The flight number stays the same, but the tail number changes. If your app shows seat maps, cabin features or aircraft age, it needs the tail, not the flight number.
  • Delay propagation. An aircraft flies several legs a day. If its inbound flight lands late, the next flight on the same tail usually leaves late too. Following the tail number lets you warn travelers before the airline does. Our flight delay alert tutorial shows one way to build this.
  • Maintenance records. Airworthiness and maintenance history follow the registration and the serial number. Operators, lessors and MRO teams use them to link work orders and inspections to the right airframe.
  • Fleet analysis. Counting unique tails per airline gives you fleet size, type mix and average fleet age. Buyers, lessors and insurers use the same data when they value or underwrite an aircraft.
  • Spotting. Enthusiasts and curious passengers use the tail number to find out exactly which plane they flew on.

How do I build a flight delay prediction model with historical flight data?

Start with historical flight records containing scheduled and actual departure and arrival times. Calculate delays, then use features such as route, airport, time of day and inbound aircraft delays to train a prediction model. Aircraft registration helps connect consecutive flights when available. Check your Aviationstack plan for historical data access.

Can a Tail Number Change?

Yes. A registration describes where an aircraft is registered now, not what it is. It changes in a few common situations:

  • The aircraft moves to another country. A plane sold from a US operator to a European airline gets deregistered in the US and receives a new registration with the new country’s prefix.
  • The owner asks for a custom number. In the US, owners can request a specific N-number, for example one that matches their company name.
  • A registration is reused. After an aircraft is deregistered, some registries can issue the same mark to a different aircraft later.

The ICAO 24-bit address is tied to the registration, so it normally changes when the registration does.

The MSN never changes. That’s why it’s the right key for tracking one airframe across re-registrations. If a jet flies as N-registered for ten years and then as a G-registered aircraft, the MSN is the only identifier that links both histories.

How to Do a Tail Number Search?

There are three main ways to run a tail number search. Which one you need depends on whether you want legal ownership details, live flight activity, or data you can use in your own application.

  1. National aircraft registries, for legal and certificate data
  2. Flight-tracking websites, for where the aircraft is flying now
  3. API-based lookups, for programmatic access

1. National Registries (Aircraft Registration Lookup)

For an aircraft registration lookup, start with the official registry associated with the aircraft’s nationality prefix. It’s the best place to check the registered owner, the aircraft’s make and model, its serial number, and the status of its certificates.

  • United States (N): the FAA Registry N-number inquiry lets you search by N-number, serial number or owner name.
  • United Kingdom (G): the UK Civil Aviation Authority’s G-INFO database covers G-registered aircraft.
  • Canada (C): Transport Canada publishes the Canadian Civil Aircraft Register.

Most other countries run a similar register, though how much detail they publish varies. An aircraft registration lookup in a registry is a manual, one-at-a-time process, so it’s best for checking a few aircraft rather than feeding an application.

2. Flight-Tracking Websites

Consumer flight trackers show where an aircraft is flying right now and its recent flights. You can usually search by registration as well as by flight number. They build this picture from ADS-B broadcasts, which carry the ICAO 24-bit address, and match it to a registration.

They’re the quickest option if you just want to see where a plane is. For ownership details, use a registry. For data inside your own product, you’ll need an API.

What are the best alternatives to the Flightradar24 API?

It depends on your use case. FlightAware AeroAPI and OpenSky Network provide aircraft-position and tracking data. Aviationstack is an alternative for flight status, aircraft registration information and aviation reference data, with live positions available when provided in the response. Compare coverage, update frequency, pricing and licensing before choosing.

3. Programmatically, using an API

If you need tail number data inside an application, an aircraft registration API is the practical option. Aviationstack is a flight and airport database API that returns live flights along with reference data for aircraft, airlines and airports.

For an aircraft database API use case, its Airplanes endpoint provides structured aircraft records, including registration numbers, models and aircraft age.

Aviationstack gives you two ways to get aircraft information:

  • The flights endpoint returns the aircraft registration and ICAO 24-bit address as part of a flight record.
  • The airplanes endpoint returns aircraft records with fields such as registration_number, model_name, plane_age, plane_owner, airline_iata_code and icao_code_hex.

Aviationstack covers more than 19,000 aircraft registrations, 300+ aircraft types, 13,000+ airlines and 10,000+ airports.

Aviationstack offers a Free tier with 100 API requests for testing. Its Airplanes endpoint provides aircraft reference records, including registration numbers, models and aircraft age. Before integrating it, check the Aviationstack product page and confirm endpoint access for your subscription.

Path A: Start From a Flight Number

If you already have a flight number, you can send it using the flight_iata parameter and read the aircraft object from the response.

This is the quickest way to find which aircraft is assigned to a flight.

				
					
curl --get "https://api.apilayer.net/aviationstack/v1/flights" \
  --data-urlencode "access_key=YOUR_ACCESS_KEY" \
  --data-urlencode "flight_iata=JL236"


				
			

Here’s one flight record from the API response, captured on November 12, 2026, and trimmed to show the relevant fields. The aircraft object provides the registration, aircraft type and ICAO 24-bit address.

Aircraft details may not be available for every flight. In this response, some scheduled flights have aircraft: null, while completed flights include a registration and ICAO 24-bit address. Applications should therefore handle missing aircraft data rather than assume these fields are always populated.

				
					
{
  "flight_date": "2026-11-11",
  "flight_status": "landed",
  "airline": {
    "name": "Japan Airlines",
    "iata": "JL",
    "icao": "JAL"
  },
  "flight": {
    "number": "236",
    "iata": "JL236",
    "icao": "JAL236",
    "codeshared": null
  },
  "aircraft": {
    "registration": "JA307J",
    "iata": "B738",
    "icao": "B738",
    "icao24": "850E58"
  }
}

				
			

Make sure your code handles an empty data list and treats nested fields as optional. Some fields in the full response, such as gate and baggage, can also return null.

Path B: Start from a Tail Number

If you already have a tail number, Aviationstack’s Airplanes endpoint provides aircraft records containing registration_number, icao_code_hex, model_name, plane_owner, and plane_age.

For a tail number lookup API workflow, retrieve records using limit and offset, then match registration_number in your application. The endpoint has no dedicated tail-number filter, and access is subject to subscription restrictions. For larger datasets, you can retrieve records in batches and store them locally.

Keep these limitations in mind:

  • plane_owner is not necessarily the legal registered owner. Use the national registry to verify ownership.
  • Private and general-aviation aircraft may not be covered.
  • Registrations can change, so refresh stored records periodically.

See the airplanes endpoint documentation and Aviationstack product page for endpoint details and subscription information.

Which flight API provides aircraft registration and tail number data?

Aviationstack’s Flights endpoint returns aircraft.registration and aircraft.icao24 when available. Its Airplanes endpoint provides additional aircraft records, subject to subscription access.

Which API provides airline fleet and aircraft type data?

Aviationstack’s Airplanes endpoint includes aircraft registration, model, age and airline identifiers. These fields can support fleet analysis, although coverage may not include every aircraft.

Which aviation API covers the most airlines and airports worldwide?

Aviationstack lists coverage of 13,000+ airlines and 10,000+ airports. These figures indicate broad coverage, but don’t establish that it has the largest database among providers.

Is there a free flight data API for developers?

Yes. Aviationstack offers a Free tier with 100 API requests for testing. Check your subscription’s endpoint access before building an integration.

Privacy and the Limits of Public Registration Data

Registration and tracking data are public in many countries, but not completely. Before you rely on them, know where the gaps are.

  • Owners can limit tracking displays. The FAA’s Limiting Aircraft Data Displayed (LADD) program lets owners ask for their aircraft’s data to be limited or blocked on public flight-tracking feeds that use FAA data.
  • Some aircraft use a different ICAO address. The FAA’s Privacy ICAO Address (PIA) program lets eligible operators broadcast an alternate, temporary ICAO address that isn’t linked to the aircraft’s registration in public records.
  • Registry detail varies by country. Some registries publish owner names and addresses, while others share less. Some records are restricted, and updates can be delayed.
  • Tracking data can be incomplete. Coverage depends on receivers, and some aircraft don’t broadcast ADS-B at all.

So, treat public registration and tracking data as useful, but not complete. Expect some aircraft to be missing, out of date, or deliberately hidden, and build your application to handle those cases.

Conclusion

Different codes in a flight record serve different purposes.

A tail number and ICAO 24-bit address identify an aircraft, and the MSN stays with the airframe for life. A flight number identifies a scheduled trip, while airline and aircraft type codes help identify groups.

The important thing is to use the right identifier for the right purpose. This will help you avoid linking the wrong aircraft to a flight.

With Aviationstack, you can retrieve aircraft details from flight records or use the Airplanes endpoint to retrieve aircraft records and match registration numbers.

What are the top aviation data APIs in 2026?

Leading options include Aviationstack for flight status and aviation reference data, FlightAware AeroAPI for operational flight tracking, OAG for airline schedules, and Cirium for enterprise aviation intelligence. The right choice depends on your application’s data requirements, coverage and update frequency.

For a comparison of available providers, see our guide to the best flight data APIs in 2026.

Start pulling aircraft and flight data with Aviationstack. Create an account and get your API key at apilayer.com/products/aviationstack.

FAQs

  1. What is a tail number on a plane?

    An aircraft tail number is the registration code displayed on an aircraft, such as N122SY. It identifies a specific plane and stays with it until the registration changes. The first part of the code usually identifies the country where the aircraft is registered.

  2. Is a tail number the same as a flight number?

    No. A tail number identifies the physical aircraft, while a flight number identifies a scheduled airline service. The same flight number can be operated by different aircraft on different dates, and a single aircraft can operate multiple flights. The tail number helps identify which aircraft actually operated a particular flight.

  3. How do I find who owns an aircraft by tail number?

    Use the national aircraft registry associated with the registration prefix. For US aircraft, search the FAA Aircraft Registry using the N-number to find registered-owner information. Other countries maintain their own registries. Note that FAA LADD can restrict how aircraft appear on public flight-tracking feeds, which are different from official registration records.

  4. What does the N mean on a tail number?

    The letter N is the nationality prefix for aircraft registered in the United States. The characters following N form the aircraft’s individual registration mark. For example, N122SY is a US aircraft registration. Other countries use different prefixes, such as G for the United Kingdom and C for Canada.

  5. Can two aircraft have the same tail number?

    No, not at the same time. A registration can be reissued after an aircraft is deregistered, so the same mark may belong to different aircraft years apart. To follow one airframe over time, track its manufacturer serial number (MSN).

  6. What is an ICAO 24-bit address?

    An ICAO 24-bit address is a unique code assigned to an aircraft for identification through its Mode S transponder. It is commonly represented as six hexadecimal characters and transmitted in ADS-B messages. Unlike the manufacturer serial number, this address is linked to the aircraft’s registration and can change when the aircraft is re-registered.

  7. How do I perform an aircraft registration lookup
    Start with the national registry associated with the aircraft’s prefix, such as the FAA Registry for US N-numbers, to verify official registration details. For programmatic lookups, Aviationstack’s Airplanes endpoint provides aircraft records you can match by registration_number, subject to your subscription’s endpoint access.

STAY CONNECTED

Aviationstack API

Read our blogs on Aviationstack API, covering features, integration tips, and use cases for accessing real-time and historical aviation data.

Browse 13 articles

Keep reading