<?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: Chris</title>
    <description>The latest articles on DEV Community by Chris (@cyzorcreations).</description>
    <link>https://dev.to/cyzorcreations</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%2F4101109%2Fd34c6122-8a0f-4610-b3c6-8f15c1233f24.png</url>
      <title>DEV Community: Chris</title>
      <link>https://dev.to/cyzorcreations</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/cyzorcreations"/>
    <language>en</language>
    <item>
      <title>Every "free online converter" uploads your file to a stranger's server. I got tired of it.</title>
      <dc:creator>Chris</dc:creator>
      <pubDate>Sun, 30 Aug 2026 07:45:50 +0000</pubDate>
      <link>https://dev.to/cyzorcreations/every-free-online-converter-uploads-your-file-to-a-strangers-server-i-got-tired-of-it-epi</link>
      <guid>https://dev.to/cyzorcreations/every-free-online-converter-uploads-your-file-to-a-strangers-server-i-got-tired-of-it-epi</guid>
      <description>&lt;p&gt;Here's a thing most people never think about: when you drag a PDF into a "free online merge tool," that file leaves your computer. It travels to a server you've never heard of, owned by a company you didn't check, in a country you didn't pick. Your contract, your tax return, your kid's medical form — uploaded, processed, and &lt;em&gt;maybe&lt;/em&gt; deleted. The privacy policy will say "we delete files after an hour." You have no way to know if that's true, and no recourse if it isn't.&lt;/p&gt;

&lt;p&gt;For a task that is, computationally, trivial. Merging two PDFs is something your laptop can do in the time it takes the upload progress bar to appear.&lt;/p&gt;

&lt;p&gt;That gap — between how simple the task is and how much of your data these tools quietly harvest to do it — is what got under my skin. So I started rebuilding the ones I used most, with a single rule: the file never leaves the browser.&lt;/p&gt;

&lt;h3&gt;
  
  
  "Client-side" isn't a marketing word here
&lt;/h3&gt;

&lt;p&gt;Modern browsers can do a startling amount on their own. The File API reads your file into memory. Libraries like pdf-lib manipulate a PDF in JavaScript. The Canvas and MediaRecorder APIs capture and encode video. None of it needs a round trip to a server, because the browser tab &lt;em&gt;is&lt;/em&gt; the computer doing the work.&lt;/p&gt;

&lt;p&gt;So the &lt;a href="https://cyzorcreations.com/tools/pdf" rel="noopener noreferrer"&gt;PDF tool&lt;/a&gt; merges, splits, rotates, and converts without a single network request after the page loads. Same idea for the &lt;a href="https://cyzorcreations.com/tools/screen-recorder" rel="noopener noreferrer"&gt;screen recorder&lt;/a&gt; — it uses the native &lt;code&gt;getDisplayMedia&lt;/code&gt; and &lt;code&gt;MediaRecorder&lt;/code&gt; APIs to capture and save an MP4 locally, so there's no 5-minute cap, no watermark, and no upload, because there's nowhere to upload &lt;em&gt;to&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Here's the part I like best, and the part that makes this claim different from every "we respect your privacy" banner: &lt;strong&gt;you can verify it yourself in about ten seconds.&lt;/strong&gt; Open your browser's DevTools, switch to the Network tab, and use the tool. Process a file, record your screen, whatever. Watch the request list. It stays empty. There's no trust required — the proof is right there in the browser you already have open.&lt;/p&gt;

&lt;p&gt;Try doing that on a typical online converter. You'll watch your file go up.&lt;/p&gt;

&lt;h3&gt;
  
  
  It's not just about privacy — it's faster and it works offline
&lt;/h3&gt;

&lt;p&gt;The privacy angle is the reason I started, but the practical wins turned out to be just as good:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No upload/download round trip.&lt;/strong&gt; A 40 MB PDF that takes 30 seconds to upload and re-download is instant when the work happens in place.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No file-size limits or queues.&lt;/strong&gt; There's no server to overload, so there's no "upgrade to Pro for files over 10 MB."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It works on a plane.&lt;/strong&gt; Once the page has loaded, you can kill your wifi and everything still runs. Try that with a cloud tool.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Even the boring developer stuff benefits. A &lt;a href="https://cyzorcreations.com/tools/csv-json" rel="noopener noreferrer"&gt;CSV-to-JSON converter&lt;/a&gt; has no business seeing your data — half the time the CSV I'm converting is a customer export I'm not allowed to paste into a random website in the first place. Doing it locally isn't a nice-to-have there; it's the only version I can actually use at work.&lt;/p&gt;

&lt;h3&gt;
  
  
  The takeaway isn't "use my tools"
&lt;/h3&gt;

&lt;p&gt;It's this: for any task that only touches &lt;em&gt;your&lt;/em&gt; data and doesn't genuinely need a server — file conversion, formatting, encoding, resizing, recording — the correct default is client-side. If a tool for one of those jobs is uploading your file, ask why. Usually the answer is "so we can show you ads and rate-limit you into a subscription," not "because it was technically necessary."&lt;/p&gt;

&lt;p&gt;The web platform got good enough to do this stuff locally years ago. More tools should.&lt;/p&gt;

&lt;p&gt;I've been slowly rebuilding the ones I reach for at &lt;a href="https://cyzorcreations.com/tools" rel="noopener noreferrer"&gt;cyzorcreations.com/tools&lt;/a&gt; — all free, all in the browser, none of them ask for an account. But honestly, whether you use those or someone else's, the habit worth building is the same: check the Network tab before you upload your file to something. You'll be surprised how often you don't have to.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>privacy</category>
    </item>
  </channel>
</rss>
