www.viniciocoletti.it > Projects > VILOG

Vinicio Coletti site


Designed and written by IK0WRB (Vinicio Coletti)
Version 2.2 distributed from May 29, 2023

Questa pagina IN ITALIANO

Participating to the Vilog project

Vilog is multilingual.
I wrote the program in English and after I added the translation to Italian, but I wish to add some other languages.
I could add myself some languages, but it takes some time to translate hundreds of text strings... All time that could be used for coding!
So, if you are a native speaker of a language different from English and Italian, please contact me by mail, the one you can read at the bottom of this page. Of course your name and callsign will be inserted in the program documentation.
Translating is easy: you will receive a plain text file, that you must edit with an editor able to use the UTF-8 encoding. In the file there are many couples of rows. On the first there is a sentence in English and on the second you must write the translation to your language.


Vilog is a log program designed for all radio amateurs using Linux as their main operating system.
The program has been developed under Lubuntu 16.04 LTS 64 bit, with the C++ language and the wxWidgets open source libraries.
Vilog has its own log file format, which is a text file that you can also modify with any standard text editor. It can import data in the Adif, Cabrillo, Fastlog 3.4, WSJTX log and Vilog formats.
It can export to Adif, Cabrillo, Fastlog 3.4 text and Vilog formats, as well as a short format Adif, specifically designed for the upload to LoTW.
Of course you can edit any single QSO and there is a powerful filter function that will quickly select only some QSOs, following the criteria you establish.
About awards, it supports DXCC, WAZ, WAS, VUCC and WAIP (the latter is an Italian award) and you can modify the list of entities, except for WAZ and WAS, which are reasonably stable. Every DXCC entity uses normally a single regular expression to parse the callsign and attribute the entity code to a specific callsign.
If you wanto to modify the DXCC entity list, please read before how to use regular expressions.
The attribution of the DXCC entity and the WAZ zone is automatic and almost perfect, but you can always change them manually.
You can also read the "QSL" file you get from LoTW (usually named lotwreport.adi), so that the award lists and grids will take into account the LoTW confirmations.
Also, you can read the DXCC_QSLs_.....adi file you can get from LoTW, to import all the entity/band/modes already granted in DXCC. This is used in some useful tools of the program, although this specific information from ARRL contains many mistakes.
You can see in several tables the awards status on the whole or for specific entities. One of the tools gets in real time the messages just received by WSJT-X, showing only the callsigns that are new entity/band/mode for you!
You should insert the default location for the QSOs of your log, but you can also define many secondary "places", defined by a label, QTH, used callsign and locator. Each QSO can be assigned to a place, so you can then select just the QSO made in one place, for example for a specific upload to LoTW.
There is also a contest mode, with a fast insertion of QSO and with automatic date, time, band and frequency (the latter two for now only for some Kenwood rigs).
You can also print on paper the whole log or part of it, with also a print preview, although this function is not refined as it should be.


The following screenshots will show how the program looks like. Please note that the actual appearance depends on the Linux distribution, window manager and theme you are using. These pictures were taken on Lubuntu 22.04 with LXQT and the default theme.
Let's begin with the main screen, showing all QSOs. With the menu, or with keyboard shortcuts, you can move to the first row, the last row, a specific row number or a specific date.

This is the Log menu

This is the import screen. There are several formats available and some options. You can also import only the QSO of a certain date range and you can load this as a new log or appending the QSOs to the current log. Using the Vilog format and the append option you can for example easily join different logs.
If you select "Auto format", the program will try to establish itself which is the format of the file you selected. If a supported format is not found, the import will not start and you will be informed.

Now to the export screen, where of course you can select the format and possibily append to the output. There is no date selection, because if you have the filter enabled, only the filtered QSOs are exported. So simply filter a date range, then export. This way you can export only the QSO of a single band or of a DXCC entity, or made from a specific QTH, etc.
If you enable the automatic LoTW file names, the program (that remembers the last file exported this way), will not ask you a file name but will generate one automatically. For example, if the last file was exported to ~/Documents/mylotw_057.adi it will now export to ~/Documents/mylotw_058.adi. For this to work, you must export manually the first time, to a file name ending with underscore and 3 digits, plus the .adi extension.

This is the QSO menu. It also appears if you right-click the mouse on the QSOs list.
To quickly upload to LoTW the last QSOs done, you may select with the mouse these QSOs, then use the function "Selected to filter", then the Export function, possibily with the automatic file name.

This is the QSO edit screen. As you can see there are many fields available. The continent, DXCC entity and WAZ zone were selected automatically by the program, when editing this QSO. There is also a menu function to do this processing on the whole log, particularly useful when you are migrating your log from another program.
You can also change the entity manually and if you save and open again, also the WAZ will be updated. If you change the callsign, also continent, DXCC and WAZ will be changed immediately. If there are many choices for the WAZ zone, all the relevant zones will be available for selection in the drop down box.
For USA, Alaska and Hawaii, you can choose also the WAS state and for Italy and Sardinia you can choose the Italian province. In some cases, this selection is done automatically.

This is the filter screen. You can set many conditions, pratically on every QSO field, and they are all ANDed together, resulting in a very powerful tool. Note that here dates and times are not coupled, so that for example you may select all QSO you made during the night. Or you can select a geographical zone writing one locator or two locators for the zone limits.
You don't need to fill all the fields in this form, but only the ones you want to use. Empty fields are not used for filtering. When this page starts, it goes right to the callsign field, so to select a specific call is a matter of just 2 clicks. Processing time is also very short.

This is the Tools menu. As you can see, there is a rich set of tools to use on your log.

Here you can see the DXCC entities list. You can change every field, double clicking on it and editing on site.
Please do study Regular Expressions before changing them! A "not valid" entity is a deleted one.
You can sort this list by prefix or entity name, clicking on the column headers or using the local menu (mouse right-click).

Here you can see the edit page of some expressions that let the program select automatically the WAZ zone for a specific callsign worked. If the expressions begin with "C=" they are applied to the callsign, while if they begin with "U=" they are applied to the US State. It is also possible to AND (&) each of these criteria with a locator (either with "L<" or "L>="), where positions with a star (*) are ignored.
They are processed top to down, only for the entity concerned. Apparently this works very well, so you will know automatically which is the WAZ zone for an Asiatic Russia callsign, for example.
You can change every field here too, double clicking on it and editing on site.

Here is the editing page for the WAIP Italian award.
It is simply the list of the Italian provinces, with their code and date range of validity, if any.
You can sort them by code or province name, clicking on the column headers or using the local menu (mouse right-click).

This is the Awards page, available for DXCC, WAZ, WAS and WAIP.
You can see the confirmations you have for each entity, in all modes and bands, with also totals.
In some of the awards you can also sort the list clicking on the column headers or right-clicking with the mouse, for a contextual menu.

This is the map of the confirmed locators, available for DXCC (HF bands) and VUCC (VHF and up), with the possibility to select a mode or a band.
Of course only the QSOs having a locator (of at least 4 characters) can appear in this map.

Here you can see the grids screen, where you can see in what bands/modes you have worked a single DXCC entity or WAZ zone or WAS state or VUCC square.
The single letter means

  • w: worked (so no QSL)
  • s: sent direct/bureau (but not received)
  • u: uploaded to LoTW (but not yet confirmed)
  • R: received direct/bureau
  • C: confirmed in LoTW
  • G: already granted in DXCC (only in Mixed/Total)
You can select the entity/zone/state/locator in the drop down box or writing the initial part of a callsign in the "Callsign" field. For the VUCC award, you can write directly a locator.
Double clicking on a cell, will lead you to the QSO list, with a filter that shows you only some QSOs. In this example, if you double-click on the cell "Digital/17m", you will see only the QSOs made with Luxembourg on 17m Digital.

This is the WSJT-X monitor.
For this to work, launch WSJT-X and select "Save decoded" in the upper "Save" menu.
When you do so, WSJT-X will append all decoded QSOs to a text file, which is read by Vilog.
You can decide to see all QSOs, which is advisable for the first tries or to monitor the band.
The interesting part is that callsigns that are new for our log (for the DXCC entity, band or mode) will be highlighted.
If you uncheck the "See all" checkbox, you will see only the highlighted QSOs.
This function will highlight also the new WAZ zones and VUCC squares (the latter only for 6m and up).
If you are communicating through a satellite, this information is not available from WSJT-X, so you'd better check "Satellite", so the monitor can check your missing entities correctly.
Checking the "Only LoTW" checkbox, the program will consider just the LoTW confirmations, unless the entity is already granted in DXCC. This is particularly useful for WAZ and VUCC awards, but also for DXCC and will spare you many paper confirmations.


  • Versions 1.0 to 1.2 were used only by the author, during the development of the program.
  • Version 1.3 has been the first distributed version
  • Version 1.4
    • Vilog is now distributed as a standard Debian package (.deb)
    • Added "places", transmitting locations you can assign to each QSO
    • When adding a new QSO you are informed if it is a new DXCC entity / band / mode
    • New tool to read all QSO decoded by WSJT-X, showing all of them or only those new for entity/band/mode
    • Now locators are supported up to 8 characters
    • Added several error messages when adding/editing a QSO
    • Added a short manual page you can show from a terminal, with the command: man vilog
    • The main window title now shows the name of the loaded log
    • Configuration file and logs are now stored in standard directories
    • Added an internal changelog
  • Version 1.4.1
    • Fixed a bug introduced with version 1.4, that erased the specific frequency of a QSO when editing it (not while adding it)
    • Made reading logs a bit faster
  • Version 1.4.2
    • Fixed a bug in saving Adif imported files containing EME o other specific propagation modes
    • Added a function to delete all duplicated QSOs
  • Version 1.5
    • Development platform changed to wxWidgets, translating about 7k rows of code...
    • Many parts of the code rewritten to be more efficient and clear
    • Splash screen eliminated and changed to a log loading progress indicator
    • New optional "short" format for vlg logs, long and short formats are both recognized automatically
    • Added functions for selecting all QSOs, or none
    • New function to read DXCC award grants, then stored in the log and used by several functions
    • Corrected some bugs and made a better handling of the whole award/qsl stuff
    • New option to write logs in short format (about 25% gain in disk space for logs)
    • Added many controls and error messages, to make more robust many functions
    • Changed the error output of all functions to a scrollable summarizing window
    • Added explanation on some functions, expecially about LoTW
    • Added correct UTF8 handling of country names and QSO notes
    • Less critical handling of timing in WSJT-X monitor function
    • Main window starts with a size equal to a quarter of your screen and goes up to a 4K screen
    • When changing the size of the main window, character size should also change
  • Version 1.5.1
    • Development moved back to Lubuntu 16.04, for better compatibility with old versions
    • Added function to filter the selected QSOs
    • Added a time tolerance option, when deleting duplicate QSOs
    • Corrected some bugs here and there
  • Version 1.6
    • Vilog becomes multilingual, currently supported languages are English and Italian
    • Distributed now also as .tgz for many Linux distributions
    • New Contest Mode, to easily enter QSOs during a contest
    • Automatic frequency and band gathering in Contest Mode o when adding a QSO, for now only for some Kenwood rigs
    • Contest score, during the contest of after its end, for now only for CQ WW
    • New print function, with print preview
    • Added support for the VUCC award, in Awards and Grids
    • Added 2m band in DXCC, in Awards
    • Added two bands: THz and Light
    • Granted flag becomes editable in Edit QSO
    • Fixed bug in reading lotwreport.adi and added time tolerance
    • Discovered that there are errors in granted files from LoTW, added time tolerance
    • Made better the Cabrillo export header and some other dialogs
    • Fixed some bugs
  • Version 1.6.1
    • Fixed a bug in Filter, about WAS and WAIP awards
    • Fixed a bug in Awards, about WAIP
  • Version 1.7
    • Added bands used only somewhere or in some years: 4000m, 8m and 5m
    • Added SWL flag to QSOs, for logging SWL reports
    • Added NIL flag to QSOs, to filter the 'not in log' contacts
    • Better handling of callsigns with one slash, or more
    • Ability to reverse the filtering, for the QSL fields
    • Ability to use the filter incrementally
    • Filtering also for SWL and 'not NIL' contacts
    • WS monitor now warns also about new WAZ zones and locator squares (useful for VUCC award)
    • In WS monitor new button to clean the screen
    • In WS monitor new sound alarm available (if using USB for radio audio)
    • Double clicking on a Grid cell, filters those QSOs (already present but undocumented)
    • Better handling of continent, DXCC, WAZ and WAS, when adding or editing a QSO
    • Now subwindows open centered on the parent window, not centered on the screen
    • Slightly modified DXCC entities list, including the recent variations and dxpeditions
    • Several small bugs fixed
  • Version 1.8
    • Display of satellite mode in the QSO list
    • Added several ways to sort the tables of the QSLs to ask and to send
    • Zone rules may include now the locator, to better identify the WAZ zone
    • Satellite mode in the WSJT-X monitor
    • Search for the locator of the station, when adding or editing a QSO
    • Added 70cm band in the DXCC Award table
    • Combined THz and Light bands as "Submm", in VUCC Award table
    • Fixed sorting in the Awards tables
    • Deleted bands over 6m, in the WAZ Award table
    • More clear display of QRB/QRC, when adding or editing a QSO
  • Version 1.9
    • Better handling, more details and fixed errors, in Awards
    • New map function, to see confirmed locators on a world map
    • New QSO field for RX band, also used for Adif import/export
    • Better handling of Adif and Cabrillo import/export
  • Version 2.0
    • Progress bar on all imports and exports
    • Fixed several small bugs
  • Version 2.1
    • Faster import of Adif logs
    • Better visibility of all tables
    • Better handling of new entity/band/mode/locator in edit
    • Faster lookup in WS Monitor
    • Better routine to delete dupes
  • Version 2.2
    • Added export to EDI log format
    • LoTW-only option in WSJT-X monitor
    • Many better features and bug fixes


This program will work only on Linux 64 bit systems and is distributed as a Debian package (.deb) and as a tar-gzipped file (.tgz).
It has been tested on 6 Linux distributions: Lubuntu 16.04, Lubuntu 18.04, Ubuntu 20.04, Lubuntu 22.04, Mint 21.1 (all with the .deb package) and Fedora 35 (with the .tgz file). It should work on any Debian, Ubuntu, Mint and similar distributions, as well as many other Linux systems.
If you want to help, try installing on your distribution and if there are missing libraries, report them (those giving not found in the command: ldd /usr/local/bin/vilog).

Full install of Vilog on Debian/Ubuntu/Mint and similar distributions

  1. Download from the bottom of this page the package, in this case named vilog_2.2.deb
    and remember the folder where you saved it.
  2. Open a terminal with Ctrl-Alt-T or from the main menu, go to the folder where you put the package
    and give this command, as a normal user, not root
    sudo dpkg -i vilog_2.2.deb
  3. When the command is completed, give also the following command, still as a normal user
    Note: You can force a default language executing initvilog en or initivilog it

Full install of Vilog on Red Hat/Fedora/CentOS and many other distributions

  1. Download from the bottom of this page the file, in this case named vilog_2.2.tgz
    and remember the folder where you saved it.
  2. Open a terminal with Ctrl-Alt-T or from the main menu, go to the folder where you downloaded the .tgz file
    and give this command, as a normal user, not root
    sudo tar -C /usr -xvzf vilog_2.2.tgz
  3. When the command is completed, give also the following command, still as a normal user
    Note: You can force a default language executing initvilog en or initivilog it

Executing the program

To execute the program, you find it on your desktop and also in the main menu, under "Utility", "Education" and possibly "HamRadio" or "Others".
You can also open a terminal with Ctr-Alt-T (or from the menu) and give the command vilog
or vilog en or vilog it, if you want to temporarily use a specific language.

Distribution policy

Please note that Vilog is freeware, but not open source.
This means that you can freely download, install and distribute the program, provided no money is asked and no modifications are made.
The program is always run under your complete responsability and the author will never be responsible for any problems that may happen on your computer.
If you really like the program and want to show how you are grateful, you may send a donation via PayPal (see Help/About inside the program).
To contact me for any problems about Vilog, write to

Future versions of Vilog can be downloaded here.

Vilog is for Linux 64 bit systems only
TargetFileLength Output of sha256sum filename
Debian/Ubuntu/Mint and similarvilog_2.2.deb6,134,750
Red Hat/Fedora/CentOS and manyvilog_2.2.tgz8,353,227