All-in-One File Converter

Convert TXT, CSV, JSON, MD, HTML & DOCX — or bundle files into a ZIP. Private & free.

Upload a file to see a preview…

📦 Create a ZIP

Advertisement

Supported conversions

Text formats: TXT, CSV, JSON, Markdown and HTML convert between each other with smart parsing — CSV becomes a JSON table, JSON pretty-prints to readable text, Markdown renders to styled HTML.

DOCX files

Word documents convert to clean plain text or HTML. Complex formatting (embedded charts, SmartArt) may simplify — that's normal for any converter.

XLSX / PPTX note

Full spreadsheet and presentation conversion to PDF needs desktop software. Tip: copy a table from Excel and paste it here — choose CSV target to export it.

Frequently Asked Questions

Which conversions are supported?

TXT, CSV, JSON, Markdown and HTML convert between each other fully; DOCX converts to plain text or HTML; and you can bundle any files into a ZIP.

Can I convert XLSX or PPTX?

Paste table data to export it as CSV or JSON. Full XLSX/PPTX to PDF conversion needs desktop software like LibreOffice.

Is my file uploaded anywhere?

No — every conversion runs locally in your browser. Files never leave your device.

Is there a file size limit?

Browser memory is the only limit; files up to ~50 MB work smoothly.

",m:"text/html",e:"html"}; } return {c:plain,m:"text/plain",e:"txt"}; } $("fcFile").addEventListener("change",function(){ var f=this.files[0];if(!f)return; var ext=(f.name.split(".").pop()||"").toLowerCase(); rawName=f.name.replace(/\.[^.]+$/,"")||"document"; $("fcMsg").textContent="Reading "+f.name+"…"; if(ext==="docx"){ if(typeof mammoth==="undefined"){$("fcMsg").textContent="✕ DOCX library failed to load. Check connection and retry.";return;} var rd=new FileReader(); rd.onload=function(){mammoth.extractRawText({arrayBuffer:rd.result}).then(function(r){ rawText=r.value;$("fcPrev").textContent=rawText.slice(0,1500); $("fcMsg").textContent="✓ Ready — pick a target format and convert."; }).catch(function(){$("fcMsg").textContent="✕ Could not read this DOCX.";});}; rd.readAsArrayBuffer(f);return; } var r2=new FileReader(); r2.onload=function(){rawText=r2.result; if(ext==="csv")$("fcPrev").textContent=csvToJson(rawText).slice(0,1500); else $("fcPrev").textContent=rawText.slice(0,1500); $("fcMsg").textContent="✓ Ready — pick a target format and convert.";}; r2.readAsText(f); }); $("fcGo").addEventListener("click",function(){ if(!rawText){$("fcMsg").textContent="Upload a file first.";return;} var ext=($("fcFile").files[0].name.split(".").pop()||"").toLowerCase(); var target=$("fcTarget").value; if(ext==="docx"&&target!=="txt"&&target!=="html"){$("fcMsg").textContent="DOCX converts to TXT or HTML only — pick one.";return;} var r=toTarget(rawText,ext,target); download(r.c,rawName+"."+r.e,r.m); $("fcMsg").textContent="✓ Downloaded "+rawName+"."+r.e; }); $("fcZipGo").addEventListener("click",function(){ var files=$("fcZip").files; if(!files.length){$("fcZipMsg").textContent="Select at least one file.";return;} if(typeof JSZip==="undefined"){$("fcZipMsg").textContent="✕ ZIP library failed to load. Check connection and retry.";return;} $("fcZipMsg").textContent="Compressing "+files.length+" file(s)…"; var zip=new JSZip(),n=files.length,done=0; Array.prototype.forEach.call(files,function(f){ var rd=new FileReader(); rd.onload=function(){zip.file(f.name,rd.result);done++; if(done===n)zip.generateAsync({type:"blob"}).then(function(b){ var a=document.createElement("a");a.href=URL.createObjectURL(b); a.download="zaptools-files.zip";a.click(); setTimeout(function(){URL.revokeObjectURL(a.href);},2000); $("fcZipMsg").textContent="✓ ZIP downloaded."; });}; rd.readAsArrayBuffer(f); }); }); })();