<?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: Abir Munjal</title>
    <description>The latest articles on DEV Community by Abir Munjal (@abir_munjal_41e62985799c3).</description>
    <link>https://dev.to/abir_munjal_41e62985799c3</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%2F4131104%2Ffa6efa2e-66cf-4e82-bce7-c577c3a7c2d6.png</url>
      <title>DEV Community: Abir Munjal</title>
      <link>https://dev.to/abir_munjal_41e62985799c3</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abir_munjal_41e62985799c3"/>
    <language>en</language>
    <item>
      <title>I built 16 free browser-based tools so I'd stop opening 16 different websites</title>
      <dc:creator>Abir Munjal</dc:creator>
      <pubDate>Mon, 21 Sep 2026 08:10:02 +0000</pubDate>
      <link>https://dev.to/abir_munjal_41e62985799c3/i-built-16-free-browser-based-tools-so-id-stop-opening-16-different-websites-id1</link>
      <guid>https://dev.to/abir_munjal_41e62985799c3/i-built-16-free-browser-based-tools-so-id-stop-opening-16-different-websites-id1</guid>
      <description>&lt;p&gt;CollateKit — collatekit.com&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fozzx826rgq9au6o71we8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fozzx826rgq9au6o71we8.png" alt="CollateKit homepage showing free browser-based developer tools" width="800" height="479"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I kept doing the same thing: need to format some JSON, open a random site, squint at the ads, get my output, close the tab. Repeat for base64, repeat for regex, repeat for UUID generation. So I built one site with all of them.&lt;/p&gt;

&lt;h3&gt;
  
  
  What it does
&lt;/h3&gt;

&lt;p&gt;16 tools, one place, everything runs client-side:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;JSON Formatter &amp;amp; Validator&lt;/strong&gt; — paste messy JSON, get it readable&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regex Tester&lt;/strong&gt; — live match highlighting as you type&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Base64 Encoder/Decoder&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;UUID Generator&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Color Converter&lt;/strong&gt; — HEX/RGB/HSL, back and forth&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Word Frequency Counter&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Duplicate Line Remover&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Random Line Picker&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Markdown to HTML Converter&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;...and a handful more text-manipulation tools I kept needing myself&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdiqfxwdb1lvcvn4oimpv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fdiqfxwdb1lvcvn4oimpv.png" alt="CollateKit homepage showing free browser-based developer tools" width="800" height="479"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Why client-side matters here
&lt;/h3&gt;

&lt;p&gt;Nothing you paste gets sent anywhere. Your JSON, your regex, your text — it's processed in your browser and never touches a server. For tools like this, that's not a privacy feature I'm marketing after the fact, it's just how it should work. There's no reason a JSON formatter needs your data.&lt;/p&gt;

&lt;h3&gt;
  
  
  How it's built
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Astro&lt;/strong&gt; for the site — I wanted static, fast-loading pages with zero JS shipped unless a tool actually needs it&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind&lt;/strong&gt; for styling&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cloudflare Pages&lt;/strong&gt; for hosting&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Astro's island architecture turned out to be a good fit for "16 independent tools" — each one only loads the JS it needs, so the JSON formatter isn't shipping code for the color converter.&lt;/p&gt;

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

&lt;p&gt;Still adding tools based on what I personally keep needing. If there's a text/dev utility you reach for constantly and wish existed without ads plastered over it, tell me — genuinely taking requests.&lt;/p&gt;

&lt;p&gt;collatekit.com — free, no sign-up, no data leaves your browser.&lt;/p&gt;

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