It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: https://www.base64encode.ai/

  1. <!DOCTYPE html><!-- This site was created in Webflow. https://webflow.com --><!-- Last Published: Wed May 21 2025 23:41:04 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="www.base64encode.ai" data-wf-page="67dcf530af83d436f18fd1f2" data-wf-site="67dcf530af83d436f18fd1f3"><head><meta charset="utf-8"/><title>Base64 Decode and Encode | Online in 2025</title><meta content="Decode from Base64 format or encode into it with various advanced options. Our site has an easy to use online tool to convert your data." name="description"/><meta content="Base64 Decode and Encode | Online in 2025" property="og:title"/><meta content="Decode from Base64 format or encode into it with various advanced options. Our site has an easy to use online tool to convert your data." property="og:description"/><meta content="https://cdn.prod.website-files.com/67a51839b70f3f90fda41893/67a6dbb730353ae4dbc23f12_Base64%20Decode.png" property="og:image"/><meta content="Base64 Decode and Encode | Online in 2025" property="twitter:title"/><meta content="Decode from Base64 format or encode into it with various advanced options. Our site has an easy to use online tool to convert your data." property="twitter:description"/><meta content="https://cdn.prod.website-files.com/67a51839b70f3f90fda41893/67a6dbb730353ae4dbc23f12_Base64%20Decode.png" property="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="Webflow" name="generator"/><link href="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/css/base64encode-londonlabs.webflow.shared.1f26e680f.css" rel="stylesheet" type="text/css"/><link href="https://fonts.googleapis.com" rel="preconnect"/><link href="https://fonts.gstatic.com" rel="preconnect" crossorigin="anonymous"/><script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js" type="text/javascript"></script><script type="text/javascript">WebFont.load({  google: {    families: ["Montserrat:100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic","IBM Plex Mono:100,100italic,200,200italic,300,300italic,regular,italic,500,500italic,600,600italic,700,700italic"]  }});</script><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/680a75187ee71723b11783ba_favicon.png" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/680a751ab3d2265c7c239909_webclip.png" rel="apple-touch-icon"/><link href="https://www.base64decode.ai/" rel="canonical"/><script async="" src="https://www.googletagmanager.com/gtag/js?id=G-TKRBNKZ48B"></script><script type="text/javascript">window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('set', 'developer_id.dZGVlNj', true);gtag('config', 'G-TKRBNKZ48B');</script><script src="https://code.jquery.com/jquery-3.7.1.min.js" integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo=" crossorigin="anonymous"></script>  
  2. <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/encoding-japanese/2.0.0/encoding.min.js"></script>
  3. <script src="https://cdn.jsdelivr.net/npm/encoding-japanese@2.0.0/encoding.min.js"></script>
  4. -->
  5.  
  6.  
  7. <link rel="alternate" hreflang="x-default" href="https://base64encode.ai/" />
  8. <link rel="alternate" hreflang="en" href="https://base64encode.ai/" />
  9. <link rel="alternate" hreflang="es" href="https://base64encode.ai/es" />
  10. <link rel="alternate" hreflang="pt" href="https://base64encode.ai/pt" />
  11. <link rel="alternate" hreflang="fr" href="https://base64encode.ai/fr" />
  12. <link rel="alternate" hreflang="de" href="https://base64encode.ai/de" />
  13. <link rel="alternate" hreflang="zh" href="https://base64encode.ai/zh" />
  14. <link rel="alternate" hreflang="hi" href="https://base64encode.ai/hi" />
  15. <link rel="alternate" hreflang="ru" href="https://base64encode.ai/ru" />
  16. <link rel="alternate" hreflang="ko" href="https://base64encode.ai/ko" /></head><body class="body"><div data-animation="over-left" data-collapse="medium" data-duration="400" data-easing="ease" data-easing2="ease" data-doc-height="1" role="banner" class="nav_bar w-nav"><div class="padding-global nav-bg"><div class="nav_container"><div class="navbar-inner-logo"></div><div class="nav_toggle_div"><div class="toggle-text active">Encode</div><a href="https://www.base64decode.ai" class="toggle-link w-inline-block"><div class="toggle-text">Decode</div></a></div><div data-ms-content="!members" class="nav_link-wrapper-right"><div data-hover="false" data-delay="0" data-w-id="3163bd10-174c-471a-c995-da4f40b9c0cd" class="w-dropdown"><div class="dropdown-toggle-5 w-dropdown-toggle"><div class="icon-2 w-icon-dropdown-toggle"></div><div><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd228_Base64%20Decode%20America.webp" loading="lazy" alt="Base64 Decode" class="language-icon"/><div class="language-text">EN</div></div></div><nav class="dropdown-list-4 w-dropdown-list"><a href="/" aria-current="page" class="languages-dropdown w-inline-block w--current"><div class="language-dropdown-div"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd228_Base64%20Decode%20America.webp" loading="lazy" alt="Base64 Decode" class="language-icon"/><div class="language-text">EN</div></div></a><a href="/es" class="languages-dropdown w-inline-block"><div class="language-dropdown-div"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd255_Base64%20Decode%20Spanish%20Flag.webp" loading="lazy" alt="Base64 Decode" class="language-icon"/><div class="language-text">ES</div></div></a><a href="/pt" class="languages-dropdown w-inline-block"><div class="language-dropdown-div"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd25f_Base64%20Decode%20Portuguese%20Flag.webp" loading="lazy" alt="Base64 Decode" class="language-icon"/><div class="language-text">PT</div></div></a><a href="/fr" class="languages-dropdown w-inline-block"><div class="language-dropdown-div"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd25e_Base64%20Decode%20French%20Flag.webp" loading="lazy" alt="Base64 Decode" class="language-icon"/><div class="language-text">FR</div></div></a><a href="/de" class="languages-dropdown w-inline-block"><div class="language-dropdown-div"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd261_Base64%20Decode%20Dutch%20Flag.webp" loading="lazy" alt="Base64 Decode" class="language-icon"/><div class="language-text">DE</div></div></a><a href="/zh" class="languages-dropdown w-inline-block"><div class="language-dropdown-div"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd260_Base64%20Decode%20Chinese%20Flag.webp" loading="lazy" alt="Base64 Decode" class="language-icon"/><div class="language-text">ZH</div></div></a><a href="/hi" class="languages-dropdown w-inline-block"><div class="language-dropdown-div"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd254_Base64%20Decode%20Hindi%20Flag.webp" loading="lazy" alt="Base64 Decode" class="language-icon"/><div class="language-text">HI</div></div></a><a href="/ru" class="languages-dropdown w-inline-block"><div class="language-dropdown-div"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd253_Base64%20Decode%20Russian%20Flag.webp" loading="lazy" alt="Base64 Decode" class="language-icon"/><div class="language-text">RU</div></div></a><a href="/ko" class="languages-dropdown w-inline-block"><div class="language-dropdown-div"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd25d_Base64%20Decode%20Korean%20Flag.webp" loading="lazy" alt="Base64 Decode" class="language-icon"/><div class="language-text">KO</div></div></a></nav></div></div></div></div><div class="padding-global padding-nav"><div class="nav_container"><div class="navbar-inner-logo"><a href="/" aria-current="page" class="nav_brand w-nav-brand w--current"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd26b_508165b0976ff74de09b677988543b55_Base64%20Decode%20Icon.png" loading="lazy" alt="Base64 Decode"/><div class="logo-text">Base64 <br/>Decode</div></a></div></div></div></div><section class="section_hero"><div class="padding-global z-index-1 hero-section"><div class="container-large z-index-1 container-hero"><h1 class="main-h1"><span class="h1-text-teal">Encode</span> from <br/>Base64 Format
</h1><div class="hero-input-div"><div class="text-area-form w-form"><form id="wf-form-Text-Input-Form" name="wf-form-Text-Input-Form" data-name="Text Input Form" method="get" data-wf-page-id="67dcf530af83d436f18fd1f2" data-wf-element-id="da7be765-3a47-8f86-858e-b66df5071976"><div data-current="Tab 1" data-easing="ease" data-duration-in="300" data-duration-out="100" class="tabs w-tabs"><div class="tabs-menu-2 w-tab-menu"><a data-w-tab="Tab 1" id="text-area-tab" class="encode-tab-link w-inline-block w-tab-link w--current"><div>Text</div></a><a data-w-tab="Tab 2" id="file-input-tab" class="encode-tab-link w-inline-block w-tab-link"><div>File</div></a></div><div class="w-tab-content"><div data-w-tab="Tab 1" class="w-tab-pane w--tab-active"><div class="main-decode-tab1"><div>Paste your text within the field below</div><div class="decode-bottom-left-div"><div class="characterset-div"><div class="format-select-div"><div class="text-block-26">Character Set</div><div class="div-block-124"><div class="w-embed"><select class="w-select select-field char-select">
  17. <option value="auto-detect" class="text-option">Auto Detect</option>
  18.    <option value="bin" class="file-option" style="display:none;">No. Conversion (Binary)</option>
  19.    <optgroup label="Populars">
  20.        <option value="UTF-8" selected class="utf8-option">UTF-8</option>
  21.        <option value="ASCII">ASCII</option>
  22.        <option value="ISO-8859-1">ISO-8859-1</option>
  23.        <option value="ISO-8859-2">ISO-8859-2</option>
  24.        <option value="ISO-8859-6">ISO-8859-6</option>
  25.        <option value="ISO-8859-15">ISO-8859-15</option>
  26.        <option value="Windows-1252">Windows-1252</option>
  27.    </optgroup>
  28.    <optgroup label="Others">
  29.        <option value="ArmSCII-8">ArmSCII-8</option>
  30.        <option value="BIG-5">BIG-5</option>
  31.        <option value="CP850">CP850</option>
  32.        <option value="CP866">CP866</option>
  33.        <option value="CP932">CP932</option>
  34.        <option value="CP936">CP936</option>
  35.        <option value="CP950">CP950</option>
  36.        <option value="CP50220">CP50220</option>
  37.        <option value="CP50221">CP50221</option>
  38.        <option value="CP50222">CP50222</option>
  39.        <option value="CP51932">CP51932</option>
  40.        <option value="EUC-CN">EUC-CN</option>
  41.        <option value="EUC-JP">EUC-JP</option>
  42.        <option value="EUC-KR">EUC-KR</option>
  43.        <option value="EUC-TW">EUC-TW</option>
  44.        <option value="GB18030">GB18030</option>
  45.        <option value="HZ">HZ</option>
  46.        <option value="ISO-2022-JP">ISO-2022-JP</option>
  47.        <option value="ISO-2022-KR">ISO-2022-KR</option>
  48.        <option value="ISO-8859-3">ISO-8859-3</option>
  49.        <option value="ISO-8859-4">ISO-8859-4</option>
  50.        <option value="ISO-8859-5">ISO-8859-5</option>
  51.        <option value="ISO-8859-7">ISO-8859-7</option>
  52.        <option value="ISO-8859-8">ISO-8859-8</option>
  53.        <option value="ISO-8859-9">ISO-8859-9</option>
  54.        <option value="ISO-8859-10">ISO-8859-10</option>
  55.        <option value="ISO-8859-13">ISO-8859-13</option>
  56.        <option value="ISO-8859-14">ISO-8859-14</option>
  57.        <option value="ISO-8859-16">ISO-8859-16</option>
  58.        <option value="JIS">JIS</option>
  59.        <option value="KOI8-R">KOI8-R</option>
  60.        <option value="KOI8-U">KOI8-U</option>
  61.        <option value="SJIS">SJIS</option>
  62.        <option value="UCS-2">UCS-2</option>
  63.        <option value="UCS-2BE">UCS-2BE</option>
  64.        <option value="UCS-2LE">UCS-2LE</option>
  65.        <option value="UCS-4">UCS-4</option>
  66.        <option value="UCS-4BE">UCS-4BE</option>
  67.        <option value="UCS-4LE">UCS-4LE</option>
  68.        <option value="UHC">UHC</option>
  69.        <option value="UTF-7">UTF-7</option>
  70.        <option value="UTF-16">UTF-16</option>
  71.        <option value="UTF-16BE">UTF-16BE</option>
  72.        <option value="UTF-16LE">UTF-16LE</option>
  73.        <option value="UTF-32">UTF-32</option>
  74.        <option value="UTF-32BE">UTF-32BE</option>
  75.        <option value="UTF-32LE">UTF-32LE</option>
  76.        <option value="UTF7-IMAP">UTF7-IMAP</option>
  77.        <option value="Windows-1251">Windows-1251</option>
  78.        <option value="Windows-1254">Windows-1254</option>
  79.    </optgroup>
  80. </select></div><div class="checkbox-div"><label class="w-checkbox checkbox-field"><div class="w-checkbox-input w-checkbox-input--inputType-custom urlsafe-toggle"></div><input type="checkbox" name="Multiline-Toggle" id="urlsafe-toggle" data-name="Multiline Toggle" style="opacity:0;position:absolute;z-index:-1"/><span class="checkbox-label w-form-label" for="Multiline-Toggle">Perform URL Safe Encoding</span></label><label class="w-checkbox checkbox-field"><div class="w-checkbox-input w-checkbox-input--inputType-custom multiline-toggle"></div><input type="checkbox" name="multiline-toggle-3" id="multiline-toggle" data-name="Multiline Toggle 3" style="opacity:0;position:absolute;z-index:-1"/><span class="checkbox-label w-form-label" for="multiline-toggle-3">Encode Each Line Separately </span></label></div></div></div></div></div><textarea id="text-field" name="Text-Field" maxlength="5000" data-name="Text Field" placeholder="Paste Here" class="decode-input-area w-input"></textarea></div></div><div data-w-tab="Tab 2" class="w-tab-pane"><div class="main-decode-tab1"><div>Drag and Drop the file or click + to upload</div><div class="decode-bottom-left-div"><div class="characterset-div"><div class="format-select-div"><div class="text-block-26">Character Set</div><div class="div-block-124"><div class="w-embed"><select class="w-select select-field char-select">
  81. <option value="auto-detect" class="text-option">Auto Detect</option>
  82.    <option value="bin" class="file-option" style="display:none;">No. Conversion (Binary)</option>
  83.    <optgroup label="Populars">
  84.        <option value="UTF-8" selected class="utf8-option">UTF-8</option>
  85.        <option value="ASCII">ASCII</option>
  86.        <option value="ISO-8859-1">ISO-8859-1</option>
  87.        <option value="ISO-8859-2">ISO-8859-2</option>
  88.        <option value="ISO-8859-6">ISO-8859-6</option>
  89.        <option value="ISO-8859-15">ISO-8859-15</option>
  90.        <option value="Windows-1252">Windows-1252</option>
  91.    </optgroup>
  92.    <optgroup label="Others">
  93.        <option value="ArmSCII-8">ArmSCII-8</option>
  94.        <option value="BIG-5">BIG-5</option>
  95.        <option value="CP850">CP850</option>
  96.        <option value="CP866">CP866</option>
  97.        <option value="CP932">CP932</option>
  98.        <option value="CP936">CP936</option>
  99.        <option value="CP950">CP950</option>
  100.        <option value="CP50220">CP50220</option>
  101.        <option value="CP50221">CP50221</option>
  102.        <option value="CP50222">CP50222</option>
  103.        <option value="CP51932">CP51932</option>
  104.        <option value="EUC-CN">EUC-CN</option>
  105.        <option value="EUC-JP">EUC-JP</option>
  106.        <option value="EUC-KR">EUC-KR</option>
  107.        <option value="EUC-TW">EUC-TW</option>
  108.        <option value="GB18030">GB18030</option>
  109.        <option value="HZ">HZ</option>
  110.        <option value="ISO-2022-JP">ISO-2022-JP</option>
  111.        <option value="ISO-2022-KR">ISO-2022-KR</option>
  112.        <option value="ISO-8859-3">ISO-8859-3</option>
  113.        <option value="ISO-8859-4">ISO-8859-4</option>
  114.        <option value="ISO-8859-5">ISO-8859-5</option>
  115.        <option value="ISO-8859-7">ISO-8859-7</option>
  116.        <option value="ISO-8859-8">ISO-8859-8</option>
  117.        <option value="ISO-8859-9">ISO-8859-9</option>
  118.        <option value="ISO-8859-10">ISO-8859-10</option>
  119.        <option value="ISO-8859-13">ISO-8859-13</option>
  120.        <option value="ISO-8859-14">ISO-8859-14</option>
  121.        <option value="ISO-8859-16">ISO-8859-16</option>
  122.        <option value="JIS">JIS</option>
  123.        <option value="KOI8-R">KOI8-R</option>
  124.        <option value="KOI8-U">KOI8-U</option>
  125.        <option value="SJIS">SJIS</option>
  126.        <option value="UCS-2">UCS-2</option>
  127.        <option value="UCS-2BE">UCS-2BE</option>
  128.        <option value="UCS-2LE">UCS-2LE</option>
  129.        <option value="UCS-4">UCS-4</option>
  130.        <option value="UCS-4BE">UCS-4BE</option>
  131.        <option value="UCS-4LE">UCS-4LE</option>
  132.        <option value="UHC">UHC</option>
  133.        <option value="UTF-7">UTF-7</option>
  134.        <option value="UTF-16">UTF-16</option>
  135.        <option value="UTF-16BE">UTF-16BE</option>
  136.        <option value="UTF-16LE">UTF-16LE</option>
  137.        <option value="UTF-32">UTF-32</option>
  138.        <option value="UTF-32BE">UTF-32BE</option>
  139.        <option value="UTF-32LE">UTF-32LE</option>
  140.        <option value="UTF7-IMAP">UTF7-IMAP</option>
  141.        <option value="Windows-1251">Windows-1251</option>
  142.        <option value="Windows-1254">Windows-1254</option>
  143.    </optgroup>
  144. </select></div><div class="checkbox-div"><label class="w-checkbox checkbox-field"><div class="w-checkbox-input w-checkbox-input--inputType-custom urlsafe-toggle"></div><input type="checkbox" name="Multiline-Toggle" id="urlsafe-toggle" data-name="Multiline Toggle" style="opacity:0;position:absolute;z-index:-1"/><span class="checkbox-label w-form-label" for="Multiline-Toggle">Perform URL Safe Encoding</span></label><label class="w-checkbox checkbox-field"><div class="w-checkbox-input w-checkbox-input--inputType-custom multiline-toggle"></div><input type="checkbox" name="multiline-toggle-2" id="multiline-toggle-2" data-name="Multiline Toggle 2" style="opacity:0;position:absolute;z-index:-1"/><span class="checkbox-label w-form-label" for="multiline-toggle-2">Encode Each Line Separately </span></label></div></div></div></div></div><div id="dropZone" class="decode-input-area tab-2"><div id="drop-click-div" class="dotted-file-drop"><img loading="lazy" src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd24c_Base64%20decode%20Plus%20white.svg" alt="Base64 decode" class="plus-files"/><p class="paragraph-48">Upload or drag<br/>and drop file here</p></div><div class="file-add-bottom"><img loading="lazy" src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd24c_Base64%20decode%20Plus%20white.svg" alt="Base64 Decode" class="add-file"/><div>Drop Files or Click the + above to add Files.</div></div></div></div></div></div></div><div class="main-decode-tab1 bottom-div"><div class="decode-bottom-div"><div class="text-block-30">All fields marked with an asterisk (<span class="text-span">*</span>) cannot be left blank.</div><div class="div-block-125"><a href="#" class="button reset-button w-button">Reset</a><a href="#" class="encode-button w-button">Encode</a></div></div></div></form><div class="w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div><div class="enocde-text-code w-embed w-script"><script defer src="https://unpkg.com/encoding-japanese@2.2.0/encoding.min.js"></script>
  145. <script defer src="https://cdn.jsdelivr.net/gh/Hafif-Ashiq/browser-iconv/iconv.min.js"></script>
  146. <script defer src="https://cdn.jsdelivr.net/npm/idb-keyval@6/dist/umd.js"></script>
  147. <script>  
  148. $(document).ready(function () {
  149.  
  150.    const filesArray = []; // Store files
  151.    const $dropZone = $("#dropZone");
  152.  
  153.  
  154.    $(".encode-button").on("click", async function () {
  155.  
  156.        const activeTabIndex = $(".encode-tab-link").index($(".encode-tab-link.w--current"));
  157.  
  158.        try {
  159.  
  160.            await idbKeyval.del("encodedFiles");
  161.  
  162.            if (activeTabIndex === 0) {
  163.                const isMultiline = $('.multiline-toggle').eq(0).siblings('input[type="checkbox"]').is(':checked');
  164.                const urlSafe = $('.urlsafe-toggle').eq(0).siblings('input[type="checkbox"]').is(':checked');
  165.                const encoding = $('.char-select').eq(0).val();
  166.                console.log(encoding)
  167.  
  168.                const textInput = $("#text-field").val();
  169.  
  170.                if (textInput == "") {
  171.                    alert("No text to encode");
  172.                    return;
  173.                }
  174.  
  175.                const encodedText = encodeDataWithEncoding(textInput, encoding, isMultiline,urlSafe);
  176.                
  177.                sessionStorage.setItem("encodedText", JSON.stringify(encodedText));
  178.            } else {
  179.                if (filesArray.length == 0) {
  180.                    alert("No files to encode");
  181.                    return;
  182.                }
  183.                const isMultiline = $('.multiline-toggle').eq(1).siblings('input[type="checkbox"]').is(':checked');
  184.                const urlSafe = $('.urlsafe-toggle').eq(1).siblings('input[type="checkbox"]').is(':checked');
  185.                const encoding = $('.char-select').eq(1).val();
  186.  
  187.  
  188.                const processedFiles = await processFilesForEncoding(filesArray, encoding, isMultiline,urlSafe);
  189.  
  190.                sessionStorage.removeItem("encodedText");
  191.  
  192.                const storedFiles = await Promise.all(processedFiles.map(async file => {
  193.                    const blobData = await file.blob.arrayBuffer(); // for IndexedDB compatibility
  194.                    return {
  195.                        name: file.name,
  196.                        type: file.type,
  197.                        originalFileType: file.originalFileType,
  198.                        blob: Array.from(new Uint8Array(blobData)) // store as byte array
  199.                    };
  200.                }));
  201.                console.log(storedFiles);
  202.  
  203.                await idbKeyval.set("encodedFiles", storedFiles);
  204.  
  205.                // sessionStorage.setItem("encodedFiles", JSON.stringify(output));
  206.                // sessionStorage.setItem("encodedFiles", JSON.stringify(blobURLs));
  207.  
  208.            }
  209.           window.location = window.location.pathname.replace(/\/?$/, "/encoder");
  210.        }
  211.        catch (e) {
  212.            console.error("Error storing encoded data in IndexedDB:", e);
  213.            alert("Something went wrong while preparing your encoded data.");
  214.        }
  215.    });
  216.  
  217.  
  218.  
  219.    function encodeDataWithEncoding(dataString, encoding = 'UTF-8', isMultiLine = false, urlSafe = false) {
  220.        try {
  221.            // Handle multiple lines if flag is true
  222.            if (isMultiLine) {
  223.                // Split by newlines and filter out empty lines
  224.                const lines = dataString.split(/\r?\n/).filter(line => line.trim());
  225.                console.log(lines);
  226.  
  227.                // Process each line and return array of results
  228.                return lines.map(line => {
  229.                    return encodeSingleLine(line, encoding, urlSafe);
  230.                });
  231.            } else {
  232.                // Single line processing
  233.                return [encodeSingleLine(dataString, encoding, urlSafe)];
  234.            }
  235.        } catch (error) {
  236.            console.error('Encoding error:', error);
  237.            return [];
  238.        }
  239.    }
  240.  
  241.    // Helper function to encode a single line
  242.    function encodeSingleLine(dataString, encoding, urlSafe = false) {
  243.  
  244.        const JAPANESE_ENCODINGS = [
  245.            "CP50220",
  246.            "CP50221",
  247.            "CP50222",
  248.            "CP51932",
  249.            "EUC-TW",
  250.            "HZ",
  251.            "ISO-2022-JP",
  252.            "ISO-2022-KR",
  253.            "JIS",
  254.            "UCS2BE",
  255.            "UCS2LE",
  256.            "UHC"
  257.        ]
  258.  
  259.        try {
  260.            let base64String = ""
  261.  
  262.            if (JAPANESE_ENCODINGS.includes(encoding)) {
  263.                const byteArray = Encoding.convert(text, {
  264.                    to: encoding,
  265.                    from: 'UNICODE',
  266.                    type: 'array'
  267.                });
  268.  
  269.                // Step 2: Convert byte array to binary string
  270.                const binaryString = byteArray.map(byte => String.fromCharCode(byte)).join('');
  271.  
  272.                // Step 3: Base64 encode the binary string
  273.  
  274.                // output += `JP : ${encoding}: \t${btoa(binaryString)}<br>`;
  275.                base64String = btoa(binaryString)
  276.            } else {
  277.                base64String = iconv.encode(dataString, encoding).toString("base64");
  278.            }
  279.            
  280.             if (urlSafe) {
  281.                base64String = base64String
  282.                    .replace(/\+/g, '-')
  283.                    .replace(/\//g, '_')
  284.                    .replace(/=+$/, ''); // Remove padding
  285.            }
  286.  
  287.  
  288.            return {
  289.                original: dataString,
  290.                encoded: base64String,
  291.                error: null
  292.            };
  293.        } catch (e) {
  294.            return {
  295.                original: dataString,
  296.                encoded: null,
  297.                error: e
  298.            };
  299.        }
  300.  
  301.    }
  302.  
  303.    // Prevent default behavior for drag events
  304.    $dropZone.on("dragenter dragover", function (e) {
  305.        e.preventDefault();
  306.        e.stopPropagation();
  307.        $dropZone.addClass("dragover");
  308.    });
  309.  
  310.    $dropZone.on("dragleave drop", function (e) {
  311.        e.preventDefault();
  312.        e.stopPropagation();
  313.        $dropZone.removeClass("dragover");
  314.    });
  315.  
  316.    // Handle file drop (supports multiple files)
  317.    $dropZone.on("drop", function (e) {
  318.        const files = e.originalEvent.dataTransfer.files;
  319.        addFiles(files);
  320.    });
  321.  
  322.    // Click to open file picker (supports multiple files)
  323.    $(".add-file, #drop-click-div").on("click", function () {
  324.        const $input = $("<input>").attr({
  325.            type: "file",
  326.            multiple: true
  327.        });
  328.  
  329.        $input.on("change", function () {
  330.            if (this.files.length > 0) {
  331.                addFiles(this.files);
  332.            }
  333.        });
  334.  
  335.        $input.trigger("click");
  336.    });
  337.  
  338.    function addFiles(files) {
  339.        Array.from(files).forEach(file => {
  340.            const fileSize = file.size; // Get the size of the file in bytes
  341.            console.log(`File Name: ${file.name}, File Size: ${fileSize} bytes`); // Log the file name and size
  342.  
  343.            if (fileSize > 5 * 1024 * 1024) { // Check if file size is greater than 5MB
  344.                alert(`The file "${file.name}" exceeds the 5MB size limit and will not be processed.`);
  345.                return; // Exit the function if the file is too large
  346.            }
  347.  
  348.            filesArray.push({
  349.                name: file.name,
  350.                fileData: file
  351.            })
  352.  
  353.  
  354.        });
  355.        displayFiles(); // Show file in UI
  356.    }
  357.  
  358.    function readFileAsDataURL(file) {
  359.        return new Promise((resolve, reject) => {
  360.            const reader = new FileReader();
  361.            reader.onload = () => resolve(reader.result);
  362.            reader.onerror = reject;
  363.            reader.readAsDataURL(file);
  364.        });
  365.    }
  366.  
  367.    function readFileAsText(file, encoding = 'UTF-8') {
  368.        return new Promise((resolve, reject) => {
  369.            const reader = new FileReader();
  370.            reader.onload = () => resolve(reader.result);
  371.            reader.onerror = reject;
  372.            reader.readAsText(file, encoding);
  373.        });
  374.    }
  375.  
  376.  
  377.    async function processFilesForEncoding(files, encoding, isMultiLine,urlSafe=false) {
  378.        const encodedFiles = await Promise.all(Array.from(files).map(async file => {
  379.            let combinedEncodedText = ""
  380.            console.log(encoding);
  381.  
  382.  
  383.            if (encoding != "bin") {
  384.  
  385.                const fileContent = await readFileAsText(file.fileData, encoding);
  386.                const encodedTextArray = encodeDataWithEncoding(fileContent, encoding, isMultiLine,urlSafe);
  387.                combinedEncodedText = encodedTextArray.map(e => e.encoded).join("\n");
  388.  
  389.  
  390.            } else {
  391.                
  392.                const base64Data = await readFileAsDataURL(file.fileData);
  393.                combinedEncodedText = base64Data.split(",")[1];
  394.  
  395.            }
  396.  
  397.            // Create a Blob from the combined string
  398.            const blob = new Blob([combinedEncodedText], { type: 'text/plain' }); // You can change MIME type here
  399.  
  400.  
  401.            return {
  402.                name: file.name.split(".")[0] + '_b64.txt', // you can customize the extension
  403.                type: 'text/plain',
  404.                originalFileType: file.type,
  405.                blob: blob
  406.            };
  407.            // return {
  408.            //     name: file.name,
  409.            //     type: file.type,
  410.            //     output: encodedText
  411.            // };
  412.        }));
  413.  
  414.        return encodedFiles;
  415.    }
  416.  
  417.    function displayFiles() {
  418.        $(".uploaded-file").remove();
  419.        if (filesArray.length > 0) {
  420.            $(".dotted-file-drop").hide();
  421.            $(".file-add-bottom").css("display", "flex");
  422.        } else {
  423.            $(".dotted-file-drop").css("display", "flex");
  424.            $(".file-add-bottom").hide();
  425.        }
  426.        filesArray.forEach((file, index) => {
  427.            const fileImage = getFileImage(file.type)
  428.            const fileElement = $("<div>").addClass("uploaded-file").html(
  429.                `<img src="${fileImage}" loading="lazy" alt="Base64 Encode" class="thumbnail-img">
  430.                <div class="thumbnail-text">${file.name}</div>
  431.                <img data-index="${index}" class="uploaded-cross" loading="lazy" src="https://cdn.prod.website-files.com/67a51839b70f3f90fda41893/67bd22545b1e80ed79831dc1_52ce5073a674531ec69f824c15424cf9_Base64%20Decode%20Gray%20Cross.svg" />
  432.                `
  433.            );
  434.            $dropZone.append(fileElement);
  435.        });
  436.    }
  437.  
  438.    function getFileType(dataString) {
  439.        // PNG magic number (first 8 bytes): 89 50 4E 47 0D 0A 1A 0A
  440.        const isPNG = dataString.startsWith('\x89PNG\r\n\x1A\n');
  441.        if (isPNG) return "PNG";
  442.  
  443.        // PDF: %PDF-
  444.        if (dataString.startsWith('%PDF-')) {
  445.            return "PDF";
  446.        }
  447.  
  448.        // JPEG: FF D8 FF
  449.        if (
  450.            dataString.charCodeAt(0) === 0xFF &&
  451.            dataString.charCodeAt(1) === 0xD8 &&
  452.            dataString.charCodeAt(2) === 0xFF
  453.        ) {
  454.            return "JPEG";
  455.        }
  456.  
  457.        // GIF: GIF87a or GIF89a
  458.        if (dataString.startsWith('GIF87a') || dataString.startsWith('GIF89a')) {
  459.            return "GIF";
  460.        }
  461.  
  462.        // Check for valid plain text (visible ASCII + common whitespace)
  463.        const isText = /^[\x09\x0A\x0D\x20-\x7E]*$/.test(dataString);
  464.        if (isText) return "TXT";
  465.  
  466.        // Block known lossy UTF-8 corruption for binary formats
  467.        // Example: 0xC3 or 0xE2 and other over-encoded UTF-8 sequences
  468.        const hasSuspiciousUTF8 =
  469.            /[\u00C0-\u00FF\u0100-\u017F\u2000-\u20FF]/.test(dataString);
  470.  
  471.        if (hasSuspiciousUTF8) {
  472.            return "Corrupted UTF-8 from binary";
  473.        }
  474.  
  475.        return "Unknown";
  476.    }
  477.  
  478.  
  479.    function getFileImage(type) {
  480.        if (type == "PDF") {
  481.            return "https://cdn.prod.website-files.com/67a51839b70f3f90fda41893/67b34732a07eaa4d680ffaee_Base64%20Decode%20pdf%20icon.svg"
  482.        }
  483.        else if (type == "JPEG") {
  484.            return "https://cdn.prod.website-files.com/67a51839b70f3f90fda41893/67b347313bd8a63d4037013f_Base64%20Decode%20jpg%20icon.svg"
  485.        }
  486.        else if (type == "GIF") {
  487.            return "https://cdn.prod.website-files.com/67a51839b70f3f90fda41893/67b347314759ee6c1ba96eb5_Base64%20Decode%20gif%20icon.svg"
  488.        }
  489.        else if (type == "PNG") {
  490.            return "https://cdn.prod.website-files.com/67a51839b70f3f90fda41893/67b3473165a4788d6b9123de_Base64%20Decode%20png%20icon.svg"
  491.        }
  492.        else if (type == "TXT") {
  493.            return "https://cdn.prod.website-files.com/67a51839b70f3f90fda41893/67b3473161ff1d1f42555352_Base64%20Decode%20txt%20icon.svg"
  494.        }
  495.  
  496.        return "https://cdn.prod.website-files.com/67a51839b70f3f90fda41893/67b39d1a1028b7d2b301aa53_Base64%20Decode%20unknown%20file%20icon.svg"
  497.    }
  498.  
  499.  
  500.  
  501.    $(document).on("click", ".uploaded-cross", function (event) {
  502.        event.stopPropagation();
  503.        const index = $(this).data("index");
  504.        if (index !== undefined) {
  505.            filesArray.splice(index, 1);
  506.            displayFiles();
  507.        }
  508.    });
  509.  
  510. });
  511.  
  512. $(".encode-tab-link").on("click", function() {
  513.    var index = $(".encode-tab-link").index(this);
  514.    if (index == 0){
  515.     $(".file-option").hide()
  516.      $(".text-option").show()
  517.      $(".utf8-option").attr("selected",true)
  518.    } else if (index == 1){
  519.     $(".file-option").show()
  520.      $(".text-option").hide()
  521.      $(".file-option").attr("selected",true)
  522.    }
  523. });
  524.  
  525.  
  526. </script></div></div></div></div><div class="background"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27f_Base64%20Decode%20Grid%20Bg.svg" loading="lazy" alt="Base64 Decode " class="background-grid"/><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27c_Base64%20Decode%20Mask%20group.svg" loading="lazy" alt="Base64 Decode " class="background-mask-circles"/><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27d_Base64%20decode%20Textures.webp" loading="lazy" sizes="(max-width: 1439px) 100vw, 1440px" srcset="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27d_Base64%20decode%20Textures.webp 500w, https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27d_Base64%20decode%20Textures.webp 800w, https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27d_Base64%20decode%20Textures.webp 1080w, https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27d_Base64%20decode%20Textures.webp 1440w" alt="Base64 Decode " class="background-texture"/></div></section><section class="information-section"><div class="padding-global"><div class="w-layout-blockcontainer container-large w-container"><div class="information-section-1"><div class="div-block-115"><h1 class="base64-decode-heading">Base64 Encode</h1><div class="text-normal teal-text">Base64 encoding is a method used to convert binary data—such as images, files, or plain text—into ASCII string format. It’s commonly used in web development, email formatting, and data transmission where only text-safe characters are allowed. By converting data into a base-64 representation, you ensure that it remains unaltered during transport across systems that may not support binary formats.<br/></div></div><div class="div-block-126"><div class="information-divs left-div"><h2 class="information-sect-heading">Encode to Base64 Format</h2><p>Base64 Encoder allows you to upload and convert files—such as images, PDFs, or documents—into Base64 format using our online tool. Base64 Encoding is particularly useful for embedding email attachments, web-based assets, and cryptographic data directly into HTML, CSS, or JSON.</p></div><div class="information-divs right-div"><div class="information-sect-heading">Ensures accuracy and efficiency</div><p>Whether you need to encode to Base64-encoded files for development, storage, or security purposes, this tool ensures accuracy and efficiency.</p></div></div></div></div></div></section><section class="hiw-section"><div class="padding-global z-index-4"><div class="w-layout-blockcontainer container-large w-container"><h2 class="heading_2">How To Use This Base64 Encoder Tool
</h2><div class="hiw-main-container"><div class="hero-input-div-hiw"><div class="text-area-form w-form"><form id="wf-form-Text-Input-Form-showcase" name="wf-form-Text-Input-Form" data-name="Text Input Form" method="get" data-wf-page-id="67dcf530af83d436f18fd1f2" data-wf-element-id="e111840e-2b92-5767-bfb1-8c302d8c1078"><div data-current="Tab 1" data-easing="ease" data-duration-in="300" data-duration-out="100" class="tabs w-tabs"><div class="tabs-menu-2 w-tab-menu"><a data-w-tab="Tab 1" class="decode-tab-link-show w-inline-block w-tab-link w--current"><div>Text</div></a><a data-w-tab="Tab 2" class="decode-tab-link-show w-inline-block w-tab-link"><div>File</div></a></div><div class="tabs-content w-tab-content"><div data-w-tab="Tab 1" class="w-tab-pane w--tab-active"><div class="hiw-showcase-center-div"><div>Paste your text within the field below</div><div class="decode-bottom-left-div"><div class="characterset-div"><div class="format-select-div-hiw-showcase"><div class="text-block-26">Character Set</div><div class="div-block-124"><div class="w-embed"><select id="groupedSelect" class="w-select select-field" style="width:170px;">
  527. <option value="AUTO">Auto Detect</option>
  528.    <optgroup label="Populars">
  529.        <option value="UTF-8" selected>UTF-8</option>
  530.    </optgroup>
  531. </select></div><div class="multiline-div-showcase"><label class="w-checkbox checkbox-field"><div class="w-checkbox-input w-checkbox-input--inputType-custom multiline-toggle"></div><input type="checkbox" name="multiline-toggle-3" data-name="Multiline Toggle 3" style="opacity:0;position:absolute;z-index:-1"/><span class="checkbox-label w-form-label" for="multiline-toggle-3">Encode Each Line Separately</span></label></div></div></div></div></div><textarea id="Showcase-Text-Field" name="Showcase-Text-Field" maxlength="5000" data-name="Showcase Text Field" placeholder="Paste Here" class="decode-input-area-showcase w-input"></textarea></div></div><div data-w-tab="Tab 2" class="w-tab-pane"><div class="hiw-showcase-center-div"><div>Drag and drop the file or click + to upload</div><div class="decode-bottom-left-div"><div class="characterset-div"><div class="format-select-div"><div class="text-block-26">Character Set</div><div class="div-block-124"><div class="w-embed"><select id="groupedSelect" class="w-select select-field" style="width:170px;">
  532. <option value="AUTO">Auto Detect</option>
  533.    <optgroup label="Populars">
  534.        <option value="UTF-8" selected>UTF-8</option>
  535.    </optgroup>
  536. </select></div><div class="checkbox-div"><label class="w-checkbox checkbox-field-showcase"><div class="w-checkbox-input w-checkbox-input--inputType-custom multiline-toggle"></div><input type="checkbox" name="multiline-toggle-2" data-name="Multiline Toggle 2" style="opacity:0;position:absolute;z-index:-1"/><span class="checkbox-label w-form-label" for="multiline-toggle-2">Encode Each Line Separately</span></label></div></div></div></div></div><div class="decode-input-area-showcase"><div class="dotted-file-drop"><img loading="lazy" src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd24c_Base64%20decode%20Plus%20white.svg" alt="Base64 decode" class="plus-files"/><p class="paragraph-48">Upload or drag<br/>and drop file here</p></div><div class="file-add-bottom"><img loading="lazy" src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd24c_Base64%20decode%20Plus%20white.svg" alt="Base64 Decode" class="add-file"/><div>Drop Files or Click the + above to add Files.</div></div></div></div></div></div></div><div class="hiw-showcase-center-div"><div class="decode-bottom-div-showcase"><div class="text-block-30">All fields marked with an asterisk (<span class="text-span">*</span>) cannot be left blank.</div><div class="div-block-125"><a href="#" class="button reset-button w-button">Reset</a><a href="#" class="button decode-button-show w-button">Encode</a></div></div></div></form><div class="w-form-done"><div>Thank you! Your submission has been received!</div></div><div class="w-form-fail"><div>Oops! Something went wrong while submitting the form.</div></div></div></div><div class="hiw-steps"><div class="hiw-tile"><div class="hiw-tile-number">1</div><div class="div-block-129"><div class="hiw-tiles-text">Encode to Base64 Format</div><div class="hiw-tiles-text">Copy-paste your original string or drag and drop a file.</div></div></div><div class="hiw-tile"><div class="hiw-tile-number">2</div><div class="div-block-129"><div class="hiw-tiles-text">Change the encoding type</div><div class="hiw-tiles-text">Adjust encoding formats and line breaks.</div></div></div><div class="hiw-tile"><div class="hiw-tile-number">3</div><div class="div-block-129"><div class="hiw-tiles-text">Click here to encode</div><div class="hiw-tiles-text">Click ‘Encode’ to convert data to its original format.</div></div></div><div class="hiw-tile"><div class="hiw-tile-number">4</div><div class="div-block-129"><div class="hiw-tiles-text">Copy the output</div><div class="hiw-tiles-text">Get your encoded output here.</div></div></div></div></div></div></div><div class="background in-page"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27d_Base64%20decode%20Textures.webp" loading="lazy" sizes="(max-width: 1439px) 100vw, 1440px" srcset="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27d_Base64%20decode%20Textures.webp 500w, https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27d_Base64%20decode%20Textures.webp 800w, https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27d_Base64%20decode%20Textures.webp 1080w, https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27d_Base64%20decode%20Textures.webp 1440w" alt="Base64 Decode " class="background-texture"/><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd280_Base64%20decode%20Mask%20group%201%20circle.svg" loading="lazy" alt="Base64 Decode" class="background-mask-circles"/><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27f_Base64%20Decode%20Grid%20Bg.svg" loading="lazy" alt="Base64 Decode " class="background-grid hiw"/></div></section><section class="usecase-section"><div class="padding-global"><div class="w-layout-blockcontainer container-large w-container"><div class="information-section-1"><h2 class="use-case-h1">Common Base64 Use Cases</h2><div class="use-cases"><div class="usecase"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd26d_Base%2064%20Decode%20Email%20Attachment%20icon.svg" loading="lazy" alt="Base64 Decode" class="usecase-icon"/><div class="use-case-heading">Email attachments</div><div class="use-case-text">(MIME format) – Email systems encode files in Base64 to ensure proper transmission and display. This combination leaves the data unlikely to be modified in transit through systems such as email, which were traditionally not 8-bit clean. Web developers use Base64 encoding to embed images and media directly into HTML or CSS files.</div></div><div class="usecase"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27b_Base%2064%20Decode%20cryptographic%20icon.svg" loading="lazy" alt="Base64 Decode" class="usecase-icon"/><div class="use-case-heading">Cryptographic applications</div><div class="use-case-text">Base64 encoding schemes help store hashed passwords, digital signatures, and secure keys in Base64 format. Also, for Secure File Transfers. Many systems encode sensitive files in Base64 before transmission to maintain integrity.</div></div><div class="usecase"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd26c_Base%2064%20Decode%20data%20reamins%20icon.svg" loading="lazy" alt="Base64 Decode" class="usecase-icon"/><div class="use-case-heading">Encoded data remains intact</div><div class="use-case-text">URL-Safe Encoding, it converts + to - and / to _ to prevent issues in URLs. Also, spaces and special characters are encoded as %20 for better compatibility in web links.It also ensures that encoded data remains intact when used in links, APIs, and other web-based environments.</div></div><div class="usecase"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27a_Base%2064%20Decode%20printable%20chars%20icon.svg" loading="lazy" alt="Base64 Decode" class="usecase-icon"/><div class="use-case-heading">Printable characters</div><div class="use-case-text">Base64 uses a set of printable characters to represent binary data, but in web development, some characters require special handling. Also for Standard Characters: Uses A-Z, a-z, 0-9 for the first 62, +, / for encoding.</div></div></div></div></div></div></section><section class="decode-function"><div class="padding-global z-index-4"><div class="w-layout-blockcontainer container-large w-container"><div class="div-block-119"><h3 class="heading_2 decode-functions">Base64 Encode Functions</h3><div class="example-code-blocks"><p class="text-normal decode-functions-text">Base64 encoding is supported natively or through libraries in most programming languages. <br/>Here&#x27;s how it’s typically implemented:</p><div class="functions-dropdown"><div class="functions-dropdown-text">JavaScript</div><div class="icon-3 w-icon-dropdown-toggle"></div></div><div data-current="Javascript" data-easing="ease" data-duration-in="300" data-duration-out="100" class="w-tabs"><div class="tabs-menu w-tab-menu"><a data-w-tab="Javascript" class="code-tab-link w-inline-block w-tab-link w--current"><div class="code-tab-text">Javascript</div></a><a data-w-tab="Python" class="code-tab-link w-inline-block w-tab-link"><div class="code-tab-text">Python</div></a><a data-w-tab="PHP" class="code-tab-link w-inline-block w-tab-link"><div class="code-tab-text">PHP</div></a><a data-w-tab="Java" class="code-tab-link w-inline-block w-tab-link"><div class="code-tab-text">Java</div></a><a data-w-tab="C#" class="code-tab-link w-inline-block w-tab-link"><div class="code-tab-text">C#</div></a><a data-w-tab="Ruby" class="code-tab-link w-inline-block w-tab-link"><div class="code-tab-text">Ruby</div></a><a data-w-tab="MySQL" class="code-tab-link w-inline-block w-tab-link"><div class="code-tab-text">MySQL</div></a><a data-w-tab="PostgreSQL" class="code-tab-link w-inline-block w-tab-link"><div class="code-tab-text">PostgreSQL</div></a><a data-w-tab="Linux CLI" class="code-tab-link w-inline-block w-tab-link"><div class="code-tab-text">Linux CLI</div></a></div><div class="w-tab-content"><div data-w-tab="Javascript" class="w-tab-pane w--tab-active"><div class="code-display-block"><div class="code-block">// JavaScript
<br/>//The atob() function encode strings to Base64 in web applications.
<br/>const encodedString = atob(<span class="teal-code">&quot;Some encoded string&quot;</span>);<br/>console.log(encodedString); // Output: <span>U29tZSBlbmNvZGVkIHN0cmluZw==</span></div><div class="code-copy-button"><img loading="lazy" src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd249_Base64%20copy%20svg%20white.svg" alt="Base64 Decode" class="code-copy-image"/></div></div></div><div data-w-tab="Python" class="w-tab-pane"><div class="code-display-block"><div class="code-block"># Python<br/># The base64.b64decode() function converts Base64 text into its original binary format.<br/>import base64<br/>original_str = <span class="teal-code">&quot;Some encoded string&quot;</span><br/>encoded_bytes= base64.b64encode(original_str.encode(&quot;utf-8&quot;))<br/>print(encoded_str)  # Output: U29tZSBlbmNvZGVkIHN0cmluZw==</div><div class="code-copy-button"><img loading="lazy" src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd249_Base64%20copy%20svg%20white.svg" alt="Base64 Decode" class="code-copy-image"/></div></div></div><div data-w-tab="PHP" class="w-tab-pane"><div class="code-display-block"><div class="code-block">// PHP<br/>// The base64_decode() function allows web developers to process encoded data.<br/>$encoded_str = <span class="teal-code">&quot;U29tZSBlbmNvZGVkIHN0cmluZw==&quot;</span>;<br/>$decoded_str = base64_decode($encoded_str);<br/>echo $decoded_str; // Output: Some encoded string</div><div class="code-copy-button"><img loading="lazy" src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd249_Base64%20copy%20svg%20white.svg" alt="Base64 Decode" class="code-copy-image"/></div></div></div><div data-w-tab="Java" class="w-tab-pane"><div class="code-display-block"><div class="code-block">// Java<br/>// The Base64.getEncoder().encodeToString() method efficiently encodes text into Base64.<br/>import java.util.Base64;<br/>public class Main {<br/>    public static void main(String[] args) {<br/>        String originalStr = <span class="teal-code">&quot;Some encoded string&quot;</span>;<br/>        String encodedStr = Base64.getEncoder().encodeToString(originalStr.getBytes());<br/>         System.out.println(encodedStr); // Output: U29tZSBlbmNvZGVkIHN0cmluZw==<br/>    }<br/>}</div><div class="code-copy-button"><img loading="lazy" src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd249_Base64%20copy%20svg%20white.svg" alt="Base64 Decode" class="code-copy-image"/></div></div></div><div data-w-tab="C#" class="w-tab-pane"><div class="code-display-block"><div class="code-block">// C#<br/>// The Convert.ToBase64String() method encodes binary data into a Base64 string.<br/>using System;<br/>class Program{<br/>    static void Main()<br/>    {<br/>        string original = <span class="teal-code">&quot;string&quot;</span>; // Original string to encode<br/>        byte[] bytes = System.Text.Encoding.UTF8.GetBytes(original); // Convert string to bytes<br/>        string encoded = Convert.ToBase64String(bytes); // Encode bytes to Base64<br/>        Console.WriteLine(encoded); // Output: c3RyaW5n<br/>    }<br/>}</div><div class="code-copy-button"><img loading="lazy" src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd249_Base64%20copy%20svg%20white.svg" alt="Base64 Decode" class="code-copy-image"/></div></div></div><div data-w-tab="Ruby" class="w-tab-pane"><div class="code-display-block"><div class="code-block"># Ruby<br/># The Base64.encode64() method encodes a string into Base64 format.<br/>require &#x27;base64&#x27;original = <span class="teal-code">&#x27;string&#x27;</span>  # Original string to encode<br/>encoded = Base64.encode64(original)  # Encode string to Base64<br/>puts encoded  # Output: c3RyaW5n</div><div class="code-copy-button"><img loading="lazy" src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd249_Base64%20copy%20svg%20white.svg" alt="Base64 Decode" class="code-copy-image"/></div></div></div><div data-w-tab="MySQL" class="w-tab-pane"><div class="code-display-block"><div class="code-block">-- MySQL<br/>-- The TO_BASE64() function encodes a string into Base64 format.<br/>SELECT TO_BASE64(<span class="teal-code">&#x27;string&#x27;</span>) AS encoded; -- Output: c3RyaW5n</div><div class="code-copy-button"><img loading="lazy" src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd249_Base64%20copy%20svg%20white.svg" alt="Base64 Decode" class="code-copy-image"/></div></div></div><div data-w-tab="PostgreSQL" class="w-tab-pane"><div class="code-display-block"><div class="code-block">-- PostgreSQL<br/>-- The encode() function encodes binary data using the specified format, like &#x27;base64&#x27;.<br/>SELECT encode(<span class="teal-code">&#x27;string&#x27;</span>::bytea, &#x27;base64&#x27;) AS encoded; -- Output: c3RyaW5n</div><div class="code-copy-button"><img loading="lazy" src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd249_Base64%20copy%20svg%20white.svg" alt="Base64 Decode" class="code-copy-image"/></div></div></div><div data-w-tab="Linux CLI" class="w-tab-pane"><div class="code-display-block"><div class="code-block"># Linux CLI<br/># The base64 command encodes input into Base64 format.<br/># The -n flag prevents echo from adding a newline character.<br/>echo -n <span class="teal-code">&#x27;string&#x27;</span> | base64  # Output: c3RyaW5n</div><div class="code-copy-button"><img loading="lazy" src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd249_Base64%20copy%20svg%20white.svg" alt="Base64 Decode" class="code-copy-image"/></div></div></div></div></div><div class="code-embed w-embed w-script"><script>
  537. $(".code-tab-link").on("click",function(){
  538. const text = $(this).children(".code-tab-text").text();
  539.  $(".functions-dropdown-text").text(text);
  540. })
  541.  
  542.  
  543. $(".code-copy-button").on("click",function(){
  544. const code = $(this).siblings(".code-block").text()
  545.    
  546.    navigator.clipboard.writeText(code)
  547.  .then(() => {
  548. $(this).children(".code-copy-image").attr("src","https://cdn.prod.website-files.com/67a51839b70f3f90fda41893/67ae02fd71c85a19c595b5a3_Base64%20Decode%20tick%20svg%20white.svg")
  549.  })
  550.  .catch((error) => {
  551.    console.error("Copy failed:", error);
  552.  });
  553. var this_btn = $(this)
  554.  setTimeout(function () {
  555.   console.log("timeout")
  556.    $(this_btn).children(".code-copy-image").attr("src","https://cdn.prod.website-files.com/67a51839b70f3f90fda41893/67ae02071d50d9ba6b1593c1_7b84077ca5e766bc4920b023b53bd9ff_Base64%20copy%20svg%20white.svg")
  557.  }, 2000)
  558.  
  559. })
  560. </script></div></div></div></div></div><div class="background in-page function"><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27d_Base64%20decode%20Textures.webp" loading="lazy" sizes="(max-width: 1439px) 100vw, 1440px" srcset="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27d_Base64%20decode%20Textures.webp 500w, https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27d_Base64%20decode%20Textures.webp 800w, https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27d_Base64%20decode%20Textures.webp 1080w, https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27d_Base64%20decode%20Textures.webp 1440w" alt="Base64 Decode " class="background-texture functions"/><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd280_Base64%20decode%20Mask%20group%201%20circle.svg" loading="lazy" alt="Base64 Decode" class="background-mask-circles"/><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd27f_Base64%20Decode%20Grid%20Bg.svg" loading="lazy" alt="Base64 Decode " class="background-grid functions"/></div></section><div class="section_footer"><div class="container-large"><div class="footer_legal-content"><div class="footer_legal-wrapper"><a href="/terms-of-service" class="footer-link">Terms of Use</a><a href="/privacy-policy" class="footer-link">Privacy Policy</a><a href="/about-us" class="footer-link">About Us</a><a href="/faq" class="footer-link">FAQ</a><a href="/contact-us" class="footer-link contact-us">Contact Us</a></div><img src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/67dcf530af83d436f18fd26b_508165b0976ff74de09b677988543b55_Base64%20Decode%20Icon.png" loading="lazy" alt="Base64 Decode"/></div><div class="footer_top"><div class="logo-text">Base64 Decode</div><div>© 2025 Base64Decode. All rights reserved</div></div></div></div><script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=67dcf530af83d436f18fd1f3" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/js/webflow.schunk.36b8fb49256177c8.js" type="text/javascript"></script><script src="https://cdn.prod.website-files.com/67dcf530af83d436f18fd1f3/js/webflow.d617b79c.5f2f11a65808dd95.js" type="text/javascript"></script>
  561. </body></html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda