<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Fayazali121</title>
    <description>The latest articles on DEV Community by Fayazali121 (@fayazali121).</description>
    <link>https://dev.to/fayazali121</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4191604%2F2bd94468-4373-4fd3-993a-d4b7c2aa94a1.jpg</url>
      <title>DEV Community: Fayazali121</title>
      <link>https://dev.to/fayazali121</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fayazali121"/>
    <language>en</language>
    <item>
      <title>I built 190+ free online tools that don't upload your files</title>
      <dc:creator>Fayazali121</dc:creator>
      <pubDate>Wed, 21 Oct 2026 14:00:00 +0000</pubDate>
      <link>https://dev.to/fayazali121/i-built-190-free-online-tools-that-dont-upload-your-files-13kj</link>
      <guid>https://dev.to/fayazali121/i-built-190-free-online-tools-that-dont-upload-your-files-13kj</guid>
      <description>&lt;p&gt;Hi, I'm Fayaz, a web developer from Karachi, Pakistan.&lt;/p&gt;

&lt;p&gt;Like most people, I keep needing small file jobs done: shrink a photo, merge a few PDFs, convert a Word file, format some JSON. And every time, the free tools I found came with a catch:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;a &lt;strong&gt;watermark&lt;/strong&gt; on the result,&lt;/li&gt;
&lt;li&gt;a &lt;strong&gt;sign-up wall&lt;/strong&gt; before the download,&lt;/li&gt;
&lt;li&gt;a &lt;strong&gt;limit&lt;/strong&gt; of two files a day unless I paid,&lt;/li&gt;
&lt;li&gt;or they wanted me to &lt;strong&gt;upload private documents&lt;/strong&gt; to a server I knew nothing about.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So a month ago I started building &lt;strong&gt;&lt;a href="https://toolsbench.net" rel="noopener noreferrer"&gt;ToolsBench&lt;/a&gt;&lt;/strong&gt;: one place where these everyday jobs are free, simple, and done properly. It now has more than 190 tools across images, PDFs, documents, video, audio, text, code and more.&lt;/p&gt;

&lt;h2&gt;
  
  
  The main idea: do the work in the browser
&lt;/h2&gt;

&lt;p&gt;Modern browsers are powerful enough to do most file processing locally. If the work happens on your device, there's nothing to upload, nothing to store, and nothing to leak. It's also faster, because you skip the upload and download round trip.&lt;/p&gt;

&lt;p&gt;Here's what does the heavy lifting:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Job&lt;/th&gt;
&lt;th&gt;Library&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Merge, split, rotate PDFs&lt;/td&gt;
&lt;td&gt;&lt;a href="https://pdf-lib.js.org/" rel="noopener noreferrer"&gt;pdf-lib&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Render PDF pages (PDF to image)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://mozilla.github.io/pdf.js/" rel="noopener noreferrer"&gt;PDF.js&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Video and audio conversion&lt;/td&gt;
&lt;td&gt;&lt;a href="https://ffmpegwasm.netlify.app/" rel="noopener noreferrer"&gt;ffmpeg.wasm&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Text from images (OCR)&lt;/td&gt;
&lt;td&gt;&lt;a href="https://tesseract.projectnaptha.com/" rel="noopener noreferrer"&gt;Tesseract.js&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HEIC (iPhone photos) to JPG&lt;/td&gt;
&lt;td&gt;heic2any&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Word documents&lt;/td&gt;
&lt;td&gt;mammoth, docx&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Excel and CSV&lt;/td&gt;
&lt;td&gt;SheetJS&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Compress and resize images&lt;/td&gt;
&lt;td&gt;the Canvas API&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;QR codes and barcodes&lt;/td&gt;
&lt;td&gt;qrcode, JsBarcode, ZXing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;A few tools genuinely need a server, such as an IP address lookup. Those say so clearly at the top of the page, so you always know where your data goes.&lt;/p&gt;

&lt;h2&gt;
  
  
  The stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js&lt;/strong&gt; (App Router) with &lt;strong&gt;React&lt;/strong&gt; and &lt;strong&gt;Tailwind CSS&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prisma&lt;/strong&gt; with &lt;strong&gt;Turso&lt;/strong&gt; (SQLite at the edge) for tool pages, blog posts and FAQs, edited from a small admin panel&lt;/li&gt;
&lt;li&gt;Hosted on &lt;strong&gt;Netlify&lt;/strong&gt;, DNS on &lt;strong&gt;Cloudflare&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Things I learned along the way
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. ffmpeg.wasm is amazing, but heavy.&lt;/strong&gt; The core is tens of megabytes, so it only loads when you open a video or audio tool, and it's cached long-term after the first visit. Nobody should download a video encoder just to format some JSON.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Lazy-load everything.&lt;/strong&gt; With 190+ tools, each tool's code (and its libraries) only loads on its own page. The home page stays fast even though the whole site uses a lot of libraries.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Big files need care.&lt;/strong&gt; Browsers have memory limits, especially on phones. Loading libraries only when a file is actually processed, and releasing object URLs once a download is done, keeps things from slowing down.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Hosting adds surprises.&lt;/strong&gt; My host injected a small HTML comment into the page &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;, which broke React hydration in production only. It took some bisecting to find. If you see a hydration error that you can't reproduce locally, check what your host adds to the HTML.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;I'm adding tools step by step, and I write short &lt;a href="https://toolsbench.net/blog" rel="noopener noreferrer"&gt;guides&lt;/a&gt; that explain what each tool can and can't do.&lt;/p&gt;

&lt;p&gt;If you try it, I'd love to hear what's missing or broken. Feedback from developers is the most useful kind I can get.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;&lt;a href="https://toolsbench.net" rel="noopener noreferrer"&gt;toolsbench.net&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Thanks for reading!&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
