ADIF to Cabrillo — turn a ham radio log into a contest log
Convert an ADIF log (.adi, .adx) to Cabrillo for a contest: fill in the header on the page, pick the exchange, and save the .log file the organiser asks for. In your browser, nothing uploaded.
About this conversion
Contest organisers take logs in Cabrillo, but plenty of loggers — WSJT-X, HAMRS, QRZ, Cloudlog, a POTA app, a spreadsheet — only give you ADIF. Drop the .adi here and a form opens with the Cabrillo header: your callsign and the contest are filled in from the log, the categories (operator, band, mode, power, assisted) are menus with the values the specification allows. Pick how the exchange is built — RST and a serial number, RST and a CQ or ITU zone, or the exchange exactly as it was logged — and the page shows the start of the file as it will be saved, with the QSOs that miss something listed by date, time and call. Every QSO in the log goes into the file, so export just the contest weekend from your logger — or filter by year and tick “only the QSOs shown”.
Just want to look inside it?
The same tool without converting anything: open the file and read it.
The same log, other ways
The log stays open after it is read, so the format is picked at the end: the same file can leave here as ADX (.adx), Excel (.xlsx), CSV, JSON, POTA (.adi) or SOTA CSV (V2). Before that you can filter it by band, mode, year, country or QSL status and save only those QSOs.
Questions
- Which exchange should I pick?
- The one in the contest rules. “RST + serial number” suits CQ WPX and most DX contests (STX and SRX in ADIF); “RST + CQ zone” is CQ WW; “RST + ITU zone” is the IARU HF Championship; Sweepstakes, Field Day and most QSO parties have no RST, so pick “Exchange as logged, no RST”. Whatever your logger stored in STX_STRING and SRX_STRING is written as it is.
- My log has FT8 QSOs — what mode goes in the file?
- Cabrillo knows only CW, PH (phone), FM, RY (RTTY) and DG (any digital mode), so FT8, FT4 and PSK are written as DG, SSB and AM as PH. Contests for digital modes expect exactly that.
- How is the frequency written?
- In kHz below 30 MHz (14074), as the specification asks; above 30 MHz as the band — 50, 144, 432, 1.2G — even when the log has the exact frequency. A QSO with only a band and no frequency gets the bottom edge of the band (7000 for 40 m).
- Is the file accepted by the contest robot?
- It follows the Cabrillo 3.0 specification line for line: START-OF-LOG and END-OF-LOG, the header tags, QSO lines in time order with sent and received exchanges of the same length. The robot still checks your QSOs against the other logs — the page cannot fix a call copied wrong.