diff --git a/lib/base64/base64.js b/lib/base64/base64.js
deleted file mode 100644
index b92e898937c89922efe8b31e7af9f3c11a21c0d0..0000000000000000000000000000000000000000
--- a/lib/base64/base64.js
+++ /dev/null
@@ -1,142 +0,0 @@
-/**
- *
- *  Base64 encode / decode
- *  http://www.webtoolkit.info/
- *
- **/
-
-var Base64 = {
-
-    // private property
-    _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
-
-    // public method for encoding
-    encode : function (input) {
-        var output = "";
-        var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
-        var i = 0;
-
-        input = Base64._utf8_encode(input);
-
-        while (i < input.length) {
-
-            chr1 = input.charCodeAt(i++);
-            chr2 = input.charCodeAt(i++);
-            chr3 = input.charCodeAt(i++);
-
-            enc1 = chr1 >> 2;
-            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
-            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
-            enc4 = chr3 & 63;
-
-            if (isNaN(chr2)) {
-                enc3 = enc4 = 64;
-            } else if (isNaN(chr3)) {
-                enc4 = 64;
-            }
-
-            output = output +
-                this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
-                this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
-
-        }
-
-        return output;
-    },
-
-    // public method for decoding
-    decode : function (input) {
-        var output = "";
-        var chr1, chr2, chr3;
-        var enc1, enc2, enc3, enc4;
-        var i = 0;
-
-        input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
-
-        while (i < input.length) {
-
-            enc1 = this._keyStr.indexOf(input.charAt(i++));
-            enc2 = this._keyStr.indexOf(input.charAt(i++));
-            enc3 = this._keyStr.indexOf(input.charAt(i++));
-            enc4 = this._keyStr.indexOf(input.charAt(i++));
-
-            chr1 = (enc1 << 2) | (enc2 >> 4);
-            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
-            chr3 = ((enc3 & 3) << 6) | enc4;
-
-            output = output + String.fromCharCode(chr1);
-
-            if (enc3 != 64) {
-                output = output + String.fromCharCode(chr2);
-            }
-            if (enc4 != 64) {
-                output = output + String.fromCharCode(chr3);
-            }
-
-        }
-
-        output = Base64._utf8_decode(output);
-
-        return output;
-
-    },
-
-    // private method for UTF-8 encoding
-    _utf8_encode : function (string) {
-        string = string.replace(/\r\n/g,"\n");
-        var utftext = "";
-
-        for (var n = 0; n < string.length; n++) {
-
-            var c = string.charCodeAt(n);
-
-            if (c < 128) {
-                utftext += String.fromCharCode(c);
-            }
-            else if((c > 127) && (c < 2048)) {
-                utftext += String.fromCharCode((c >> 6) | 192);
-                utftext += String.fromCharCode((c & 63) | 128);
-            }
-            else {
-                utftext += String.fromCharCode((c >> 12) | 224);
-                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
-                utftext += String.fromCharCode((c & 63) | 128);
-            }
-
-        }
-
-        return utftext;
-    },
-
-    // private method for UTF-8 decoding
-    _utf8_decode : function (utftext) {
-        var string = "";
-        var i = 0;
-        var c = c1 = c2 = 0;
-
-        while ( i < utftext.length ) {
-
-            c = utftext.charCodeAt(i);
-
-            if (c < 128) {
-                string += String.fromCharCode(c);
-                i++;
-            }
-            else if((c > 191) && (c < 224)) {
-                c2 = utftext.charCodeAt(i+1);
-                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
-                i += 2;
-            }
-            else {
-                c2 = utftext.charCodeAt(i+1);
-                c3 = utftext.charCodeAt(i+2);
-                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
-                i += 3;
-            }
-
-        }
-
-        return string;
-    }
-
-}
diff --git a/src/jio.storage/davstorage.js b/src/jio.storage/davstorage.js
index 90f2d096c8d5606836f6314deb1757949002897b..c4a33636ab950f432d84a07c7fcf53352f0abd01 100644
--- a/src/jio.storage/davstorage.js
+++ b/src/jio.storage/davstorage.js
@@ -1,5 +1,5 @@
 /*jslint indent: 2, maxlen: 80, sloppy: true, nomen: true */
-/*global jIO: true, $: true, Base64: true  */
+/*global jIO: true, $: true, btoa: true  */
 // test here: http://enable-cors.org/
 //http://metajack.im/2010/01/19/crossdomain-ajax-for-xmpp-http-binding-made-easy
 jIO.addStorageType('dav', function (spec, my) {
@@ -177,7 +177,7 @@ jIO.addStorageType('dav', function (spec, my) {
       dataType: 'text',
       crossdomain : true,
       headers : {
-        Authorization: 'Basic ' + Base64.encode(
+        Authorization: 'Basic ' + btoa(
           priv.username + ':' + priv.password
         )
       },
@@ -202,7 +202,7 @@ jIO.addStorageType('dav', function (spec, my) {
           async: true,
           crossdomain: true,
           headers : {
-            Authorization: 'Basic ' + Base64.encode(
+            Authorization: 'Basic ' + btoa(
               priv.username + ':' + priv.password
             )
           },
@@ -234,11 +234,11 @@ jIO.addStorageType('dav', function (spec, my) {
             async: true,
             crossdomain: true,
             headers : {
-              Authorization: 'Basic ' + Base64.encode(
+              Authorization: 'Basic ' + btoa(
                 priv.username + ':' + priv.password
               )
             },
-            // xhrFields: {withCredentials: 'true'}, 
+            // xhrFields: {withCredentials: 'true'},
             success: function () {
               that.success({
                 ok: true,
@@ -335,7 +335,7 @@ jIO.addStorageType('dav', function (spec, my) {
       dataType: 'text',
       crossdomain : true,
       headers : {
-        Authorization: 'Basic ' + Base64.encode(
+        Authorization: 'Basic ' + btoa(
           priv.username + ':' + priv.password
         )
       },
@@ -357,7 +357,7 @@ jIO.addStorageType('dav', function (spec, my) {
           async: true,
           crossdomain: true,
           headers : {
-            Authorization: 'Basic ' + Base64.encode(
+            Authorization: 'Basic ' + btoa(
               priv.username + ':' + priv.password
             )
           },
@@ -373,7 +373,7 @@ jIO.addStorageType('dav', function (spec, my) {
               async: true,
               crossdomain: true,
               headers : {
-                Authorization: 'Basic ' + Base64.encode(
+                Authorization: 'Basic ' + btoa(
                   priv.username + ':' + priv.password
                 )
               },
@@ -474,7 +474,7 @@ jIO.addStorageType('dav', function (spec, my) {
         dataType: 'text',
         crossdomain : true,
         headers : {
-          Authorization: 'Basic ' + Base64.encode(
+          Authorization: 'Basic ' + btoa(
             priv.username + ':' + priv.password
           )
         },
@@ -502,7 +502,7 @@ jIO.addStorageType('dav', function (spec, my) {
         dataType: 'text',
         crossdomain : true,
         headers : {
-          Authorization: 'Basic ' + Base64.encode(
+          Authorization: 'Basic ' + btoa(
             priv.username + ':' + priv.password
           )
         },
@@ -573,7 +573,7 @@ jIO.addStorageType('dav', function (spec, my) {
         async: true,
         crossdomain : true,
         headers : {
-          Authorization: 'Basic ' + Base64.encode(
+          Authorization: 'Basic ' + btoa(
             priv.username + ':' + priv.password
           )
         },
@@ -586,7 +586,7 @@ jIO.addStorageType('dav', function (spec, my) {
             dataType: 'text',
             crossdomain : true,
             headers : {
-              Authorization: 'Basic ' + Base64.encode(
+              Authorization: 'Basic ' + btoa(
                 priv.username + ':' + priv.password
               )
             },
@@ -610,7 +610,7 @@ jIO.addStorageType('dav', function (spec, my) {
                     async: true,
                     crossdomain: true,
                     headers : {
-                      Authorization: 'Basic ' + Base64.encode(
+                      Authorization: 'Basic ' + btoa(
                         priv.username + ':' + priv.password
                       )
                     },
@@ -682,7 +682,7 @@ jIO.addStorageType('dav', function (spec, my) {
         dataType: 'text',
         crossdomain : true,
         headers : {
-          Authorization: 'Basic ' + Base64.encode(
+          Authorization: 'Basic ' + btoa(
             priv.username + ':' + priv.password
           )
         },
@@ -705,7 +705,7 @@ jIO.addStorageType('dav', function (spec, my) {
             async: true,
             crossdomain : true,
             headers : {
-              Authorization: 'Basic ' + Base64.encode(
+              Authorization: 'Basic ' + btoa(
                 priv.username + ':' + priv.password
               )
             },
@@ -725,7 +725,7 @@ jIO.addStorageType('dav', function (spec, my) {
                     async: true,
                     crossdomain : true,
                     headers : {
-                      Authorization: 'Basic ' + Base64.encode(
+                      Authorization: 'Basic ' + btoa(
                         priv.username + ':' + priv.password
                       )
                     },
@@ -816,7 +816,7 @@ jIO.addStorageType('dav', function (spec, my) {
         async: true,
         dataType: 'text',
         headers: {
-          'Authorization': 'Basic ' + Base64.encode(
+          'Authorization': 'Basic ' + btoa(
             priv.username + ':' + priv.password
           )
         },
@@ -847,7 +847,7 @@ jIO.addStorageType('dav', function (spec, my) {
         dataType: "xml",
         crossdomain : true,
         headers : {
-          Authorization: 'Basic ' + Base64.encode(
+          Authorization: 'Basic ' + btoa(
             priv.username + ':' + priv.password
           ),
           Depth: '1'
diff --git a/src/jio.storage/xwikistorage.js b/src/jio.storage/xwikistorage.js
index 20452a7f24a71bf469a9703478eda96d5bbc52a1..cf74821873acf7cf589ba529a1c10825195f1dd0 100644
--- a/src/jio.storage/xwikistorage.js
+++ b/src/jio.storage/xwikistorage.js
@@ -1,5 +1,5 @@
 /*jslint indent: 2, maxlen: 80, sloppy: true, nomen: true */
-/*global toSend: true, jIO: true, jQuery: true, Base64: true */
+/*global toSend: true, jIO: true, jQuery: true, btoa: true */
 
   /**
    * JIO XWiki based storage. Type = 'xwiki'.
@@ -10,7 +10,7 @@
 .1:8080/xwiki","space":"OfficeJS"}
    */
 
-(function ($, Base64) {
+(function ($) {
 
   var newXWikiStorage = function (spec, my) {
     var that, priv, escapeDocId, restoreDocId,
@@ -57,7 +57,7 @@
         async: true,
         dataType: 'text',
         headers: {
-          'Authorization': 'Basic ' + Base64.encode(priv.username + ':' +
+          'Authorization': 'Basic ' + btoa(priv.username + ':' +
             priv.password)
         },
         success: function (html) {
@@ -82,7 +82,7 @@
         async: true,
         dataType: 'xml',
         headers: {
-          'Authorization': 'Basic ' + Base64.encode(priv.username + ':' +
+          'Authorization': 'Basic ' + btoa(priv.username + ':' +
             priv.password)
         },
         success: function (xmlData) {
@@ -141,7 +141,7 @@
           async: true,
           dataType: 'text',
           headers: {
-            'Authorization': 'Basic ' + Base64.encode(priv.username + ':' +
+            'Authorization': 'Basic ' + btoa(priv.username + ':' +
               priv.password)
           },
           data: {
@@ -202,7 +202,7 @@
           async: true,
           dataType: 'text',
           headers: {
-            'Authorization': 'Basic ' + Base64.encode(priv.username + ':' +
+            'Authorization': 'Basic ' + btoa(priv.username + ':' +
               priv.password)
           },
           success: function (html) {
@@ -230,7 +230,7 @@
         async: true,
         dataType: 'xml',
         headers: {
-          'Authorization': 'Basic ' + Base64.encode(priv.username + ':' +
+          'Authorization': 'Basic ' + btoa(priv.username + ':' +
             priv.password)
         },
         success: function (xmlData) {
@@ -319,7 +319,7 @@
           async: true,
           dataType: 'text',
           headers: {
-            'Authorization': 'Basic ' + Base64.encode(priv.username + ':' +
+            'Authorization': 'Basic ' + btoa(priv.username + ':' +
               priv.password)
           },
           data: {
@@ -338,4 +338,4 @@
     return that;
   };
   jIO.addStorageType('xwiki', newXWikiStorage);
-}(jQuery, Base64));
+}(jQuery));
diff --git a/test/jiotests.js b/test/jiotests.js
index cd595d0e826c5f17711ed533d5635a50349e1cdf..d94c1f6fe8f19613ac8aef1afe8a162156e34fa3 100644
--- a/test/jiotests.js
+++ b/test/jiotests.js
@@ -3734,8 +3734,6 @@ if (window.requirejs) {
             jQueryAPI: '../lib/jquery/jquery',
             jQuery: '../js/jquery.requirejs_module',
             JIO: '../src/jio',
-            Base64API: '../lib/base64/base64',
-            Base64: '../js/base64.requirejs_module',
             JIODummyStorages: '../src/jio.dummystorages',
             JIOStorages: '../src/jio.storage',
             SJCLAPI:'../lib/sjcl/sjcl.min',
diff --git a/test/jiotests_withoutrequirejs.html b/test/jiotests_withoutrequirejs.html
index fb094813f56df1bbb3a374f91fb035f1c3714ced..033eb00388679a760542780f2d15a91f35f6bbfb 100644
--- a/test/jiotests_withoutrequirejs.html
+++ b/test/jiotests_withoutrequirejs.html
@@ -30,7 +30,6 @@
 
   <!-- webDav -->
   <script type="text/javascript" src="../lib/jquery/jquery.min.js"></script>
-  <script type="text/javascript" src="../lib/base64/base64.js"></script>
   <script type="text/javascript" src="../src/jio.storage/davstorage.js">
 
   </script>