<?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: Tyler Heinrichs</title>
    <description>The latest articles on DEV Community by Tyler Heinrichs (@tyler_heinrichs_f5e13b95d).</description>
    <link>https://dev.to/tyler_heinrichs_f5e13b95d</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%2F3707777%2F9c8d455d-6041-4597-b38b-06d7d435dad8.png</url>
      <title>DEV Community: Tyler Heinrichs</title>
      <link>https://dev.to/tyler_heinrichs_f5e13b95d</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tyler_heinrichs_f5e13b95d"/>
    <language>en</language>
    <item>
      <title>I Got Tired Of Crappy Tool Sites, So I Built My Own (120+ Free Dev Tools)</title>
      <dc:creator>Tyler Heinrichs</dc:creator>
      <pubDate>Mon, 12 Jan 2026 23:05:29 +0000</pubDate>
      <link>https://dev.to/tyler_heinrichs_f5e13b95d/i-got-tired-of-crappy-tool-sites-so-i-built-my-own-120-free-dev-tools-3hld</link>
      <guid>https://dev.to/tyler_heinrichs_f5e13b95d/i-got-tired-of-crappy-tool-sites-so-i-built-my-own-120-free-dev-tools-3hld</guid>
      <description>&lt;p&gt;If you write code all day, you probably know this dance.&lt;/p&gt;

&lt;p&gt;You’re in the middle of something, you just need to:&lt;/p&gt;

&lt;p&gt;Decode a JWT&lt;/p&gt;

&lt;p&gt;Pretty‑print some awful JSON&lt;/p&gt;

&lt;p&gt;Test a regex&lt;/p&gt;

&lt;p&gt;Convert a Unix timestamp&lt;/p&gt;

&lt;p&gt;Encode or decode a URL / Base64 string&lt;/p&gt;

&lt;p&gt;So you Google it, click the first result… and suddenly you’re dealing with:&lt;/p&gt;

&lt;p&gt;Cookie banners&lt;/p&gt;

&lt;p&gt;Newsletter pop‑ups&lt;/p&gt;

&lt;p&gt;“Create an account to continue”&lt;/p&gt;

&lt;p&gt;Four ads before you even see an input box&lt;/p&gt;

&lt;p&gt;By the time the page settles down, you’ve forgotten what you were doing.&lt;/p&gt;

&lt;p&gt;After running into that one too many times, I decided to build the kind of tool site I wished already existed. That turned into Tool Vault – a bundle of 120+ small tools that try very hard to stay out of your way:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://toolvault.co" rel="noopener noreferrer"&gt;https://toolvault.co&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;No signup. No onboarding. Just paste, get what you need, and bail.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why I Bothered Building This&lt;/strong&gt;&lt;br&gt;
This started as a “weekend thing” and quietly snowballed.&lt;/p&gt;

&lt;p&gt;I kept noticing the same problems:&lt;/p&gt;

&lt;p&gt;Simple tools felt heavy&lt;/p&gt;

&lt;p&gt;Everything wanted my email&lt;/p&gt;

&lt;p&gt;Half the sites fell apart on mobile&lt;/p&gt;

&lt;p&gt;A lot of them shipped data to a backend for no good reason&lt;/p&gt;

&lt;p&gt;So I gave myself a few rules:&lt;/p&gt;

&lt;p&gt;Keep it fast. Pages should feel instant, even on bad Wi‑Fi.&lt;/p&gt;

&lt;p&gt;Do as much as possible in the browser. If it can run locally, it does.&lt;/p&gt;

&lt;p&gt;No accounts. I don’t need one more login and I’m guessing you don’t either.&lt;/p&gt;

&lt;p&gt;Make it usable on a phone. Production issues don’t wait until you’re at your desk.&lt;/p&gt;

&lt;p&gt;Once I had a couple of tools I actually used, it was hard to stop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Some Of The Tools Developers Seem To Use Most&lt;/strong&gt;&lt;br&gt;
There are 120+ on the site now, but these are the ones people keep coming back to.&lt;/p&gt;

&lt;p&gt;🔐 &lt;strong&gt;JWT Decoder&lt;/strong&gt;&lt;br&gt;
Paste a token, see what’s inside:&lt;/p&gt;

&lt;p&gt;Header and payload decoded&lt;/p&gt;

&lt;p&gt;Claims laid out clearly&lt;/p&gt;

&lt;p&gt;All done in the browser, so you’re not sending tokens off to a random server&lt;/p&gt;

&lt;p&gt;Good for “why is this request unauthorized?” moments.&lt;/p&gt;

&lt;p&gt;🧾 &lt;strong&gt;JSON Formatter &amp;amp; Validator&lt;/strong&gt;&lt;br&gt;
For when your logs or API responses are just one giant line:&lt;/p&gt;

&lt;p&gt;Formats JSON nicely&lt;/p&gt;

&lt;p&gt;Points out syntax errors&lt;/p&gt;

&lt;p&gt;Makes it easier to spot the weird field that’s breaking everything&lt;/p&gt;

&lt;p&gt;🔤 &lt;strong&gt;HTML Entity Converter&lt;/strong&gt;&lt;br&gt;
Useful when you’re:&lt;/p&gt;

&lt;p&gt;Copying content between a CMS and templates&lt;/p&gt;

&lt;p&gt;Dealing with &amp;lt; / &amp;gt; / &amp;amp; everywhere&lt;/p&gt;

&lt;p&gt;Cleaning up stuff that’s been escaped twice&lt;/p&gt;

&lt;p&gt;You can go from entities → clean text or the other way around.&lt;/p&gt;

&lt;p&gt;🧪 &lt;strong&gt;Regex Tester&lt;/strong&gt;&lt;br&gt;
Paste some sample text, try a pattern, see matches right away.&lt;/p&gt;

&lt;p&gt;Nice when you want to experiment with:&lt;/p&gt;

&lt;p&gt;Log scraping&lt;/p&gt;

&lt;p&gt;Input validation&lt;/p&gt;

&lt;p&gt;Quick “does this pattern make sense?” checks&lt;/p&gt;

&lt;p&gt;Without touching your production code.&lt;/p&gt;

&lt;p&gt;🔁 &lt;strong&gt;Base64 Encode / Decode&lt;/strong&gt;&lt;br&gt;
For when APIs decide to Base64 everything:&lt;/p&gt;

&lt;p&gt;Encode text for headers / payloads&lt;/p&gt;

&lt;p&gt;Decode blobs to see what’s actually going on&lt;/p&gt;

&lt;p&gt;Nothing fancy, just quick and predictable.&lt;/p&gt;

&lt;p&gt;🆔 &lt;strong&gt;UUID Generator&lt;/strong&gt;&lt;br&gt;
Click a button, get UUIDs. That’s it.&lt;/p&gt;

&lt;p&gt;Handy for seed data, test IDs, or anywhere you need “random enough” identifiers without thinking about it.&lt;/p&gt;

&lt;p&gt;⏰ &lt;strong&gt;Unix Timestamp Converter&lt;/strong&gt;&lt;br&gt;
Turn 1705075200 into a real date, and back again.&lt;/p&gt;

&lt;p&gt;Good for sanity‑checking:&lt;/p&gt;

&lt;p&gt;Logs&lt;/p&gt;

&lt;p&gt;Schedules&lt;/p&gt;

&lt;p&gt;“Is this seconds or milliseconds?” mysteries&lt;/p&gt;

&lt;p&gt;🧮 &lt;strong&gt;Hash Generator&lt;/strong&gt;&lt;br&gt;
Generate MD5 / SHA‑1 / SHA‑256 / SHA‑512 hashes:&lt;/p&gt;

&lt;p&gt;Quick file / string checks&lt;/p&gt;

&lt;p&gt;Integrity checks when you’re moving data around&lt;/p&gt;

&lt;p&gt;“Does this match what the other side is sending?”&lt;/p&gt;

&lt;p&gt;Runs client‑side, so again, nothing leaves your browser.&lt;/p&gt;

&lt;p&gt;📅 &lt;strong&gt;Cron Expression Helper&lt;/strong&gt;&lt;br&gt;
Cron syntax is one of those things you know… until you don’t.&lt;/p&gt;

&lt;p&gt;Drop in an expression, and it tells you in plain language when it will actually run. Helpful when you don’t want a job firing at 3 AM every day by accident.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What I’m Trying To Do Differently&lt;/strong&gt;&lt;br&gt;
Plenty of sites offer similar tools. The whole point here isn’t that these tools are unique, it’s how they behave.&lt;/p&gt;

&lt;p&gt;A few things I care about:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Low friction&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;No login wall&lt;/p&gt;

&lt;p&gt;No “sign up to see your result”&lt;/p&gt;

&lt;p&gt;No “create a project first”&lt;/p&gt;

&lt;p&gt;Most pages put the cursor in the input box automatically so you can paste and get on with your day.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Local first&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Whenever it’s safe and reasonable:&lt;/p&gt;

&lt;p&gt;JWTs&lt;/p&gt;

&lt;p&gt;Hashing&lt;/p&gt;

&lt;p&gt;Encoding / decoding&lt;/p&gt;

&lt;p&gt;Formatting&lt;/p&gt;

&lt;p&gt;…all happen in your browser. That way, you’re not pushing sensitive strings through someone else’s backend just to inspect them.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Ads that don’t punch you in the face&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There are ads (servers aren’t free), but the goal is:&lt;/p&gt;

&lt;p&gt;Nothing over the tool itself&lt;/p&gt;

&lt;p&gt;Nothing between input and output&lt;/p&gt;

&lt;p&gt;Nothing that makes the page unusable on mobile&lt;/p&gt;

&lt;p&gt;You should be able to actually use the thing on a small screen.&lt;/p&gt;

&lt;p&gt;Real Situations Where It Helps&lt;br&gt;
A few real‑world moments this was built for:&lt;/p&gt;

&lt;p&gt;You’re on‑call, someone pastes a JWT or timestamp into Slack, and you’re checking it on your phone.&lt;/p&gt;

&lt;p&gt;A third‑party API is double‑encoding things and you’re trying to untangle Base64 + HTML entities + weird JSON.&lt;/p&gt;

&lt;p&gt;You’re working with data you’d rather not send to a random server.&lt;/p&gt;

&lt;p&gt;You just want to check a cron string or hash and get back to your editor.&lt;/p&gt;

&lt;p&gt;None of that is glamorous work. But it’s the glue that keeps everything else moving.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Want To Try It?&lt;/strong&gt;&lt;br&gt;
If you want a new set of “oh yeah, that site” tools to keep in your back pocket:&lt;/p&gt;

&lt;p&gt;👉 Tool Vault — 120+ Free Tools &amp;amp; Calculators&lt;br&gt;
&lt;a href="https://toolvault.co" rel="noopener noreferrer"&gt;https://toolvault.co&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pick a tool, see if it fits into your workflow. If it saves you a few tabs and a bit of frustration, then it’s doing its job.&lt;/p&gt;

&lt;p&gt;I’d Genuinely Love Feedback&lt;br&gt;
If you do give it a spin, I’d be interested in:&lt;/p&gt;

&lt;p&gt;Which tools you’d actually bookmark&lt;/p&gt;

&lt;p&gt;Anything annoying or confusing in the UI&lt;/p&gt;

&lt;p&gt;Tools you wish existed that aren’t there yet&lt;/p&gt;

&lt;p&gt;I’m still treating this as a long‑term side project, so honest feedback from other devs is way more useful than me guessing in a vacuum.&lt;/p&gt;

&lt;p&gt;Thanks for reading—and if Tool Vault quietly saves you 30 seconds some night while you’re debugging something annoying, that’s pretty much the whole point.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>tutorial</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
