Importing Contacts
Hamtrax has one import path: import a past activation from an ADIF file. The whole session — folder, metadata, and every QSO — comes in as a single activation.
There's no general "import a logbook" flow. If you have older contacts in a different format, the easiest path is to convert them to ADIF (most loggers can export ADIF) and bring them in as one or more past activations.
Importing a past activation
If you have an ADIF file from a previous POTA, SOTA, IOTA, WWFF, GMA, NPOTA, or other activation, Hamtrax will create the activation folder and import every QSO in one step.
Steps
- Open the Logbook tab.
- In the folder tree, find the Activations category folder and click the Import button that appears below it (alongside New).
- Drop your
ADIFfile (.adior.adif) onto the drop zone, or click Browse Files. - Hamtrax parses the file and auto-detects:
- Activity type — from the
MY_SIGfield. Choices in the dropdown:POTA,IOTA,SOTA,WWFF,GMA,NPOTA,Other. - Location reference (e.g.
K-1234) — from theMY_SIG_INFOfield. - Activator callsign — from
STATION_CALLSIGNorOPERATOR. - Date range — from the earliest and latest QSO dates.
- Activity type — from the
- Review and edit the detected fields. If the file omits
MY_SIG/MY_SIG_INFO, you'll need to fill them in manually. Location reference is required to enable the import button. - Preview the QSOs. Up to 200 contacts are shown with callsign, date, band, and mode. Larger files show a "+ X more contacts (will be imported, not previewed)" footer — the full set still imports.
- Click Import [N] QSOs as Activation to confirm. A progress bar tracks the import.
When the import completes, Hamtrax will have:
- Created an activation folder in the Activations category, named in the standard
callsign@reference-YYYYMMDDformat, with all session metadata (start/end time, activity type, location reference, callsign). - Imported every QSO into that folder with the activation reference,
MY_SIG, andMY_SIG_INFOfields set.
[SCREENSHOT: Import Activation modal showing parsed-QSO count, activation-detected banner, and the Activity Type dropdown]
Validation and warnings
The importer is conservative — bad records are dropped at parse time so they don't pollute your log. Whenever a record is rejected, the count appears as "N skipped" in the file-info banner, and an expandable Show N skipped records disclosure lists each error with its record index and reason.
What gets dropped:
- Missing required fields — every record needs
CALL,QSO_DATE, andTIME_ON. - Invalid date — the
QSO_DATEmust be a realYYYYMMDDbetween 1900-01-01 and one year from today.Feb 30,99999999, year1776, etc. are rejected. - Invalid time —
TIME_ON/TIME_OFFmust have hours< 24, minutes< 60, seconds< 60. A typo like250000is rejected instead of becoming "25:00". - Garbled callsign — must be at least 3 characters and contain only letters, digits, and
/(for portable suffixes likeW1AW/P). - Oversized field — any single ADIF field declared larger than 64 KB drops the whole record. (Real fields don't get anywhere near this; this catches malformed files where a length declaration corrupts the rest of the record.)
- Frequency out of range — anything
≤ 0or≥ 300,000 MHzis replaced with0(the BAND field, if present, is still used).
The review screen also shows two HEADS UP banners when applicable:
- Mismatched park / program. If the file contains QSOs whose
MY_SIG_INFOorMY_SIGpoints at a different activation, those QSOs are skipped rather than silently re-tagged. The banner shows the count: "N QSOs reference a different park or program and will be skipped." - Duplicate collapse. Identical records (same callsign, date, time, band, mode) within the file collapse to one. The banner shows the count: "N duplicates will be collapsed to one."
The Import button always reflects the actual number that will be written, not the raw count parsed from the file.
Offline imports
You can import an activation without an internet connection. Contacts are saved to your local database immediately and sync to the cloud when you reconnect.
Large files (10,000+ QSOs) parse in a few seconds. The contacts preview is capped at 200 rows for responsiveness; the full set imports.