diff --git a/index.html b/index.html
index 61aac55fdaa09f0303f0582e4acb61e502e1fb26..941c855dcc5477b4cd94a048614636fba58fcf51 100644
--- a/index.html
+++ b/index.html
@@ -18,33 +18,41 @@
       <div id="textareas_headers">
         <div>
           <select name="doc_type" id="doc_type"></select>
-          <input type="button" id="get_example" value="Get example" disabled>
+          <input type="button" id="get_example" value="Get document example" disabled>
         </div>
       </div>
       <div id="textareas">
         <textarea id="textarea_left" rows="25" cols="80"></textarea>
-        <input type="button" id="convert_button" value=">>>">
+        <div class="blank_separators"></div>
+        <div class="vl"></div>
+        <div class="blank_separators"></div>
         <textarea id="textarea_right" rows="25" cols="80"></textarea>
       </div>
       <div id="textareas_footers">
         <div>
           <b>
-            <p id="check_result">-</p>
+            <p id="check_result"></p>
           </b>
         </div>
         <div>
           <pre id="parse_err"></pre>
         </div>
+        <div>
+          <div class="w-50 ta-center">
+            <input type="button" id="verify_button" value="Verify document">
+          </div>
+          <div class="w-50"></div>
+        </div>
       </div>
     </div>
   </main>
   <footer>
     <a href="https://git.duniter.org/tools/dup-tools-front" id="sourceRibbon" title="Fork me !">
-        <span>AGPL-3.0</span>
-        <span>Logiciel Libre</span>
-        <span>Remonter aux sources</span>
+      <span>AGPL-3.0</span>
+      <span>Logiciel Libre</span>
+      <span>Remonter aux sources</span>
     </a>
-</footer>
+  </footer>
 
   <script src="./bootstrap.js"></script>
 </body>
diff --git a/index.js b/index.js
index faab44589ed388ba251709f56b0c7fc0619c0ce5..d2de4aa6c33c8bc7cef5da20591635026b273d94 100644
--- a/index.js
+++ b/index.js
@@ -22,7 +22,7 @@ const CHECK_RESULT_VALID_SIG = 3;
 const doc_type = document.getElementById('doc_type');
 const get_example = document.getElementById('get_example');
 const textarea_left = document.getElementById('textarea_left');
-const convert_button = document.getElementById('convert_button');
+const verify_button = document.getElementById('verify_button');
 const textarea_right = document.getElementById('textarea_right');
 const check_result = document.getElementById('check_result');
 const parse_err = document.getElementById('parse_err');
@@ -37,7 +37,7 @@ for (let i = 1; i <= DOCUMENTS_TYPES_COUNT; i++) {
 }
 
 // Create listeners
-convert_button.addEventListener("click", check_input);
+verify_button.addEventListener("click", check_input);
 doc_type.addEventListener("change", () => {
     if (doc_type.value != ANY_DOC_TYPE) {
         get_example.disabled = false;
@@ -69,43 +69,46 @@ function create_doc_type_options() {
 // Check user input
 function check_input() {
     const input = textarea_left.value;
-    const result = wasm.parse_doc_and_verify(input, doc_type.value);
-    let output = wasm.parse_doc_into_json(input, doc_type.value);
+    if (input.length > 0) {
+        const result = wasm.parse_doc_and_verify(input, doc_type.value);
+        let output = wasm.parse_doc_into_json(input, doc_type.value);
 
-    // Log for debug
-    console.log("input="+input);
-    console.log("result="+result);
-    console.log("output="+output);
+        // Log for debug
+        console.log("input="+input);
+        console.log("result="+result);
+        console.log("output="+output);
 
-    // Clear all texts
-    textarea_right.value = "";
-    check_result.innerText = "";
-    parse_err.innerText = "";
+        // Clear all texts
+        textarea_right.value = "";
+        check_result.innerText = "";
+        parse_err.innerText = "";
 
-    switch (result) {
-        case CHECK_RESULT_UNKNOWN_DOC_TYPE:
-            check_result.style.color = 'red';
-            check_result.innerText = "Invalid document. Specify expected document type for more informations.";
-            break;
-        case CHECK_RESULT_WRONG_FORMAT:
-            check_result.style.color = 'red';
-            check_result.innerText = "Wrong format.";
-            breakText(output, parse_err);
-            break;
-        case CHECK_RESULT_INVALID_SIG:
-        check_result.style.color = 'orange';
-            prettyPrintJsonInTextarea(output, textarea_right);
-            check_result.innerText = "Correct format but invalid signature !";
-            break;
-        case CHECK_RESULT_VALID_SIG:
-        check_result.style.color = 'green';
-            prettyPrintJsonInTextarea(output, textarea_right);
-            check_result.innerText = "Valid Document.";
-            break;
+        switch (result) {
+            case CHECK_RESULT_UNKNOWN_DOC_TYPE:
+                check_result.style.color = 'red';
+                check_result.innerText = "Format : Invalid \u2716";
+                parse_err.innerText = "Specify expected document type for more informations !"
+                break;
+            case CHECK_RESULT_WRONG_FORMAT:
+                check_result.style.color = 'red';
+                check_result.innerText = "Format : Invalid \u2716";
+                breakText(output, parse_err);
+                break;
+            case CHECK_RESULT_INVALID_SIG:
+            check_result.style.color = 'orange';
+                prettyPrintJson(output, textarea_right);
+                check_result.innerHTML = "Format: Valid \u2714<br>Signature: Invalid \u2716";
+                break;
+            case CHECK_RESULT_VALID_SIG:
+            check_result.style.color = 'green';
+                prettyPrintJson(output, textarea_right);
+                check_result.innerHTML = "Format: Valid \u2714<br>Signature: Valid \u2714";
+                break;
+        }
     }
 }
 
-function prettyPrintJsonInTextarea(str, elem) {
+function prettyPrintJson(str, elem) {
     let obj = JSON.parse(str);
     let pretty = JSON.stringify(obj, undefined, 4);
     elem.value = pretty;
diff --git a/main.css b/main.css
index 1d45fa813dee7b02940cf9f07612f235100bf301..e88c5460c04f5d6d26156ff1a5b6c744984f77cd 100644
--- a/main.css
+++ b/main.css
@@ -1,3 +1,19 @@
+/* Generic class */
+
+.ta-center {
+    text-align: center;
+}
+
+.w-50 {
+    width: 50%;
+}
+
+.vl {
+    border-left:1px solid #ccc;
+}
+
+/* Css */
+
 header {
     text-align: center;
 }
@@ -10,7 +26,7 @@ main {
 }
 
 #documents_validator {
-    width: 80%;
+    width: 90%;
 }
 
 #textareas {
@@ -19,6 +35,10 @@ main {
     justify-content: center;
 }
 
+.blank_separators {
+    width: 20px;
+}
+
 #textareas_headers #textareas_footers {
     display: flex;
     flex-direction: column;
@@ -35,10 +55,22 @@ main {
 textarea {
     width: 100%;
     white-space: pre-line;
+    resize : none;
 }
 
-#convert_button {
+#verify_button {
+    font-size: 1.2em;
+    border: 1px solid green;
+    border-radius: 50px;
+    color: green;
+    background-color: rgb(255, 255, 255);
     margin: 10px;
+    box-shadow: 0px 0px 15px black;
+}
+
+#verify_button:disabled {
+    border: 1px solid grey;
+    color: grey;
 }
 
 #parse_err {