<?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: Francesco Bertola</title>
    <description>The latest articles on DEV Community by Francesco Bertola (@ether06).</description>
    <link>https://dev.to/ether06</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%2F4237440%2F476a9f26-469b-489b-8750-202d1df9bb20.jpg</url>
      <title>DEV Community: Francesco Bertola</title>
      <link>https://dev.to/ether06</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ether06"/>
    <language>en</language>
    <item>
      <title>Building 325+ Client-Side File &amp; Config Converters in Pure Browser RAM (Zero Server Uploads)</title>
      <dc:creator>Francesco Bertola</dc:creator>
      <pubDate>Tue, 10 Nov 2026 16:01:24 +0000</pubDate>
      <link>https://dev.to/ether06/building-325-client-side-file-config-converters-in-pure-browser-ram-zero-server-uploads-589d</link>
      <guid>https://dev.to/ether06/building-325-client-side-file-config-converters-in-pure-browser-ram-zero-server-uploads-589d</guid>
      <description>&lt;p&gt;Almost every "free online file converter" uploads your &lt;code&gt;.env&lt;/code&gt;, &lt;code&gt;.json&lt;/code&gt;, &lt;code&gt;.sql&lt;/code&gt;, or &lt;code&gt;.har&lt;/code&gt; files to a remote backend server. For developers working with proprietary configs, session cookies, or game assets, that's a huge privacy risk.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;ZeroUpload&lt;/strong&gt; — a 100% client-side converter suite with &lt;strong&gt;325+ dedicated tools&lt;/strong&gt; that run entirely inside your browser's RAM using Vanilla JS, HTML5 Canvas, and the FileReader API.&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Live App:&lt;/strong&gt; &lt;a href="https://zeroupload-converters.zeroupload-converters.workers.dev/" rel="noopener noreferrer"&gt;https://zeroupload-converters.zeroupload-converters.workers.dev/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Tools Included:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://zeroupload-converters.zeroupload-converters.workers.dev/convert-json-to-lua.html" rel="noopener noreferrer"&gt;JSON to Lua / Roblox Luau Table&lt;/a&gt;&lt;/strong&gt; (and full 16x15 bidirectional matrix between JSON, CSV, YAML, XML, TOML, SQL, Markdown, ENV, INI, PHP, Python).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://zeroupload-converters.zeroupload-converters.workers.dev/har-file-analyzer-cleaner.html" rel="noopener noreferrer"&gt;HAR File Analyzer &amp;amp; Privacy Cleaner&lt;/a&gt;&lt;/strong&gt; — automatically strips &lt;code&gt;Authorization&lt;/code&gt;, &lt;code&gt;Cookie&lt;/code&gt;, &lt;code&gt;Set-Cookie&lt;/code&gt;, and &lt;code&gt;api_key&lt;/code&gt; before you share network logs.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://zeroupload-converters.zeroupload-converters.workers.dev/svg-to-react-component.html" rel="noopener noreferrer"&gt;SVG to React Component (JSX &amp;amp; TypeScript TSX)&lt;/a&gt;&lt;/strong&gt; &amp;amp; &lt;strong&gt;&lt;a href="https://zeroupload-converters.zeroupload-converters.workers.dev/svg-to-tailwind-html.html" rel="noopener noreferrer"&gt;SVG to Tailwind HTML&lt;/a&gt;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://zeroupload-converters.zeroupload-converters.workers.dev/webp-to-ico-converter.html" rel="noopener noreferrer"&gt;WEBP / PNG / SVG to Multi-Size .ICO (16x16, 32x32, 48x48, 64x64)&lt;/a&gt;&lt;/strong&gt; with client-side batch ZIP export.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once loaded, every converter works completely offline. Let me know which format you'd like me to add next!&lt;/p&gt;

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