EI4LF logo
EI4LF | Primers | ADIF

Welcome to the EI4LF amateur radio page

Amateur Data Interchange Format (ADIF)

ADIF is an open standard for the formatting of Radio Contact (QSO) logging. The full specification can be obtained at: https://www.adif.org/

Recently for the 145 ALIVE event I was asked to submit the QSOs in ADIF format. Being old school I had written them in a log book with a biro and paper and I had no idea what the ADIF format was. So I copied the event log to a spreadsheet and I wrote this short Python program to convert the simple spreadsheet list of QSOs to the ADIF format.

Download the code from here:

Make a spreadsheet of QSOs

Take the template spreadsheet and keep the header row. In the subsequent rows add the QSOs as illustrated and save the file in Comma Delimited Format (CSV), as qso.csv.

Put the qso.csv and the adif.py program in the same directory as illustrated.

Run the convertor program

Running the program the first time use help, --help or -h to bring up the help message.

  ~$ ./adif_gen.py help
  ADIF Generator
  **************

  Author: Diarmuid O'Briain, EI4LF
  Version: 1.0

  1) Start with a spreadsheet with the following headings:

  Date     Time  Callsign  Freq    Mode  RST Sent  RST Received  Transmit Power  Name      Location
  11/05/24 09:26 EI4LF     145.45  FM       599        599           5           Diarmuid  IO52NR
  11/05/24 11:07 EI4ALB    145.45  FM       599        579           2.5         Simon     IO52NQ
  ...

  2) Save as qso.csv
  3) Run this program

     GNU/Linux / UNIX         ~$ chmod +x adif_gen.py (first time to make it executable)
     ----------------         ~$ ./adif_gen.py

     MS Windoze               Install Python (www.python.org/downloads/windows/)
     ----------               C:> python adif_gen.py

  4) A new file called "qso.adif" will appear in the directory

Run the program, it will read in the qso.csv file and generate a qso.adif file in the ADIF format.

  ~$ ./adif_gen.py 
  'qso.csv' of QSOs converted to ADIF as 'qso.adif'.

A new qso.adif file is generated.

  ~$ cat qso.adif 
  <ADIF_VER:5>3.1.4
  <EOH:0>

  <QSO_DATE:8>20240511
  <TIME_ON:4>0926
  <CALL:5>EI4LF
  <FREQ:6>145.45
  <MODE:2>FM
  <RST_SENT:3>599
  <RST_RCVD:3>599
  <TX_PWR:1>5
  <NAME:8>Diarmuid
  <GRIDSQUARE:6>IO52NR
  <EOR:0>

  <QSO_DATE:8>20240511
  <TIME_ON:4>1107
  <CALL:7>EI7ALB 
  <FREQ:6>145.45
  <MODE:2>FM
  <RST_SENT:3>599
  <RST_RCVD:3>579
  <TX_PWR:3>2.5
  <NAME:5>Simon
  <GRIDSQUARE:6>IO52NQ
  <EOR:0>

There you have the QSOs in ADIF format.


Download the code from here:


Copyright © 2025 C²S Consulting