THIS IS A DEMONSTRATION DOCUMENT, NOT THE REAL ADIF DOCUMENT
(version 2.1.8, updated 2006-08-18 by AA6YQ)
Each data field is preceded by a field name and
length enclosed in angle brackets. The name and length are
separated by a colon. The field name may be in upper, lower, or
mixed case. Case is insignificant. For instance, CALL
, Call, or call are equivalent. The length
specification is ASCII text in display format, and may be of any
non-negative value. The data follows the closing angle bracket. For
example:
<CALL:6>WN4AZY
Records are made up of multiple fields and terminated with <EOR> or <eor> as an end-of-record marker. For example:
<call:6>WN4AZY<band:3>20M<mode:4>RTTY<qso_date:8>19960513<time_on:4>1305<eor>
An optional data type indicator may follow the field length, separated by a colon: For example:
<qso_date:8:d>19960513
or
<APP_MONOLOG_BIRTHDAY:8:d>19470726
Data type indicators are defined for each ADIF data type. The data
type indicator may be in upper, lower, or mixed case. Data type
indicators are redundant for ADIF-defined fields such as
qso_date
above, but are
useful in application-defined fields
as a hint for applications attempting to import such
fields.
Any number of characters of any value
except <
may be
added after a fieldÂ's data or <eor> and before the start
of the next field. This is typically carriage returns and/or
linefeeds to make the file easier to read in a text viewer.
For example:
<call:6>WN4AZY<band:3>20M<mode:4>RTTY
<qso_date:8:d>19960513<time_on:4>1305<eor><call:5>N6MRQ<band:2>2M<mode:2>FM
<qso_date:8:d>19961231<time_on:6>235959<eor>
In this example, a newline is inserted in the middle of each record, and two newlines are inserted at the end of each record. This makes long records easy to read in a text editor.
Optional header information may be included
before the actual data in the file. To include optional header
info, the first character of the file must be something other
than <
. Any
amount of header info of any value except <eoh> may be included. The
header info must be terminated with <eoh>. Any number of
characters of any value except <
may follow <eoh>. The first <
after <eoh>
is the start of the first field of the first data record
in the file. Here is an example:
this data was exported using WF1B RTTY version 9, conforming to ADIF standard specification version 9.99<eoh>
<call:4>aa1a...
If the first character of a file is
<
, it is presumed to be
the first field of the first data record.
The ADIF version may be included in the header
info as follows: <adif_ver:4>1.00 is
included as part of the header specification, an importing program
can easily determine the ADIF version used to create the file. Note
that this must not be at the beginning of the header info,
because <
as the
first character indicates that there is no header.
It is important for the programmer importing ADIF data to note that any number of characters of any value may follow the actual data in a field. For example, carriage return/linefeed, or just a line feed. There is nothing in the specifications to prevent an exporter from placing a comment after the actual data. Therefore, after reading a fieldÂ's data based on the length specification, the programmer should read and discard characters until the start of a new field (<) or <eor> is encountered.
There is no specification for the order in which fields appear. They may appear in any order. Unused fields may be omitted entirely. Therefore, each record will not necessarily have the same fields. The specification does not prohibit a zero-length field, so those writing import programs should allow for this.
There is no specification for field length or maximum field length in the Physical Specifications. Unless there is a length specification in the Field Definition, exporters simply export all data in their field. Importers import as much data as their program can accept.
Note that while these examples have all been of simple ASCII fields, the specification permits data of any type or length. It could be easily used to transfer pictures or text documents, for instance.
Data Type |
Data Type Indicator |
Description (all numbers are radix 10) |
Boolean | B | |
Digit | N | an ASCII character whose code lies in the range of 48 through 57, inclusive |
Number | N | a sequence of Digits optionally preceded by a minus sign (ASCII code 45) and optionally including a single decimal point (ASCII code 46) |
Character | S | an ASCII character whose code lies in the range of 32 through 126, inclusive |
Date | D | 8 Digits representing a UTC date in YYYYMMDD format, where |
Time | T | 6 Digits representing a UTC time in HHMMSS format or 4 Digits representing a time in HHMM format, where |
String | S | a sequence of Characters |
MultilineString | M | a sequence of Characters and line-breaks, where a line break is an ASCII CR (code 13) followed immediately by an ASCII LF (code 10) |
Enumeration | (not applicable) | an explicit list of legal values set forth in set notation, e.g. {A, B, C, D}, or defined in a table |
Location | L | a sequence of characters representing a latitude or longitude in XDDD MM.MMM format, where |
Name | Data Type | Enumeration | Header Only | Description |
ADDRESS | MultilineString | the contacted station's mailing address | ||
ADIF_VER | String | yes | identifies the version of the ADIF used in this file | |
AGE | Number | the contacted station's operator's age in years | ||
A_INDEX | Number | the geomagnetic A index at the time of the QSO | ||
ANT_AZ | Number | the logging station's antenna azimuth, in degrees | ||
ANT_EL | Number | the logging station's antenna elevation, in degrees | ||
ANT_PATH | Enumeration | Ant Path | the signal path | |
ARRL_SECT | Enumeration | ARRL Section | the contacted station's ARRL section | |
BAND | Enumeration | Band | QSO Band | |
BAND_RX | Enumeration | Band | in a split frequency QSO, the logging station's receiving band | |
CALL | String | the contacted station's Callsign | ||
CHECK | String | contest check (e.g. for ARRL Sweepstakes) | ||
CLASS | String | contest class (e.g. for ARRL Field Day) | ||
CNTY | Enumeration | function of STATE | the contacted station's Secondary Administrative Subdivision of contacted station (e.g. US county, JA Gun), in the specified format | |
COMMENT | String | comment field for QSO | ||
CONT | Enumeration | {NA, SA, EU, AF, OC, AS, AN} | the contacted station's Continent | |
CONTACTED_OP | String | the callsign of the individual operating the contacted station | ||
CONTEST_ID | String | Contest ID | QSO Contest
Identifier
|
|
COUNTRY | Enumeration | Country | the contacted station's DXCC entity name | |
CQZ | Number | the contacted station's CQ Zone | ||
DISTANCE | Number | the distance between the logging station and the contacted station in kilometers | ||
DXCC | Number | the contacted station's Country Code | ||
String | the contacted station's email address | |||
EQ_CALL | String | the contacted station's owner's callsign | ||
FORCE_INIT | Boolean | new EME "initial" | ||
FREQ | Number | QSO frequency in Megahertz | ||
FREQ_RX | Number | in a split frequency QSO, the logging station's receiving frequency in Megahertz | ||
GRIDSQUARE | String | the contacted station's Maidenhead Grid Square | ||
GUEST_OP | String | deprecated: use OPERATOR instead | ||
IOTA | String |
the contacted station's IOTA designator, in format CC-XXX, where
|
||
ITUZ | String | the contacted station's ITU zone | ||
K_INDEX | Number | the geomagnetic K index at the time of the QSO | ||
LAT | Location | the contacted station's latitude | ||
LON | Location | the contacted station's longitude | ||
MAX_BURSTS | Number | maximum length of meteor scatter bursts heard by the logging station, in seconds | ||
MODE | Enumeration | Mode | QSO Mode | |
MS_SHOWER | String | For Meteor Scatter QSOs, the name of the meteor shower in progress | ||
MY_CITY | String | the logging station's city | ||
MY_CNTY | Enumeration | function of MY_STATE | the logging station's Secondary Administrative Subdivision (e.g. US county, JA Gun) , in the specified format | |
MY_COUNTRY | Enumeration | Country | the logging station's DXCC entity name | |
MY_CQ_ZONE | Number | the logging station's CQ Zone | ||
MY_GRIDSQUARE | String | the logging station's Maidenhead Grid Square | ||
MY_IOTA | String | the logging station's IOTA designator, in format
CC-XXX, where
|
||
MY_ITU_ZONE | Number | the logging station's ITU zone | ||
MY_LAT | Location | the logging station's latitude | ||
MY_LON | Location | the logging station's longitude | ||
MY_NAME | String | the logging operator's name | ||
MY_POSTAL_CODE | String | the logging station's postal code | ||
MY_RIG | String | description of the logging station's equipment | ||
MY_SIG | String | special interest activity or event | ||
MY_SIG_INFO | String | special interest activity or event information | ||
MY_STATE | Enumeration | function of MY_COUNTRY | the code for the logging station's Primary Administrative Subdivision (e.g. US State, JA Island, VE Province) | |
MY_STREET | String | the logging station's street | ||
NAME | String | the contacted station's operator's name | ||
NOTES | MultilineString | QSO notes | ||
NR_BURSTS | Number | the number of meteor scatter bursts heard by the logging station | ||
NR_PINGS | Number | the number of meteor scatter pings heard by the logging station | ||
OPERATOR | String |
the logging operator's callsign
|
||
OWNER_CALLSIGN | String | the callsign of the
owner of the station used to log the contact (the callsign of the OPERATOR's host)
|
||
PFX | String | the contacted station's WPX prefix | ||
PRECEDENCE | String | contest precedence (e.g. for ARRL Sweepstakes) | ||
PROGRAMID | String | yes | identifies the name of the logger, converter, or utility that created or processed this ADIF file | |
PROGRAMVERSION | String | yes | identifies the version of the logger, converter, or utility that created or processed this ADIF file | |
PROP_MODE | Enumeration | Propagation | QSO propagation mode | |
PUBLIC_KEY | String | public encryption key | ||
QSLMSG | MultilineString | QSL card message | ||
QSLRDATE | Date | QSL received date | ||
QSLSDATE | Date | QSL sent date | ||
QSL_RCVD | Enumeration | {Y, N, R, I} | QSL received
status
|
|
QSL_RCVD_VIA | Enumeration | {B, D, E} | means by which the
QSL was received by the logging station
|
|
QSL_SENT | Enumeration | {Y, N, R, Q, I} | QSL sent
status
|
|
QSL_SENT_VIA | Enumeration | {B, D, E} | means by which the
QSL was sent by the logging station
|
|
QSL_VIA | String | the contacted station's QSL route | ||
QSO_COMPLETE | Enumeration | {Y, N, NIL, ?} | indicates whether the
QSO was complete from the perspective of the logging station
|
|
QSO_DATE | Date | QSO date | ||
QSO_RANDOM | Boolean | indicates whether the QSO was random or scheduled | ||
QTH | String | the contacted station's city | ||
RIG | MultilineString | description of the contacted station's equipment | ||
RST_RCVD | String | signal report from the contacted station | ||
RST_SENT | String | signal report sent to the contacted station | ||
RX_PWR | Number | the contacted station's transmitter power in watts | ||
SAT_MODE | Enumeration | satellite mode | ||
SAT_NAME | String | name of satellite | ||
SFI | Number | the solar flux at the time of the QSO | ||
SIG | String | the name of the contacted station's special activity or interest group | ||
SIG_INFO | String | information associated with the contacted station's activity or interest group | ||
SRX | Number | contest QSO received serial number | ||
SRX_STRING | String | contest QSO received
information
|
||
STATE | Enumeration | function of Country Code | the code for the contacted station's Primary Administrative Subdivision (e.g. US State, JA Island, VE Province) | |
STATION_CALLSIGN | String | the logging station's
callsign (the callsign used over the air)
|
||
STX | Number | contest QSO transmitted serial number | ||
STX_STRING | String | contest QSO
transmitted information
|
||
SWL | Boolean | indicates that the QSO information pertains to an SWL report | ||
TEN_TEN | Number | Ten-Ten number | ||
TIME_OFF | Time | HHMM or HHMMSS in UTC | ||
TIME_ON | Time | HHMM or HHMMSS in UTC | ||
TX_PWR | Number | the logging station's power in watts | ||
VE_PROV | String | deprecated; use State instead | ||
WEB | String | the contacted station's URL |
Applications may define their own fields. To avoid naming collisions, such fields must be named using the format
APP_{PROGRAMID}_{FIELDNAME}
where {PROGRAMID} is replaced by the string used in the PROGRAMID field. An application whose PROGRAMID string is MONOLOG could thus define the field APP_MONOLOG_BIRTHDAY .
if it wished to capture the contacted operator's birthday. To facilitate importing, display, and editing by other applications, instances of application-defined fields should include the optional data type indicator, as in
<APP_MONOLOG_BIRTHDAY:8:d>19470726
[WA5ZNU PROPOSAL] All enumerations are available as a single XML file, for access by logging programs. They are also available as individual files in XML and CSV format.
Abbreviation | Meaning |
G | grayline |
O | other |
S | short path |
L | long path |
The ARRL Sections Enumeration is available in the following three formats:
The Contests Enumeration is available in the following three formats: