Format support and sources.
This tool implements a bounded structural subset of ASCII ADI. It is not a complete ADIF compliance validator. The format reference checked for this build is the released ADIF 3.1.7 specification, updated March 22, 2026, especially sections IV.A.1 through IV.A.6 and the Date and Time data types. This names the release used, without claiming it will always be the latest.
What the reader handles
Length-delimited field values, case-independent field names and terminators, optional one-letter type indicators, zero-length values, optional headers and unknown fields. Values are consumed by their declared length, so a literal <EOR> inside a value cannot terminate a contact. Field order and values are retained. A source header must begin with a character other than < and end with <EOH>.
Deliberate bounds
| Item | Limit |
|---|---|
| Each selected source file | 10 MiB |
| Contacts in each source | 20,000 |
| Fields per source record or header | 256 |
| One field value | 1 MiB |
| Candidate pairs | 2,000 |
Input must contain printable ASCII, carriage returns and line feeds. ADX/XML, non-ASCII text, UTF-8 BOMs, tabs, international field types, repeated fields in one record and missing final EOR tags are rejected. Incompatible USERDEF definitions are rejected because changing their definitions could reinterpret retained values.
What is checked and what is not
Matching needs CALL, BAND, MODE, QSO_DATE and TIME_ON. SUBMODE must agree if present. UTC dates and times used for matching are checked for calendar validity. Other values, band enumerations, award rules, frequency consistency and every ADIF field's semantic constraints are not validated. Contacts missing matching information are retained and reported. Matching does not infer a band from frequency or translate modes.
New-copy export policy
New exports identify QSO Merge Bench and ADIF 3.1.7. Source program/version/timestamp metadata is retained in the manifest rather than presented as the new file's metadata. Other header fields are preserved or explicitly resolved. Record fields are serialized with recalculated lengths. Non-field annotation text and original whitespace are omitted; source files remain unchanged. Read the preservation details.
Matching policy is an application decision
The 120-second candidate window and explicit merge process are this tool's review policy, not an ADIF duplicate rule. An exact field match is not proof that two contacts should be combined. Only contacts from different files are compared. See matching examples.
Return to the merge bench