Skip to content
View in the app

A better way to browse. Learn more.

Ham Radio Base -Powered By Ham CQ DX

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Solar
SFI 128
SN 73
A 6
K 1 Quiet
X-Ray B6.4
Wind 390.4 km/s
Aurora 2
Updated 02:30 UTC HamQSL · N0NBH
Day 80/40m Fair 30/20m Good 17/15m Good 12/10m Fair
Night 80/40m Good 30/20m Good 17/15m Good 12/10m Poor

Callsign Lookup
_
Vanity Call Signs Available
Enter filters above and click Search.
ⓘ Callsign lookups are in real time via the FCC database. Vanity callsign availability is refreshed daily at 6:00 AM CST. The vanity search may be unavailable for a few minutes during this update.
Live DX spots
Live DX Spots — 70cm via PSKReporter · scroll or pinch to zoom
Band
Mode
Time
Loading map data…
MHz DX Spotter Info
Recent spots
Select a band above to load spots
Ready — select a band to fetch live spots

Home Ham Tools Logging Xlog
📓

Xlog on Linux — Lightweight Ham Radio Logger Setup and Operating Guide

Xlog is a fast, simple QSO logger for Linux that does one thing well — log contacts quickly and export them in ADIF format. This complete guide covers installation on Ubuntu, Debian, and Raspberry Pi, station setup, Hamlib rig control, keyboard shortcuts for fast logging, ADIF export for LoTW, field day and portable operating tips, and how Xlog compares to CQRLog.

Guide apt install xlog Actively maintained

What is Xlog and who it is for

Xlog is a GTK-based QSO logger for Linux that prioritizes speed and simplicity over features. It was written by Joop Stakenborg PG4I and has been actively maintained since 2000. The application stores logs as plain text files — no database setup, no configuration wizard, no dependencies beyond the basic GTK libraries. Install it and it is ready to use in under a minute.

The design philosophy is minimal friction between hearing a callsign and having it recorded. The keyboard-first interface allows an experienced operator to log a contact in under 10 seconds without touching the mouse. Band and mode fill from rig control, RST defaults to 59/59, Tab moves between fields, F1 saves and clears.

Xlog is the right choice for field day, portable operations, SOTA activations, emergency communications, and any situation where you want a logger running immediately without setup time. It is also an excellent choice as a secondary logger running alongside a digital mode program like Fldigi when you don't need the full complexity of CQRLog.

What Xlog does not do: Xlog has no DX cluster integration, no award tracking, no automatic LoTW upload, and no callbook lookup. It logs contacts and exports ADIF — nothing more. If you need those features use CQRLog. If you just need a fast, reliable contact log that works instantly, Xlog is ideal.

Installation on Ubuntu, Debian and Raspberry Pi

Ubuntu 22.04, 24.04 and Debian 11, 12

Terminal
sudo apt update sudo apt install xlog

Xlog is in the standard repositories for all current Ubuntu and Debian releases. No additional dependencies or configuration needed after install — it is ready to run immediately.

Fedora and other RPM distributions

Terminal
sudo dnf install xlog

Raspberry Pi OS

Terminal
sudo apt update sudo apt install xlog

Xlog runs excellently on all Raspberry Pi models including the Zero W. It is one of the lightest ham radio loggers available — the entire application uses under 20 MB of RAM. On a Pi Zero running Direwolf for APRS and Xlog for logging you have a complete portable station that runs all day on a small battery pack.

Build from source

Terminal
sudo apt install git build-essential libgtk2.0-dev \ libhamlib-dev gettext autoconf git clone https://github.com/pg4i/xlog.git cd xlog autoreconf -i ./configure make -j$(nproc) sudo make install

Verify installation

Terminal
xlog --version

Initial setup and station configuration

Xlog requires minimal configuration before it is ready to use. Enter your station details once and it remembers them for all future sessions.

Station information

Go to Edit → Preferences → Station and enter:

  • Callsign — your full callsign
  • Name — your name
  • QTH — your location
  • Locator — your Maidenhead grid square
  • Power — your typical transmit power in watts

Default band and mode

Set default band and mode under Edit → Preferences → Log. These are pre-filled in each new log entry and you only change them when you switch bands or modes — saving keystrokes during a busy operating session.

Creating a log file

Go to Log → New to create a new log file. Xlog stores each log as a separate plain text file. Name logs descriptively:

  • 2026-general.xlog — your general daily log
  • 2026-cqww-ssb.xlog — CQWW SSB contest log
  • 2026-fieldday.xlog — field day log
  • 2026-sota-vk2/xx.xlog — SOTA activation log

Switch between logs via Log → Open. Multiple logs can be open simultaneously in separate windows.

Log file location

By default Xlog saves logs to ~/logs/. Change this under Edit → Preferences → Log → Log directory. Choose a location that gets backed up regularly — your logs are plain text files, simple to copy to a USB drive or cloud storage.

Rig control with Hamlib

Xlog uses Hamlib to read your radio's current frequency and mode, filling them in automatically for each new log entry. Configure it under Edit → Preferences → Hamlib.

Setup procedure

  1. Select your rig model from the Rig dropdown
  2. Set the Device to your serial port — usually /dev/ttyUSB0
  3. Set the Baud Rate to match your radio's CAT baud rate
  4. Set Poll interval to 2 seconds
  5. Click Apply and verify the frequency and mode are reading correctly

Serial port permissions

Terminal
sudo usermod -a -G dialout # Log out and back in for the change to take effect

Rig settings for popular radios

RadioHamlib modelBaud rateNotes
Icom IC-73003073 — Icom IC-730019200Built-in USB, most popular for Linux
Icom IC-76103078 — Icom IC-761019200Dual receiver
Icom IC-7053085 — Icom IC-70519200QRP portable with USB
Yaesu FT-991A1035 — Yaesu FT-991A38400All-band including VHF/UHF
Yaesu FTDX-101050 — Yaesu FTDX-1038400SDR-based HF rig
Kenwood TS-890S2044 — Kenwood TS-890S115200High-end with roofing filters
Elecraft K3/K3S2029 — Elecraft K338400High-performance HF rig
Elecraft KX32031 — Elecraft KX338400Excellent portable QRP rig
Xiegu G903085 — Xiegu G9019200Budget portable HF rig

Testing rig control

After configuring, verify rig control is working by checking if the frequency and mode fields update when you change the radio's frequency. If they do not update check your serial port, baud rate, and dialout group membership.

Terminal — test Hamlib independently
# Replace 3073 with your rig's model number # Replace /dev/ttyUSB0 with your port # Replace 19200 with your baud rate rigctl -m 3073 -r /dev/ttyUSB0 -s 19200 f # Should return current frequency in Hz

Understanding the Xlog interface

The Xlog interface is deliberately simple — a log entry form at the top and a scrollable contact list below. Everything is visible at once with no hidden panels or tabs.

Log entry form fields

FieldContentsAuto-filled by
DateContact date in UTCSystem clock
GMTContact time in UTCSystem clock
CallsignOther station's callsignManual entry
BandOperating band in metersRig control or default
ModeOperating mode (SSB, CW, FT8 etc)Rig control or default
RST SentSignal report sentDefaults to 59 or 599
RST RcvdSignal report receivedDefaults to 59 or 599
IOTAIOTA reference numberManual entry
LocatorOther station's grid squareManual entry
QSLQSL information or notesManual entry
PowerTransmit powerStation default
NameOther operator's nameManual entry
QTHOther station's QTHManual entry
RemarksFree text notesManual entry

Contact list

Below the entry form is a scrollable list of logged contacts, most recent at the top. Each row shows the date, time, callsign, band, mode, and RST. Click any contact to select it. Double-click to open it for editing.

Status bar

The status bar at the bottom shows the total number of contacts in the current log and the current UTC time. Watch the UTC clock when operating to ensure your log timestamps are accurate.

Operating guide — fast contact logging

Logging a contact — the fastest workflow

  1. The cursor is in the Callsign field by default — type the callsign
  2. Press Tab — Xlog resolves the DXCC entity and moves to the next field
  3. Tab through Band and Mode — these are already filled from rig control
  4. Tab to RST Sent and RST Received — defaults (59/59) are correct for most contacts, just press Tab to skip
  5. Add name or QTH in the appropriate fields if you want to record them
  6. Press F1 to save the contact and clear the form for the next one

With rig control active and defaults set correctly, a typical SSB contact takes 4–6 keystrokes to log — callsign, Tab to move through the pre-filled fields, F1 to save.

Speed logging during a pileup

When working a DX station running a pileup the exchange is minimal. In Xlog:

  1. Type the callsign
  2. Press Tab twice — band and mode are from rig control, RST defaults are 59/59
  3. Press F1 — contact is logged in under 3 seconds

For contest exchanges where you need to record a serial number or exchange use the Remarks field. Tab to it after RST and type the exchange, then F1.

Working a net — logging multiple stations

For net logging where multiple stations check in on the same frequency:

  1. Set the default band and mode once at the start of the net
  2. For each check-in: type callsign, Tab, Tab, F1
  3. Band and mode stay fixed from the defaults — you only type the callsign and save

Press F2 to duplicate the previous contact's band and mode — useful if you occasionally need to change settings temporarily and then return to the net frequency.

Correcting a logged contact

Two options for correcting errors:

  • Just logged — press Ctrl+Z to delete the last entry and re-enter it correctly
  • Earlier contact — double-click the contact in the log list, edit the fields, save

Adding notes to contacts

The Remarks field accepts free text notes. Use it to record antenna used, conditions, contest exchange, or any other information you want to keep with the contact. Notes are preserved in ADIF export.

Managing multiple open logs

Xlog can have multiple logs open simultaneously in separate windows. This is useful for running two stations simultaneously (contest multi-op) or switching between a contest log and a general log without closing either. Each window is independent — contacts go to whichever window is active when you press F1.

Keyboard shortcuts reference

KeyAction
F1Save current contact and clear form for next entry
F2Duplicate previous contact — same band, mode, and RST
F5Insert current UTC time into time field
F6Insert current UTC date into date field
F7Clear current entry form without saving
Ctrl+ZDelete the most recently logged contact
Ctrl+FFind/search in log
Ctrl+NNew log file
Ctrl+OOpen existing log file
Ctrl+SSave current log
Ctrl+WClose current log
TabMove to next field in entry form
Shift+TabMove to previous field
Ctrl+QQuit Xlog
The fastest logging workflow: Type callsign → Tab → Tab → Tab → Tab → F1. With rig control filling band and mode, and RST defaulting to 59/59, this logs a complete contact in 5 keypresses. Practice until it is muscle memory — during a busy contest or pileup you want logging to be completely automatic.

ADIF export, import and LoTW upload

ADIF (Amateur Data Interchange Format) is the universal standard for exchanging ham radio logs. Xlog can export and import ADIF for use with LoTW, eQSL, CQRLog, and any other logging application.

Exporting to ADIF

Go to Log → Export → ADIF and choose a filename. The exported file contains all contacts in the current log in standard ADIF format. Name the export file descriptively — 2026-cqww-ssb.adif for example.

Importing ADIF

Go to Log → Import → ADIF to import contacts from another logger or from a previous session. Xlog does not check for duplicates during import — review the imported contacts to avoid duplicating existing entries.

Uploading to LoTW via TQSL

Xlog does not upload to LoTW directly. Export to ADIF first, then use TQSL:

Terminal — install TQSL and upload
sudo apt install tqsl # Upload ADIF to LoTW # Replace N0CALL with your callsign tqsl -d -u -l "N0CALL" ~/logs/mylog.adif

TQSL signs the log with your LoTW certificate and uploads it to ARRL's server. New confirmations typically appear in your LoTW account within minutes to hours depending on server load.

Importing Xlog contacts into CQRLog

Many operators use Xlog in the field and CQRLog at home for award tracking. The workflow is simple:

  1. In Xlog export to ADIF: Log → Export → ADIF
  2. Copy the ADIF file to your home station computer
  3. In CQRLog: File → Import → ADIF → select the exported file
  4. CQRLog imports the contacts and updates your DXCC and other award totals automatically

Uploading to eQSL

Export ADIF from Xlog and upload the file manually to eqsl.cc via their web interface. There is no automated upload path — log in to eQSL.cc and use the Upload Logfile function.

Portable and field day operating

Xlog is one of the best Linux loggers for portable and field day use. Its combination of zero setup time, minimal resource usage, and keyboard-first design makes it ideal for operating away from the home station.

Why Xlog works well for portable operation

  • No database setup — plain text log files work on any system
  • Instant startup — no MariaDB initialization delay
  • Low resource usage — runs on the oldest, cheapest hardware
  • Simple backup — copy a single text file to a USB drive
  • No internet required — works completely offline
  • Readable log files — if Xlog is unavailable the log file itself is human-readable plain text

Field day setup recommendations

  • Create a new log file at the start of each field day session named with the date and event
  • Set large font size under Edit → Preferences → Interface for readability in bright sunlight
  • Pre-configure the default band and mode to match your station
  • If running multiple stations, open a separate Xlog window for each — contacts are kept in separate files making log consolidation easy
  • Back up the log file to a USB drive after every 50–100 contacts

SOTA and portable DX operation

For SOTA (Summits on the Air) activations, Xlog on a small laptop or Raspberry Pi makes a complete logging solution. Key tips:

  • Use the Locator field to record the calling station's grid square for VUCC award tracking
  • Use the IOTA field for any island operation contacts
  • The Remarks field is useful for recording antenna used, conditions, and SOTA reference numbers
  • After the activation export to ADIF and upload to SOTA database as well as LoTW

Emergency communications logging

Xlog's simplicity makes it suitable for emergency communications (EMCOMM) logging where operators may not be familiar with complex software. Its plain text log format means records can be recovered even if the software is unavailable. Consider keeping Xlog installed on any EMCOMM go-kit laptop alongside more complex station software.

Xlog on Raspberry Pi

Xlog is an excellent choice for a permanent Raspberry Pi logging station. Its minimal resource requirements mean it shares the Pi comfortably with other applications like Fldigi, Direwolf, or WSJT-X.

Installation on Raspberry Pi OS

Terminal
sudo apt update sudo apt install xlog

Autostart on login

To have Xlog start automatically when the Pi boots to the desktop:

~/.config/autostart/xlog.desktop
[Desktop Entry] Type=Application Name=Xlog Exec=xlog Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true

Performance on different Pi models

Pi modelXlog performanceNotes
Pi Zero WGoodUsable but slow startup — fine for logging only
Pi Zero 2WExcellentFast and responsive, recommended minimum
Pi 3B+ExcellentPlenty of headroom for Xlog + Fldigi
Pi 4ExcellentRuns Xlog + WSJT-X + Direwolf comfortably

Xlog vs CQRLog — which to choose

FeatureXlogCQRLog
Setup timeUnder 1 minute15–30 minutes
Database requiredNo — plain text filesYes — MariaDB
Startup timeInstant10–30 seconds (MariaDB init)
Resource usageUnder 20 MB RAM100–200 MB RAM
DX clusterNoYes — built in with rig QSY
Award trackingNoYes — DXCC, WAZ, WAS, IOTA
LoTW uploadManual via TQSLAutomatic after each QSO
eQSL uploadManualAutomatic
Callbook lookupNoYes — QRZ, HamQTH
Contest supportBasicFull with Cabrillo export
Rig controlYes — HamlibYes — Hamlib and rigctld
ADIF exportYesYes
Multiple logsYes — separate filesYes — in one database
Raspberry PiExcellent — Pi Zero compatibleGood — Pi 4 recommended
Portable operationIdealWorkable
Serious DX chasingLog only — no toolsIdeal — full DX tools

The best approach for most operators

Many operators use both programs and they complement each other well. Use Xlog in the field and for portable operation where quick startup and light resource use matter. Use CQRLog at the home station for serious DX chasing with the full suite of DX cluster, award tracking, and automatic LoTW upload. Export from Xlog to ADIF and import into CQRLog when you return home to keep one complete log for award purposes.

Troubleshooting common problems

Rig control not working — frequency not updating

  • Check dialout group membership: groups | grep dialout
  • Verify serial port: ls /dev/ttyUSB*
  • Check baud rate matches radio setting exactly — this is the most common cause
  • Test Hamlib independently: rigctl -m [model] -r /dev/ttyUSB0 -s [baud] f
  • Ensure no other application is using the same serial port
  • Try a different Hamlib rig model number — some radios have multiple valid entries

Log file will not open

  • Check file permissions: ls -la ~/logs/
  • Verify the file is a valid Xlog format — try opening in a text editor
  • Check disk space: df -h ~
  • If the file was created on Windows it may have Windows line endings — convert with dos2unix filename.xlog

ADIF export is missing contacts

  • Make sure you export from the correct log window — if multiple logs are open check which one is active
  • Save the log before exporting: Ctrl+S
  • Check the ADIF file in a text editor to verify it contains the expected contacts

Xlog crashes on startup

  • Run from terminal to see error output: xlog
  • Check for missing GTK libraries: ldd $(which xlog) | grep "not found"
  • Delete Xlog config and start fresh: rm -rf ~/.config/xlog
  • Check available disk space

Time is wrong in logged contacts

  • Xlog uses your system clock for UTC time — verify your timezone is set correctly
  • Check system time: date -u — should show current UTC
  • Install chrony for accurate time: sudo apt install chrony
  • The Xlog status bar shows current UTC — watch it to catch clock issues during operation

Callsign not resolving to DXCC entity

  • Xlog uses a built-in cty.dat for DXCC lookup — it may be outdated
  • Download the latest cty.dat from country-files.com
  • Place it in the Xlog data directory — check Edit → Preferences → Log for the data directory path
  • Some callsigns from small entities may not resolve even with an updated cty.dat — enter the country manually

Frequently asked questions

Is Xlog good for beginners?

Yes — Xlog is an excellent choice for new ham radio operators. It installs in seconds, has no complex setup, and the interface is immediately intuitive. You can be logging contacts within 2 minutes of installing it. As you progress and want more features like DX cluster integration and automatic LoTW upload you can move to CQRLog, but many experienced operators continue using Xlog for its speed and simplicity.

Can I use Xlog for DXCC award tracking?

Xlog does basic DXCC entity resolution from callsigns using its built-in cty.dat but it does not track award progress or confirmations. For serious DXCC tracking use CQRLog. A common workflow is logging in Xlog during operating sessions and then importing to CQRLog for award tracking — both programs use standard ADIF format so the import is straightforward.

How do I upload Xlog contacts to LoTW?

Export your Xlog log to ADIF via Log → Export → ADIF, then use TQSL to sign and upload it. Install TQSL with sudo apt install tqsl, configure your LoTW certificate, then run tqsl -d -u -l "YOURCALL" yourlog.adif. Xlog does not upload to LoTW directly — the ADIF export and TQSL step is required.

What log file format does Xlog use?

Xlog stores logs in its own plain text format with one contact per line — similar to ADIF but simpler. The files have a .xlog extension and are human-readable in any text editor. For exchange with other programs use Log → Export → ADIF to convert to the standard ADIF format. The plain text format is a feature rather than a limitation — it means your logs are never trapped in a proprietary database and survive even if Xlog itself becomes unavailable.

Can Xlog run on very old hardware?

Yes — Xlog is one of the lightest ham radio loggers available. It runs on hardware as old as a Pentium III with 256 MB RAM under a lightweight Linux distribution. For field day on ancient donated hardware or emergency communications on whatever equipment is available, Xlog is often the only logger that will run reliably. Even on modern hardware its fast startup and low memory use are advantages.

Does Xlog support contest logging?

Xlog supports basic contest logging — you can record exchanges in the Remarks field and export to ADIF afterward. However it does not have built-in contest exchange templates, automatic serial number tracking, real-time scoring, or Cabrillo export that dedicated contest loggers provide. For serious contesting use TLF (a keyboard-driven contest logger) or CQRLog with contest mode enabled. Xlog works for casual contest participation but is not optimized for high-rate contest operating.

How do I transfer my Xlog logs to a new computer?

Copy the log files (in ~/logs/ by default) and the Xlog configuration directory (~/.config/xlog/) to the new machine. Since Xlog logs are plain text files they open immediately on any system with Xlog installed. No database migration or export/import process needed — just copy the files.


Affiliate Disclosure: As an Amazon Associate, Ham Radio Base earns from qualifying purchases. Some links throughout this website may be affiliate links. If you purchase a product through one of these links, we may earn a commission at no additional cost to you. Your support helps us continue creating free articles, tutorials, reviews, and resources for the amateur radio community. N0TLB © Ham Radio Base - Powered by the Ham CQ DX Community. All rights reserved.

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.