CINXE.COM
Sign up for an account on lcwo.net - Learn CW Online
<!DOCTYPE html> <html> <head> <title>Sign up for an account on lcwo.net - Learn CW Online</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="description" lang="en" content="Learn CW Online - At LCWO you can learn Morse Code (CW) online, in your web browser!"> <meta name="keywords" content="learn cw, cw, morse code practice, telegraphy, learn morse code, morse code, koch method, morsen lernen, impare il cw, high speed cw, hst, qrq, ham radio, dj1yfk, rufzxp, fabian kurz"> <meta name="author" content="Fabian Kurz"> <meta property="og:title" content="Learn CW Online" /> <meta property="og:type" content="website" /> <meta property="og:url" content="https://lcwo.net/" /> <meta property="og:image" content="https://lcwo.net/pics/lcwo.png" /> <meta property="og:description" content="Learn CW Online - a free web app for learning Morse code!" /> <link rel="icon" href="/favicon.ico"> <link rel="shortcut icon" href="/favicon.ico"> <link href="/atom.xml" type="application/atom+xml" rel="alternate" title="LCWO News Feed"> <link href="/forumatom.xml" type="application/atom+xml" rel="alternate" title="LCWO Forum Feed"> <link id="lcwocss" href="/style.css" rel="stylesheet" type="text/css"> <link rel="stylesheet" href="/js/leaflet.css"> <script type="text/javascript" src="/js/jscwlib.js?cachebreak=1711272842"></script> <!-- User activity heatmap dependencies curl -L 'https://d3js.org/d3.v7.min.js' > js/d3.js curl -L 'https://unpkg.com/cal-heatmap/dist/cal-heatmap.min.js' > js/cal-heatmap.js curl -L 'https://unpkg.com/cal-heatmap/dist/cal-heatmap.css' > cal-heatmap.css curl -L 'https://unpkg.com/@popperjs/core@2' > js/popperjs-core.js curl -L 'https://unpkg.com/cal-heatmap/dist/plugins/Tooltip.min.js' > js/cal-heatmap-Tooltip.js --> <script src="/js/d3.js"></script> <script src="/js/cal-heatmap.js"></script> <link rel="stylesheet" href="/cal-heatmap.css"> <script src="/js/popperjs-core.js"></script> <script src="/js/cal-heatmap-Tooltip.js"></script> </head> <body bgcolor="#ffffff"> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tbody> <tr class="headerline"> <td style="background-image:url(/pics/lcwo-bg2.png);" width="41%"> <a href="/"><img style="border-style:none;" src="/pics/lcwo.png" height="75" width="214" title="LCWO - Home" alt="[LCWO LOGO]"></a> </td> <td style="background-image:url(/pics/lcwo-bg2.png);" width="59%"> </td> </tr> </tbody></table> <script> function agree_policy () { var i = document.getElementById("consent"); i.innerHTML = "Thanks!"; var request = new XMLHttpRequest(); request.open("GET", "//lcwo.net/api/consent.php", true); request.send(); } </script> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tbody> <tr> <td class="menuText" width="100%"> <img style="vertical-align:middle" src="/pics/menusep2.png" height="19" width="16" alt=":"> <a class="mLink" href="/">Home</a> <img style="vertical-align:middle" src="/pics/menusep2.png" height="19" width="15" alt=":"> <a class="mLink" href="/users">User list</a> <img style="vertical-align:middle" src="/pics/menusep2.png" height="19" width="15" alt=":"> <a class="mLink" href="/highscores">Highscores</a> <img style="vertical-align:middle" src="/pics/menusep2.png" height="19" width="15" alt=":"> <a class="mLink" href="/forum">Forum </a> <img style="vertical-align:middle" src="/pics/menusep2.png" height="19" width="15" alt=":"> <a class="mLink" href="/usergroups">User groups</a> <img style="vertical-align:middle" src="/pics/menusep2.png" height="19" width="15" alt=":"> <a class="mLink" href="/about">About</a> <img style="vertical-align:middle" src="/pics/menusep2.png" height="19" width="15" alt=":"> </td> </tr> </tbody></table> <br> <table border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td width="220" valign="top"> <script> function getCookieVal (offset) { var endstr = document.cookie.indexOf (";", offset); if (endstr == -1) { endstr = document.cookie.length; } return unescape(document.cookie.substring(offset, endstr)); } function getCookie (name) { var arg = name + "="; var alen = arg.length; var clen = document.cookie.length; var i = 0; while (i < clen) { var j = i + alen; if (document.cookie.substring(i, j) == arg) { return getCookieVal (j); } i = document.cookie.indexOf(" ", i) + 1; if (i == 0) break; } return null; } if (getCookie('lcwo_username') && getCookie('lcwo_hash')) { console.log("found cookies, attempting to log in!"); var u = getCookie('lcwo_username'); var h = getCookie('lcwo_hash'); var request = new XMLHttpRequest(); request.open("POST", '/dologin', true); request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); request.onreadystatechange = function() { var done = 4, ok = 200; if (request.readyState == done && request.status == ok) { if (request.responseText) { if (request.responseText.indexOf("LOGIN_SUCCESS") != -1) { // login succeeded... forwarding window.setTimeout( function () { window.location.href = 'https://lcwo.net'; }, 1000); } } } } request.send("username="+u); } </script> <table width="90%"> <tr><th class="tborder">Login</th></tr> <tr><td class="tborder"> <br> <div align="center"> <form action="/dologin" method="POST"> <table> <tr> <td>User name: </td> <td> <input type="text" size="8" name="username"> </td> </tr> <tr> <td>Password: </td> <td> <input type="password" size="8" name="password"> </td> </tr> </table> <input type="submit" value="Login"> </form> </div> </td></tr> <tr> <td class="tborder"> <br> <div align="center"> <a href="/lostpassword">Forgot password?</a> - <strong><a href="/signup">Sign up</a></strong> </div> <br> </td> </tr> </table> <table width="90%"> <tr><th class="tborder">Language</th></tr> <tr> <td class="tborder"> <table width="100%"> <tr><td><a href="/bg/signup" title="Bulgarian"> Български </a></td><td><a href="/br/signup" title="Brazilian Portuguese"> Português brasileiro </a></td></tr><tr><td><a href="/bs/signup" title="Bosnian"> Bosanski </a></td><td><a href="/ca/signup" title="Catalan"> Català </a></td></tr><tr><td><a href="/cn/signup" title="Traditional Chinese"> 繁體中文 </a></td><td><a href="/cs/signup" title="Czech"> Česky </a></td></tr><tr><td><a href="/da/signup" title="Danish"> Dansk </a></td><td><a href="/de/signup" title="German"> Deutsch </a></td></tr><tr><td><a href="/en/signup" title="English"> English </a></td><td><a href="/es/signup" title="Spanish"> Español </a></td></tr><tr><td><a href="/fi/signup" title="Finnish"> Suomi </a></td><td><a href="/fr/signup" title="French"> Français </a></td></tr><tr><td><a href="/gr/signup" title="Greek"> Ελληνικά </a></td><td><a href="/hr/signup" title="Croatian"> Hrvatski </a></td></tr><tr><td><a href="/hu/signup" title="Hungarian"> Magyar </a></td><td><a href="/it/signup" title="Italian"> Italiano </a></td></tr><tr><td><a href="/ja/signup" title="Japanese"> 日本語 </a></td><td><a href="/ko/signup" title="Korean"> 한국어 </a></td></tr><tr><td><a href="/ms/signup" title="Malay"> Bahasa Melayu </a></td><td><a href="/nl/signup" title="Dutch"> Nederlands </a></td></tr><tr><td><a href="/no/signup" title="Norwegian"> Norsk </a></td><td><a href="/pl/signup" title="Polish"> Polski </a></td></tr><tr><td><a href="/pt/signup" title="Portuguese"> Português </a></td><td><a href="/ro/signup" title="Romanian"> Română </a></td></tr><tr><td><a href="/ru/signup" title="Russian"> Русский </a></td><td><a href="/si/signup" title="Sinhala"> සිංහල </a></td></tr><tr><td><a href="/sk/signup" title="Slovak"> Slovenčina </a></td><td><a href="/sl/signup" title="Slovenian"> Slovenščina </a></td></tr><tr><td><a href="/sr/signup" title="Serbian"> Srpski </a></td><td><a href="/sv/signup" title="Swedish"> Svenska </a></td></tr><tr><td><a href="/th/signup" title="Thai"> ภาษาไทย </a></td><td><a href="/tr/signup" title="Turkish"> Türkçe </a></td></tr><tr><td><a href="/uk/signup" title="Ukrainian"> Українська </a></td><td><a href="/zh/signup" title="Simplified Chinese"> 简体中文 </a></td></tr> </table> </td> </tr> </table> <table width="90%"> <tr><th class="tborder">Who is online? (47)</th></tr> <tr><td class="tborder"> <br> <div align="center"> <a href="/profile/2e0vaq" title="Thomas">2e0vaq</a> <a href="/profile/AI6ZV" title="">AI6ZV</a> <a href="/profile/Akai22" title="">Akai22</a> <a href="/profile/Amedio" title="Dominick ">Amedio</a> <a href="/profile/Annavkw" title="">Annavkw</a> <a href="/profile/BG2FSU" title="">BG2FSU</a> <a href="/profile/CF100Canuck" title="">CF100Canuck</a> <a href="/profile/dextervipera" title="Kamil">dextervipera</a> <a href="/profile/dinets" title="Andrew">dinets</a> <a href="/profile/Gymnogene" title="Stuart North">Gymnogene</a> <a href="/profile/HanaYoshi" title="">HanaYoshi</a> <a href="/profile/HF1RF" title="Remigiusz">HF1RF</a> <a href="/profile/i0fzm" title="Fabrizio">i0fzm</a> <a href="/profile/ik1xpe" title="Massimo">ik1xpe</a> <a href="/profile/IU5RDC" title="Camillo">IU5RDC</a> <a href="/profile/Janzijlstra55" title="Jan Zijlstra">Janzijlstra55</a> <a href="/profile/JL1AYH" title="Christian Horn">JL1AYH</a> <a href="/profile/k7ltc" title="Bart">k7ltc</a> <a href="/profile/Kamran" title="Kamran Razvan">Kamran</a> <a href="/profile/ke7wnb" title="John Bucsek">ke7wnb</a> <a href="/profile/Ke9cvx" title="Andrew Kurtz">Ke9cvx</a> <a href="/profile/KJ4XF" title="Robert McGuirk">KJ4XF</a> <a href="/profile/KPB44" title="Kim">KPB44</a> <a href="/profile/krotkispike" title="kamil">krotkispike</a> <a href="/profile/la7vk" title="Tormod">la7vk</a> <a href="/profile/luckytoshi123" title="Nakamura">luckytoshi123</a> <a href="/profile/lw7ek" title="juan martin">lw7ek</a> <a href="/profile/M0GQB" title="Martin Cox">M0GQB</a> <a href="/profile/Moritz1" title="Moritz">Moritz1</a> <a href="/profile/N5BUM" title="Robert Melton">N5BUM</a> <a href="/profile/OH2XAB" title="">OH2XAB</a> <a href="/profile/OmarA" title="Omar">OmarA</a> <a href="/profile/PE4BAS" title="Bas">PE4BAS</a> <a href="/profile/pentodik" title="Андрей">pentodik</a> <a href="/profile/princemuel" title="Samuel Chukwuzube">princemuel</a> <a href="/profile/rachtenb" title="Robert">rachtenb</a> <a href="/profile/ryuchan" title="りゅうちゃん">ryuchan</a> <a href="/profile/SP2BMR" title="Tomasz">SP2BMR</a> <a href="/profile/SPaikmos" title="Steve">SPaikmos</a> <a href="/profile/TEDDYEDWARD" title="TEDDY">TEDDYEDWARD</a> <a href="/profile/test" title="Test user.">test</a> <a href="/profile/thedoublej" title="">thedoublej</a> <a href="/profile/tinybricole" title="">tinybricole</a> <a href="/profile/US5ZCF" title="Алексей">US5ZCF</a> <a href="/profile/W0KT" title="Curt J Lowe">W0KT</a> <a href="/profile/W1JBB" title="Jonathan">W1JBB</a> <a href="/profile/W3BGE" title="Lee">W3BGE</a> </div> <br> </td></tr> </table> </td> <td valign="top"> <h1> Sign up for an account on lcwo.net</h1> <script> function checkUsername () { var u = document.getElementById('formusername'); if (u.value.length < 2) { document.getElementById('user_exists_warning').innerHTML = '(too short)'; return; } var posturl; posturl = "/api/user_exists.php"; var request = new XMLHttpRequest(); request.open("POST", posturl, true); request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); request.onreadystatechange = function() { var done = 4, ok = 200; if (request.readyState == done && request.status == ok) { if (request.responseText) { var r = JSON.parse(request.responseText); if (r.user_exists == 0) { document.getElementById('user_exists_warning').innerHTML = '(available)'; } else if (r.user_exists == 1) { document.getElementById('user_exists_warning').innerHTML = '<b style="color:red">Username already exists!</b>'; } else if (r.user_exists == -1) { document.getElementById('user_exists_warning').innerHTML = '<b>Username with invalid characters. Only A-Z, 0-9 allowed.</b>'; } } } }; request.send('username='+u.value); } </script> <p> Please fill in this form to get your own account on LCWO. This will enable you to save your practice settings, keep track of your learning progress, and compare your skills with others on the scoreboards. </p> <p> Most fields are voluntary, you only have to chose an unique user name and a password. It's strongly recommended also to enter a valid email address, which can be used to recover a lost account password. </p> <div align="center"> <form action="/register" method="POST"> <table> <tr style="background-color:#dfdfdf"> <td width="20%">User name: *</td> <td><input onKeyup="checkUsername();" type="text" size="20" id="formusername" name="username" value=""> (Allowed characters: a-z, A-Z, 0-9) <span id="user_exists_warning"></span></td> </tr> <tr> <td>Password: *</td> <td><input type="password" size="20" name="pw1"></td> </tr> <tr style="background-color:#dfdfdf"> <td>Confirm Password: *</td> <td><input type="password" size="20" name="pw2"></td> </tr> <tr> <td>E-Mail:</td> <td><input type="text" size="20" name="email" placeholder="yourname@example.com" value=""></td> </tr> <tr style="background-color:#dfdfdf"> <td>Name:</td> <td><input type="text" size="20" name="name" placeholder="Your Name" value=""></td> </tr> <tr> <td>Location:</td> <td><input type="text" size="20" name="location" placeholder="Your Location" value = ""></td> </tr> <tr style="background-color:#dfdfdf"> <td>Language:</td> <td> <select name="lang" size="1"> <option value="bg">bg - Български (Bulgarian)</option><option value="br">br - Português brasileiro (Brazilian Portuguese)</option><option value="bs">bs - Bosanski (Bosnian)</option><option value="ca">ca - Català (Catalan)</option><option value="cn">cn - 繁體中文 (Traditional Chinese)</option><option value="cs">cs - Česky (Czech)</option><option value="da">da - Dansk (Danish)</option><option value="de">de - Deutsch (German)</option><option value="en">en - English (English)</option><option value="es">es - Español (Spanish)</option><option value="fi">fi - Suomi (Finnish)</option><option value="fr">fr - Français (French)</option><option value="gr">gr - Ελληνικά (Greek)</option><option value="hr">hr - Hrvatski (Croatian)</option><option value="hu">hu - Magyar (Hungarian)</option><option value="it">it - Italiano (Italian)</option><option value="ja">ja - 日本語 (Japanese)</option><option value="ko">ko - 한국어 (Korean)</option><option value="ms">ms - Bahasa Melayu (Malay)</option><option value="nl">nl - Nederlands (Dutch)</option><option value="no">no - Norsk (Norwegian)</option><option value="pl">pl - Polski (Polish)</option><option value="pt">pt - Português (Portuguese)</option><option value="ro">ro - Română (Romanian)</option><option value="ru">ru - Русский (Russian)</option><option value="si">si - සිංහල (Sinhala)</option><option value="sk">sk - Slovenčina (Slovak)</option><option value="sl">sl - Slovenščina (Slovenian)</option><option value="sr">sr - Srpski (Serbian)</option><option value="sv">sv - Svenska (Swedish)</option><option value="th">th - ภาษาไทย (Thai)</option><option value="tr">tr - Türkçe (Turkish)</option><option value="uk">uk - Українська (Ukrainian)</option><option value="zh">zh - 简体中文 (Simplified Chinese)</option> </select> </td> </tr> <tr style="background-color:#dfdfdf"><td>Solve captcha: *</td> <td> <img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD//gA+Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2ODApLCBkZWZhdWx0IHF1YWxpdHkK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0aHx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgAEgA8AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A9p1DWWsr/wCzCAMBB5zSFmwBkg8KrHt16VpxP5kKSZQ7lByjbl59D3HvVW/s7i7R44rsRRyRNG6NFuHPccgg9e5HtVm3hW2tooEJKxIEBPXAGK56ftVVlzfD02/r7wKv9r2X9pfYfOTzduc7ht3Zxs6/e9qvVR/siy/tL7d5KebtxjaNu7Od/T73vVuWJJ4XhkG5HUqwzjIPBqqXtbS9pbfT0Az7XWYrzVXs4Iy0axGQT54fDbTt9Rnv7GrV7d/YoRJ9nuJ8tt2wJuYe+PTiq9tpEVpqQuoZHCC38gRMzNjnPBJOB2xVi9sLbUIRDdR+YgbcBuI56dvqaygsR7KXNbm6dv6/EAsrv7bCZPs9xBhtu2dNrH3x6c1ZqtZWFtp8JhtY/LQtuI3E89O/0FWa6KfPyLn3/r0AKKKKsAooooAKKKKACiiigD//2Q==" > <input type="text" size="20" name="captcha" value=""> example: <img style="border:1px" src="/pics/solve.png"> </td> </tr> <tr><td colspan="2"><input type="checkbox" onClick="document.getElementById('sub').disabled=!this.checked;"> I have read, understood and accepted the <a href="/privacy">privacy policy</a>.</td></tr> <tr> <td> <input type="hidden" name="l" value="1"> <input type="submit" id="sub" disabled="true" value="Submit"> </td> </tr> </table> </form> </div> * = required fields <p style="color:#666666"> Only an user name and a password are required to use LCWO. We respect your privacy, and you may remain completely anonymous.<br> LCWO will never sell or pass-on your email address to any third-party. It's stored for the sole purpose of reactivating your account in case you lost the password. All data entered in this form is transmitted without encryption. Don't use valuable passwords. LCWO will never send you any unsolicited email.</p> </td> <td width="20"> </td> </tr> </table> <br><br><br> <div align="center" class="footer">lcwo.net - <strong>Learn Morse Code (CW) Online</strong> by <a class="sLink" href="http://fkurz.net/">Fabian Kurz, DJ5CW</a> (<a href="/impressum">Impressum</a>) - <a href="/privacy">Privacy Policy / Datenschutzinformationen</a></div> <script> // keep the session cookie alife as long as user is on the page, refresh every // 5 minutes function session_keepalive () { var request = new XMLHttpRequest(); request.open("GET", "//lcwo.net/api/index.php?action=keepalive", true); request.onreadystatechange = function() { var done = 4, ok = 200; if (request.readyState == done && request.status == ok) { var r = JSON.parse(request.responseText); if (r["result"] == false) { // no session if (document.getElementById("logoutlink")) { // but we think we're logged in! document.location.href = "//lcwo.net"; } } } } request.send(); } window.setInterval('session_keepalive()', 300000); </script> </body> </html>