ADIF
The Amateur Data Interchange Format, or ADIF, was introduced in early 1996 in order to resolve the problems that were being created by the rapid expansion in available amateur radio programs, each with its own data format. It is intended to be sufficiently general to permit information from any program to be exported and imported. It is infinitely extensible: new data fields, or new values for existing fields (such as new digital modes) can be added easily, only requiring that the developers of software which uses those new fields or values agree on them. It is a human-readable format, and changes can be made to an ADIF file using a text editor.
An ADIF file consists of an optional header, ending in <eoh>, followed by records. Each record contains one or more fields in the form <keyword:n>value, where n is the number of characters in the data value (for example, <call:6>VE3IAY). Each record is terminated by an <eor> field. Whitespace (spaces, tabs or new lines) may be placed between fields; a single record may occupy more than one line, and a single line may contain data from more than one record. The complete ADIF specification can be found at the ADIF Web site.
The fields in the ADIF specification account for all types of information commonly found in amateur station logs, as well as some not-so-common fields. Certain fields are restricted to a particular format or a specified set of values. For example, dates must be in the format YYYMMDD; times may be either HHMM or HHMMSS. The value of the <band> field is restricted to a specified list of values (e.g. "20m", "70cm", etc.). Frequencies are stored in MHz (e.g. <freq:6>14.195).
QTH information can be stored in a general <qth> field, but it is preferable to use a more specific field type where one is available. For example, there are fields in the specification for US state (<state:2>NY), Canadian province (<ve_prov:2>ON), and ARRL section (<arrl_sect:3>MDC). Country information for DXCC purposes is stored in a <dxcc> field, in which each DXCC entity is represented by a different numerical value. For example, Canada (VE) is <dxcc:1>1, Alaska (KL7) is <dxcc:1>6, Hawaii (KH6) is <dxcc:3>110, the USA (W/K) is <dxcc:3>291, Marquesas Is. (FO/M) is <dxcc:3>509, and Palestine (E4) is <dxcc:3>510. A list of the dxcc codes is included in the specification.
There are also fields to contain contest information, such as <contest_id> for the contest name. Sent and received serial numbers can be stored in <stx> and <srx> fields. There are also fields to support awards other than DXCC and WAS; for example, CQ zone and IOTA fields.
The initial ADIF specification has proven to be quite flexible, and almost all logging software and QSLing programs now support both import and export of ADIF files. The majority of the new digital mode programs for Windows sound cards are capable of exporting QSO data in ADIF format, for importing into a logging program. File format conversion software now routinely supports ADIF import and export. In fact, amateur radio software that stores log data to a file but does not support ADIF is becoming rare.
There is an exception to the almost complete market penetration of ADIF, and that is in the specialized niche of contesting logging software. Because the needs of contest sponsors and contesters submitting contest logs are much more tightly focussed than the needs related to logging of general QSO data, contesters use the Cabrillo or similar contest log formats for contest log submission. The Cabrillo and ADIF formats each suit the needs of their respective communities quite well, and fortunately it is not a very difficult task for a computer to convert between them.
In fact, it is possible to do the conversion within a spreadsheet. If you can import a Cabrillo file (or, for that matter, a log in any similar format involving columns separated by spaces) into a spreadsheet, you can use the spreadsheet program's formula capabilities to produce an ADIF file. For an outline description of how this could be done, go to the spreadsheet conversion page.