diff --git a/www/i18n/locale-en.json b/www/i18n/locale-en.json
index 9fcf39a5f5484b36eb1a5499e403f957974ea82b..bb2c8dec1a982932b52dde41431eff6689e567ec 100644
--- a/www/i18n/locale-en.json
+++ b/www/i18n/locale-en.json
@@ -226,6 +226,7 @@
       "WALLET_ACCOUNT": "Simple wallet",
       "WALLET_ACCOUNT_HELP": "If you represent a company, association, etc. or simply need an additional wallet. No universal dividend will be created by this account.",
       "SALT_WARNING": "Choose a protection phrase.<br/>You need it for each connection on this account.<br/><br/><b>Make sure to remember this phrase</b>.<br/>If lost, there is no mean to retrieve it !",
+      "SHOW_VALUES": "Display filled values",
       "PASSWORD_WARNING": "Choose a password.<br/>You need it for each connection on this account.<br/><br/><b>Make sure to remember this phrase</b>.<br/>If lost, there is no mean to retrieve it !",
       "PSEUDO_WARNING": "Choose a pseudonym.<br/>It will be used by other people, to find you easily.<br/><br/>.Commas and accent characters are not allowed.<br/><div class='hidden-xs'><br/>Example : <span class='gray'>JohnDalton, JackieChan, etc.</span>",
       "PSEUDO": "Pseudonym",
diff --git a/www/i18n/locale-fr-FR.json b/www/i18n/locale-fr-FR.json
index f555393822563300569788007767c3a68f1b8559..533ca0b897299ccc2b44e32ead51028cfe9919e0 100644
--- a/www/i18n/locale-fr-FR.json
+++ b/www/i18n/locale-fr-FR.json
@@ -226,6 +226,7 @@
       "WALLET_ACCOUNT": "Simple portefeuille",
       "WALLET_ACCOUNT_HELP": "Pour tous les autres cas, par exemple si vous avez besoin d'un compte supplémentaire.<br/>Aucun dividende universel ne sera créé par ce compte.",
       "SALT_WARNING": "Choisissez votre phrase de protection.<br/>Elle vous sera demandée à chaque connexion sur ce compte.<br/><br/><b>Retenez bien cette phrase</b>.<br/>En cas de perte, aucun moyen n'est actuellement prévu pour la retrouver : plus personne ne pourra accéder à votre compte !",
+      "SHOW_VALUES": "Afficher les valeurs saisies",
       "PASSWORD_WARNING": "Choisissez un mot de passe.<br/>Il vous sera demandé à chaque connexion sur ce compte.<br/><br/><b>Retenez bien ce mot de passe</b>.<br/>En cas de perte, aucun moyen n'est actuellement prévu pour la retrouver : plus personne ne pourra accéder à votre compte !",
       "PSEUDO_WARNING": "Choisissez un pseudonyme.<br/>Il sert aux autres membres, pour vous retrouver plus facilement.<br/><br/>Il ne doit contenir <b>ni espace, ni de caractère accentué</b>.<div class='hidden-xs'><br/>Exemple : <span class='gray'>SophieDupond, MarcelChemin, etc.</span>",
       "PSEUDO": "Pseudonyme",
@@ -236,7 +237,7 @@
       "PASSWORD_CONFIRM_HELP": "Confirmation du mot de passe",
       "SLIDE_6_TITLE": "Confirmation :",
       "COMPUTING_PUBKEY": "Calcul en cours...",
-      "LAST_SLIDE_CONGRATULATION": "Vous avez saisi toutes les informations nécessaires.<br/><b>Vous pouvez envoyer la demande</b> de création de compte.</b><br/><br/>Pour information, la clé publique ci-dessous identifiera votre futur compte.<br/>Il peut être communiqué à des tiers pour recevoir leur paiement.",
+      "LAST_SLIDE_CONGRATULATION": "<b>Bravo !</b> Vous avez saisi toutes les informations nécessaires.<br/><b>Vous pouvez envoyer la demande</b> de création de compte.</b><br/><br/>Pour information, la clé publique ci-dessous identifiera votre futur compte.<br/>Elle pourra être communiquée à des tiers pour recevoir leur paiement.<br/>Cependant, <b>il n'est pas utile</b> de la noter ici.",
       "CONFIRMATION_MEMBER_ACCOUNT": "<b class=\"assertive\">Avertissement :</b> vos phrase de protection, mot de passe et pseudonyme ne pourront plus être modifiés.<br/><b>Assurez-vous de toujours vous en rappeller !</b><br/><br/><b>Etes-vous sûr</b> de vouloir envoyer cette demande d'inscription ?",
       "CONFIRMATION_WALLET_ACCOUNT": "<b class=\"assertive\">Avertissement :</b> vos phrase de protection et mot de passe ne pourront plus être modifiés.<br/><b>Assurez-vous de toujours vous en rappeller !</b><br/><br/><b>Etes-vous sûr</b> de vouloir envoyer cette demande d'inscription ?",
       "MSG_UID_ALREADY_USED": "Pseudonyme déjà utilisé par quelqu'un d'autre.<br/>Veuillez en choisir un autre.",
diff --git a/www/js/controllers/join-controllers.js b/www/js/controllers/join-controllers.js
index 2aae2783c8399f121fb5815b63bdacae05b1a3d5..30458ff2fb3a698cdf9004cb46e762e3c0f34c76 100644
--- a/www/js/controllers/join-controllers.js
+++ b/www/js/controllers/join-controllers.js
@@ -53,7 +53,9 @@ function JoinModalController($scope, $state, $timeout, UIUtils, CryptoUtils, Mod
   $scope.isLastSlide = false;
   $scope.search = {
     looking: true
-  };
+  }
+  $scope.showUsername = false;
+  $scope.showPassword = false;
 
   csCurrency.load()
   .then(function (data) {
diff --git a/www/templates/join/modal_join.html b/www/templates/join/modal_join.html
index 1fdddfa5e26d91f6fc9c5098f55a2136cf48c15a..f0a2d486b41f14700ede945c01cec04dea805ed8 100644
--- a/www/templates/join/modal_join.html
+++ b/www/templates/join/modal_join.html
@@ -108,7 +108,14 @@
               <div class="item item-input"
                    ng-class="{ 'item-input-error': saltForm.$submitted && saltForm.username.$invalid}">
                 <span class="input-label" translate>LOGIN.SALT</span>
-                <input name="username" type="password" placeholder="{{'LOGIN.SALT_HELP' | translate}}"
+                <input ng-if="!showUsername"
+                       name="username" type="password" placeholder="{{'LOGIN.SALT_HELP' | translate}}"
+                       ng-change="formDataChanged()"
+                       ng-model="formData.username"
+                       ng-minlength="8"
+                       required>
+                <input ng-if="showUsername"
+                       name="username" type="text" placeholder="{{'LOGIN.SALT_HELP' | translate}}"
                        ng-change="formDataChanged()"
                        ng-model="formData.username"
                        ng-minlength="8"
@@ -131,8 +138,14 @@
               <!-- confirm salt -->
               <div class="item item-input"
                    ng-class="{ 'item-input-error': saltForm.$submitted && saltForm.confirmSalt.$invalid}">
-                <span class="input-label" translate>ACCOUNT.NEW.SALT_CONFIRM</span>
-                <input name="confirmUsername" type="password"
+                <span class="input-label pull-right" translate>ACCOUNT.NEW.SALT_CONFIRM</span>
+                <input ng-if="!showUsername"
+                       name="confirmUsername" type="password"
+                       placeholder="{{'ACCOUNT.NEW.SALT_CONFIRM_HELP' | translate}}"
+                       ng-model="formData.confirmUsername"
+                       compare-to="formData.username">
+                <input ng-if="showUsername"
+                       name="confirmUsername" type="text"
                        placeholder="{{'ACCOUNT.NEW.SALT_CONFIRM_HELP' | translate}}"
                        ng-model="formData.confirmUsername"
                        compare-to="formData.username">
@@ -154,6 +167,17 @@
                 </div>
               </div>
 
+              <!-- Show values -->
+              <div class="item item-toggle dark">
+                <span translate>ACCOUNT.NEW.SHOW_VALUES</span>
+                <label class="toggle toggle-royal">
+                  <input type="checkbox" ng-model="showUsername">
+                  <div class="track">
+                    <div class="handle"></div>
+                  </div>
+                </label>
+              </div>
+
               <div class="padding hidden-xs text-right">
                 <button class="button button-clear button-dark ink" ng-click="closeModal()" type="button" translate>COMMON.BTN_CANCEL
                 </button>
@@ -184,7 +208,14 @@
               <div class="item item-input"
                    ng-class="{ 'item-input-error': passwordForm.$submitted && passwordForm.password.$invalid}">
                 <span class="input-label" translate>LOGIN.PASSWORD</span>
-                <input name="password" type="password" placeholder="{{'LOGIN.PASSWORD_HELP' | translate}}"
+                <input ng-if="!showPassword"
+                       name="password" type="password" placeholder="{{'LOGIN.PASSWORD_HELP' | translate}}"
+                       ng-model="formData.password"
+                       ng-change="formDataChanged()"
+                       ng-minlength="8"
+                       required>
+                <input ng-if="showPassword"
+                       name="text" type="text" placeholder="{{'LOGIN.PASSWORD_HELP' | translate}}"
                        ng-model="formData.password"
                        ng-change="formDataChanged()"
                        ng-minlength="8"
@@ -208,7 +239,13 @@
               <div class="item item-input"
                    ng-class="{ 'item-input-error': passwordForm.$submitted && passwordForm.confirmPassword.$invalid}">
                 <span class="input-label" translate>ACCOUNT.NEW.PASSWORD_CONFIRM</span>
-                <input name="confirmPassword" type="password"
+                <input ng-if="!showPassword"
+                       name="confirmPassword" type="password"
+                       placeholder="{{'ACCOUNT.NEW.PASSWORD_CONFIRM_HELP' | translate}}"
+                       ng-model="formData.confirmPassword"
+                       compare-to="formData.password">
+                <input ng-if="showPassword"
+                       name="confirmPassword" type="text"
                        placeholder="{{'ACCOUNT.NEW.PASSWORD_CONFIRM_HELP' | translate}}"
                        ng-model="formData.confirmPassword"
                        compare-to="formData.password">
@@ -230,7 +267,16 @@
                 </div>
               </div>
 
-
+              <!-- Show values -->
+              <div class="item item-toggle dark">
+                <span translate>ACCOUNT.NEW.SHOW_VALUES</span>
+                <label class="toggle toggle-royal">
+                  <input type="checkbox" ng-model="showPassword">
+                  <div class="track">
+                    <div class="handle"></div>
+                  </div>
+                </label>
+              </div>
             </div>
 
             <div class="padding hidden-xs text-right">
diff --git a/www/templates/modal_login.html b/www/templates/modal_login.html
index 29f7653902e1b12b5af1b1ebade0de81dd9b7541..7346da14535cc80c6ce750ab6d9ec589ac90d231 100644
--- a/www/templates/modal_login.html
+++ b/www/templates/modal_login.html
@@ -20,7 +20,7 @@
         <label class="item item-input"
                ng-class="{ 'item-input-error': form.$submitted && form.username.$invalid}">
           <span class="input-label hidden-xs" translate>LOGIN.SALT</span>
-          <input name="username" type="text" placeholder="{{'LOGIN.SALT_HELP' | translate}}"
+          <input name="username" type="password" placeholder="{{'LOGIN.SALT_HELP' | translate}}"
                  ng-model="formData.username"
                  class="highlight-light"
                  required>