Version 7.10 released


This version adds following improvements:

  • The learning history can be exported to a file and imported from a file. This feature has been already in the previous version but for Windows only. This version adds its implementation also for Android. This can be very handy for making backups or for moving your data to another device.
  • The app has been translated to Slovak by Kocúr. It is therefore available in 17 languages. Many thanks to all translators who volunteered to translated it.
  • Small performance improvements for the page with the learning history and for sharing a text for translation from another app.

There are a few useful notes for the history import/export on Android:

  • These features can be accessed on the page with the learning history when you tap on the three dots icon in the upper right-hand corner of the screen. This will open a menu with the new items for the history import and export.
  • The opening or saving data into a file is solved using Storage Access Framework. This works as follows: The Morse Code app just asks Andorid to display the standard dialog for choosing files. You can select a file in this dialog. The Android will then make just this selected file accessible for the Morse Code app. The big advantage is that this solution is privacy-friendly. The app does not require any special permissions and does not have access to your files (just to the selected one). A small drawback is that the dialog for selecting is not customizable and its look and features depend on the Android version and can also differ for various phones manufacturers.
  • You can usually find a button with three horizontal lines in the upper left-hand part of the dialog for selecting files. Tapping on this button usually displays various locations such as downloads, your phone or SD card folders, or cloud storages such as Google Drive. The list of available storage can differ on different phones depending on your Android version and phone manufacturer.
  • The standard Android dialog behaves in a bit unusual way when you are exporting the history and when you select a file that already exists. In the most cases, Android will not overwrite the file but it will instead create a new file with a number appended to it (for example, if you exports your history to a file called “history.json” and the file already exists, android will save it as a new file “history (1).json”). This is somehow similar as when you are downloading files in your browser. But you should not depend on this behavior. I have seen cases when Android allowed rewriting the file. I recommend selecting a unique file name for the export instead of overwriting an older already existing file.
  • If you encounter a problem that you will not be able to select some file for import or export, please let me know (my e-mail is

Version 7.9 released


This version contains the following new features and improvements:

  • In the Windows version, you can export your learning history to a file, or imported it from a file. This can be very useful if you want to backup your data or transfer them to a new phone/computer. Currently, this feature is available for Windows only. I would like to make it available also for Android in the next version. It is almost ready but I have found out that it does not work well for some devices with an older Android version. Once I fix this problem, I will add these features into the Android version, too.
  • The app has been translated to Italian thanks to Preziuso Vito.
  • The app has been translated to Croatian thanks to Silver_Vatu.
  • There has been a minor improvement in the learning in case that you use Morse Code versions that contains mnemonics (such as Spanish version of Morse code). After an incorrect answer, the mnemonic for the incorrectly translated letter is also displayed.
  • Transition between the tabs with the Morse Codes list and Q-Codes list by swiping has been fixed (in Android version).
  • Two bugs that can cause app to crash have been fixed on the page with the learning history.
  • There have been small performance improvements in the learning history.

I have also changed one setting on the Google Play. I have selected the minimum age category for the target audience 9-12 years. A bit younger age category used to be selected as the minimum before. However, I have updated this setting based on the feedback from applying to the Teacher Approved program. I hope that it will not cause any trouble. In case that the app is not available for someone after this change, please contact me on my email.

SPOILER: A little spoiler for the following versions. I am working on adding support for the learning history import/export also for the Android. This should be included in the next version. The next big feature I am working on is generating audio files from Morse code. I have a working concept. There is still a lot to be done but I hope that this feature will be ready soon.

Version 7.8 released

  • The translation to Traditional Chinese by Andypsl8 has been added.
  • The translation to Simplified Chinese has been improved by Andypsl8.
  • The calendar view for the learning history has been added also to the Windows version.
  • The app now targets the latest Android 14.
  • Minor bug fixes and improvements

Version 7.7 released


This version adds the following features:

  • On the Settings page, it is possible to reset all the settings to their default values. Everything except for the learning history is returned to its default state.
  • The learning history can be viewed also in form of a calendar. The days when you have learnt the Morse code are highlighted in the calendar. Moreover, if you click on any of the days, the statistics for the day, such as the total learning time, are displayed. This feature is currently in the Android of the app only. It will be added also into the Windows version of the app in the next release.
  • The translation to Simplified Chinese by Andypsl8 has been added.

Version 7.6 released

  • Improved dialog for encryption/decryption of messages using Vigenère cipher:
    • The dialog for encryption contains also a link to the website with the detailed description of the used cipher. You can also learn there for which situations is the cipher suitable and for which situations it is not.
    • The dialog for decryption now contains also a short preview of the decrypted message as you are typing the password. You can make sure
      that the password is correct before you confirm the dialog and decrypt the whole message.
  • Improved learning: Fixed the problem when the ordering of characters has not been random. For levels with a low number of characters, the characters were picked randomly but after all of them have been presented they started appearing in the same ordering again. This has been caused by a bug in the method that should prevent the same character to appear twice. The method has been fixed and improved. Now it is possible that the same character is picked twice but a different translation direction is picked in this case.
  • Turkish translation by Ayberk Eren has been added.
  • Portuguese translation by Pedro O. (Dissidente) has been added. The previous version contained Portuguese language but it was only an automatic translation by Google Translate that you could select manually from the settings.
  • A rare crash in the Morse codes list and Q-codes list has been fixed.

Version 7.5 released


Just before Christmas, there is a new version of the Morse code app:

  • Finnish translation has been added (by Mika Kerttulalle).
  • Bulgarian translation for Q-codes has been added (translated by Иван Пенев).
  • A few bugs were fixed in the Bulgarian version of Morse code. The Bulgarian Morse code has been taken a table on Wikipedia. Unfortunately, there were some Cyrillic letters replaced with similarly looking Latin characters on Wikipedia. This caused that some Bulgarian letters were not translated in the app. This has been fixed in this version.
  • All libraries were updated to their latest versions. This should improve compatibility with Android 14.

Version 7.4 released


This version adds support for two new languages:

  • Romanian translation created by Vali Iordăchiță has been added.
  • Bulgarian translation created by Иван Пенев has been added.
  • The app also supports Bulgarian Morse code (in Cyrillic script). You can switch between International Morse Code (in Latin) and Bulgarian Morse code (in Cyrillic) in the app settings.

Besides that a few other improvements were made:

  • The page with the learning results has been optimized.
  • A few mistakes have been corrected in the texts.
  • Packages used by the app have been updated to their latest version.

Half a million downloads on Google Play


Google Play reports that more than half a million people as already downloaded the app on Google Play 🎉 That is awesome! Thank you very much for your support.

Simple ciphers were added into the online translator


Online Morse code translator has been improved and all the simple ciphers from the app for Android and Windows have been added into it. Now you can do the following in your browser:

  • Swap dots and dashes
  • Reverse Morse codes
  • Encrypt your message with a password (a simple Vigenère cipher is used for that).

Version 7.3 released


This version improved the random text generator. Now you can also generate random texts that contain only characters that you are learning. You can use this to practice receiving longer messages. To do so, you can try following:

  1. If you are learning Morse code with this app and you have already learnt a few letters, open the Translator page.
  2. There is an icon with three dots in the upper right-hand corner of the page. Tapping on this icon opens a menu with additional functions.
  3. Select “Generate random text” from the menu.
  4. You can specify how the text should be generated. A new option has been added to the list of the possible methods - Random characters (learnt characters).
  5. If you tap on this option a random text is generated consisting of only those characters that are selected on the “Learn” page. There will not be therefore any characters that you do not know yet.
  6. You can then practice by selecting “Hide original text” from the tree dots menu and playing the message using speakers. You can try to receive as much of the message as possible and write down the result on a piece of paper. Anytime you can check if your guess was correctly by tapping on the “Show original text” button.

This version contains also other smaller improvements - there have been a few fixes and additions in the words lists and the external libraries used by the app have been updated to their latest versions.

Version 7.2 released


This release fixes two bugs and adds one minor improvement. Because all of them are specific to Android, this release is for Android only:

  • Vibrations fix - It has been reported that vibrations in the translator and learning did not work on a device using CalyxOS. This was a very rare problem caused by undocumented requirements of the OS (or the phone). The new version fixes the vibrations so that they would work also there.
  • Possible crash fix - A fix for a very rare crash has been added.
  • Switching between Morse Codes list and Q-Codes list - Now it is possible to switch between both by swiping left or right.

Version 7.1 released


The release contains the following improvements:

  • The application has been translated to Arabic. I would like to thank to Kero Said who translated all the texts. You can select this translation in the app settings (currently it is not selected automatically before it is more thoroughly tested).
  • The Arabic version of Morse code (using Arabic script instead of Latin letters) has been added according to the table on Wikipedia. You can choose this version of Morse code in the app settings if you like. Please notice, that there are two separate settings. The first one is for the language of the user interface; the latter one is for the version of the Morse code. You can combine the arbitrarily. So you can have the user interface in Arabic but generate messages in English in the International Morse Code, and, vice versa, you can have the app in English but still be able to translate a message in Arabic version of Morse Code.
  • The translator has been improved slightly. Now it is possible to use also an underscore ( _ ) for dashes.
  • Learning has been improved - the button for playing sound is kept even when the answer is evaluated. So in case of an incorrect answer, you can play the sound again.
  • A few rare crashes have been fixed.

Any feedback to Arabic translation is welcome. If you find a mistake, please write me to I am still not sure if everything has been flipped correctly. Please be also careful about the direction of the Morse code, if you are using Arabic translation of the UI. It can be confusing and it is easy to swap for example “.-” for “-.”. If you are not sure, play the sound using the speakers.

Very appreciated is also any feedback to the Arabic version of Morse code. I have found no other relevant sources of information besides the table on Wikipedia and I have soon found out that the Arabic script can create much more complex letters than only those listed on Wikipedia. If you believe that some of the Arabic letters are not translated correctly in this version, or if they are not translated at all (for example various accents under and over other letters), please contact me at

Documentation for Vigenère cipher has been added


The app makes it possible to encrypt messages using Vigenère cipher. Because I have received multiple questions how does it work, I have added a detailed description of the particular version of Vigenère cipher used in the app. You will learn there the why it has been chosen for the app, its pros and cons, and how exactly it works.

Version 7.0 released


There are two main changes in the release:

  • There is a new slider in the settings that you can use to customize the amount of the noise added to the sound. You can try using small values to fix problems with some Bluetooth headphones. The higher values can be used to simulate a radio distortion.
  • It was changed how time is measured in the learning for listening exercises. For this mode, the time is measured from the moment the playing has finished (it was measured from the beginning of the sound in the previous version, which was not correct). There has been no change for normal mode and silent mode - the time is measured from the moment the code is displayed on the screen.

As usual, there are also plenty of small improvements and bug fixes.