<?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: Kiel Malpass</title>
    <description>The latest articles on DEV Community by Kiel Malpass (@kiel_malpass_62f9135724e0).</description>
    <link>https://dev.to/kiel_malpass_62f9135724e0</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3764741%2Fb333e3a7-a343-4d1e-b76d-412bea8f82c2.jpg</url>
      <title>DEV Community: Kiel Malpass</title>
      <link>https://dev.to/kiel_malpass_62f9135724e0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kiel_malpass_62f9135724e0"/>
    <language>en</language>
    <item>
      <title>I Built 25 Free Developer Tools That Run Entirely in Your Browser</title>
      <dc:creator>Kiel Malpass</dc:creator>
      <pubDate>Tue, 10 Feb 2026 16:53:50 +0000</pubDate>
      <link>https://dev.to/kiel_malpass_62f9135724e0/i-built-25-free-developer-tools-that-run-entirely-in-your-browser-4bak</link>
      <guid>https://dev.to/kiel_malpass_62f9135724e0/i-built-25-free-developer-tools-that-run-entirely-in-your-browser-4bak</guid>
      <description>&lt;p&gt;Last year I caught myself doing something dumb. I was debugging an authentication issue and pasted a production JWT token into the first online decoder Google gave me. The token had user emails, roles, and session data in its claims. I sent all of that to a server I knew nothing about.&lt;/p&gt;

&lt;p&gt;That bugged me. So I started building &lt;a href="https://alldevbox.com" rel="noopener noreferrer"&gt;AllDevBox&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem With Online Dev Tools
&lt;/h2&gt;

&lt;p&gt;We all use them. JSON formatters, base64 encoders, regex testers, SQL formatters. They're everywhere, and most of them work fine. But almost all of them send your input to a server.&lt;/p&gt;

&lt;p&gt;For a lorem ipsum generator, who cares. But for a JWT decoder? A SQL formatter that sees your schema? A hash generator where you're testing password inputs? That's a different conversation.&lt;/p&gt;

&lt;p&gt;I'm not saying these tools are malicious. Most aren't. But the question is simple: if you can get the same result without your data leaving the browser, why wouldn't you?&lt;/p&gt;

&lt;h2&gt;
  
  
  So I Built 25 Client-Side Tools
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://alldevbox.com" rel="noopener noreferrer"&gt;AllDevBox&lt;/a&gt; is a collection of 25 developer tools that run entirely in your browser. After the initial page load, zero network requests. Your data stays on your machine.&lt;/p&gt;

&lt;p&gt;Here's the full list:&lt;/p&gt;

&lt;h3&gt;
  
  
  Formatters &amp;amp; Converters
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/json-formatter/" rel="noopener noreferrer"&gt;JSON Formatter&lt;/a&gt; — prettify and validate JSON&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/sql-formatter/" rel="noopener noreferrer"&gt;SQL Formatter&lt;/a&gt; — format SQL queries&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/css-minifier/" rel="noopener noreferrer"&gt;CSS Minifier&lt;/a&gt; — minify CSS&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/json-to-csv/" rel="noopener noreferrer"&gt;JSON to CSV&lt;/a&gt; — convert JSON arrays to CSV&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/yaml-to-json/" rel="noopener noreferrer"&gt;YAML to JSON&lt;/a&gt; — convert between YAML and JSON&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/markdown-preview/" rel="noopener noreferrer"&gt;Markdown Preview&lt;/a&gt; — live markdown rendering&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/svg-to-png/" rel="noopener noreferrer"&gt;SVG to PNG&lt;/a&gt; — convert SVG files to PNG in the browser&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Encoding &amp;amp; Hashing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://alldevbox.com/tools/base64/" rel="noopener noreferrer"&gt;Base64 Encoder/Decoder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://alldevbox.com/tools/url-encode/" rel="noopener noreferrer"&gt;URL Encoder/Decoder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://alldevbox.com/tools/html-encoder/" rel="noopener noreferrer"&gt;HTML Encoder/Decoder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/hash-generator/" rel="noopener noreferrer"&gt;Hash Generator&lt;/a&gt; — MD5, SHA-1, SHA-256, SHA-512&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/jwt-decoder/" rel="noopener noreferrer"&gt;JWT Decoder&lt;/a&gt; — decode and inspect JWT tokens&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Generators
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/uuid-generator/" rel="noopener noreferrer"&gt;UUID Generator&lt;/a&gt; — v4 UUIDs&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/password-generator/" rel="noopener noreferrer"&gt;Password Generator&lt;/a&gt; — configurable secure passwords&lt;/li&gt;
&lt;li&gt;&lt;a href="https://alldevbox.com/tools/lorem-ipsum/" rel="noopener noreferrer"&gt;Lorem Ipsum Generator&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Testing &amp;amp; Reference
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/regex-tester/" rel="noopener noreferrer"&gt;Regex Tester&lt;/a&gt; — test patterns with live matching&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/diff-checker/" rel="noopener noreferrer"&gt;Diff Checker&lt;/a&gt; — compare text side by side&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/cron-parser/" rel="noopener noreferrer"&gt;Cron Parser&lt;/a&gt; — human-readable cron explanations&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/http-status-codes/" rel="noopener noreferrer"&gt;HTTP Status Codes&lt;/a&gt; — quick reference&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Utilities
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/timestamp-converter/" rel="noopener noreferrer"&gt;Timestamp Converter&lt;/a&gt; — Unix ↔ human dates&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/color-picker/" rel="noopener noreferrer"&gt;Color Picker&lt;/a&gt; — HEX, RGB, HSL&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/chmod-calculator/" rel="noopener noreferrer"&gt;Chmod Calculator&lt;/a&gt; — visual Unix permissions&lt;/li&gt;
&lt;li&gt;&lt;a href="https://alldevbox.com/tools/git-command-generator/" rel="noopener noreferrer"&gt;Git Command Generator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://alldevbox.com/tools/ip-lookup/" rel="noopener noreferrer"&gt;IP Lookup&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://alldevbox.com/tools/text-case-converter/" rel="noopener noreferrer"&gt;Text Case Converter&lt;/a&gt; — camelCase, snake_case, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Technical Decisions
&lt;/h2&gt;

&lt;p&gt;I made a few deliberate choices that I think are worth talking about.&lt;/p&gt;

&lt;h3&gt;
  
  
  No Frameworks
&lt;/h3&gt;

&lt;p&gt;Every tool is vanilla JavaScript. No React, no Vue, no Svelte. This wasn't ideological — it was practical. Each tool is a self-contained page with a textarea and some logic. Adding a framework would mean adding a build step, a bundle, and loading time that users would feel.&lt;/p&gt;

&lt;p&gt;The result: every tool loads almost instantly. There's no hydration delay, no JavaScript bundle to parse. The page is ready when it renders.&lt;/p&gt;

&lt;h3&gt;
  
  
  Hugo for Static Generation
&lt;/h3&gt;

&lt;p&gt;I use &lt;a href="https://gohugo.io/" rel="noopener noreferrer"&gt;Hugo&lt;/a&gt; for static site generation. With 25 tools that share a common layout, Hugo's templating keeps things DRY. Each tool is a content file with its own JavaScript, and Hugo handles the rest.&lt;/p&gt;

&lt;p&gt;Hugo also builds the entire site in under a second, which makes development fast.&lt;/p&gt;

&lt;h3&gt;
  
  
  No Build Pipeline
&lt;/h3&gt;

&lt;p&gt;There's no webpack, no Vite, no esbuild. The JavaScript files are written as plain ES modules or inline scripts. This keeps the project simple enough that anyone can clone it, edit a tool, and see the result without installing anything.&lt;/p&gt;

&lt;h3&gt;
  
  
  No Analytics
&lt;/h3&gt;

&lt;p&gt;No Google Analytics, no Plausible, no tracking pixels. I genuinely don't know how many people use the site, and that's fine. The tradeoff of adding tracking to a tool that promises privacy felt wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Learned
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Vanilla JS is underrated.&lt;/strong&gt; The web platform has gotten really good. Between the Web Crypto API (for hashing), the Clipboard API, and modern DOM methods, you can build useful tools without importing a single dependency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Consistency is hard.&lt;/strong&gt; Building one tool is easy. Making 25 tools feel like they belong together — same interactions, same layout, same error handling — takes real effort.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scope creep is fun.&lt;/strong&gt; I started with 5 tools I used daily. Then "just one more" happened 20 times. Each tool is small enough that adding one feels trivial, but the collection keeps growing.&lt;/p&gt;

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

&lt;p&gt;I have a list of tools I want to add — a JSON schema validator, a cURL to code converter, a color contrast checker. If you have ideas, I'd genuinely like to hear them.&lt;/p&gt;

&lt;p&gt;The site is free and I plan to keep it that way. No accounts, no paywalls, no "premium tier."&lt;/p&gt;

&lt;p&gt;Check it out: &lt;a href="https://alldevbox.com" rel="noopener noreferrer"&gt;https://alldevbox.com&lt;/a&gt;&lt;/p&gt;

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