Imperial Russia (before 1917) does not seem to have had a system. Aircraft were given names or numerical designations by manufacturers, like Ilya Muromets or Anatra Anasal.
Soviet System to 1940
Soviet system to 1940 was divided by type, with numbers assigned in order by government ministry. However, designers/manufacturers usually also gave them their own designations.
(incomplete - Cyrillic characters in parenthesis)
Soviet system since 1940
The system after 1940 (in accordace with order No 704 December 9, 1940) used letter abbreviations for the design office, then numbers in order, with odd numbers for fighters and even numbers for all other types. However, this latter rule was sometimes breached, especially for helicopters.
Contrary to western sources, official Soviet designations did not include constructors' names (eg. Yakovlev Yak-1), only abbreviations (ie. Yak-1). But at the beginning names like Yakovlev-1 was used sometime. In general, this naming practice was adopted from German, except for numbering. Germans have numbered aircraft sequentially regardless of developer, while USSR used "semi-sequential" (odd numbers for fighters, even numbers for bombers/transport with well known exceptions like Tu-95 or An-225) numbers within every developer "label." These names were given to aircraft when they enter the service. Aircraft may have development names (used within design bureaus, like "105" (read as "aircraft 105," count as "ANT-105") for future Tu-22 or T-6 for Su-24) and/or production name (used by industry). This schema was established in ~1940. Before this date soviet aircraft were named according to their function: TB-1 for "Tyazholy Bombardirovschik" ("тяжелый бомбардировщик", "heavy bomber"), the first. Again, this is a soviet practice. Pre-revolutionary Russia (and early Soviet Republic) have used only "vendor names" like "Farman F-20" or "Ilya Muromets" (by I.Sikorski).
The NATO Air Standardization Coordinating Committee reporting name system (used because correct designation of new types not always known) was based on having the initial letter indicate type of aircraft (B = bomber, C = cargo, F = fighter, H = helicopter, M = miscellaneous) or missile, and 1 syllable if propeller-driven or 2 if jet- or rocket-powered.
Design Office Prefixes
Full article ▸