<?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: bore.ddev</title>
    <description>The latest articles on DEV Community by bore.ddev (@bored_dev).</description>
    <link>https://dev.to/bored_dev</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%2F2100438%2F4d78a0f6-2581-4e8f-9a07-956d56b63324.png</url>
      <title>DEV Community: bore.ddev</title>
      <link>https://dev.to/bored_dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bored_dev"/>
    <language>en</language>
    <item>
      <title>Stop Pasting Your JWT Tokens Into Random Websites</title>
      <dc:creator>bore.ddev</dc:creator>
      <pubDate>Sat, 27 Jun 2026 14:33:40 +0000</pubDate>
      <link>https://dev.to/bored_dev/stop-pasting-your-jwt-tokens-into-random-websites-3ij</link>
      <guid>https://dev.to/bored_dev/stop-pasting-your-jwt-tokens-into-random-websites-3ij</guid>
      <description>&lt;p&gt;I built a 21-tool developer toolkit that runs entirely in your browser. No servers. No sign-ups. No data leaving your machine. Ever. Here's why, and here's what it does.&lt;/p&gt;




&lt;p&gt;You're debugging a broken API response at 11 PM. You've got a JWT token in your clipboard, a JSON payload that won't parse, and a CSS-to-Tailwind conversion you've been putting off since Tuesday.&lt;/p&gt;

&lt;p&gt;So you open a random "online JSON formatter" from Google. Paste your JWT into a text box labeled "Enter your token here." Click "Decode."&lt;/p&gt;

&lt;p&gt;Somewhere, on some server you'll never see, your token is now stored. Along with the 200 other things you've pasted into that tool this month.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That's the problem I kept running into.&lt;/strong&gt; And it's not just JWT tokens. It's API keys in Base64, test data in JSON, regex patterns you don't want logged, passwords you definitely shouldn't be typing into a random input field.&lt;/p&gt;

&lt;p&gt;So I built something different.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is DevClat?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;DevClat is a free, open, client-side developer toolkit with 21 tools&lt;/strong&gt; — and every single one runs in your browser. No backend. No API calls. No "we take your privacy seriously" banner over a tracking script.&lt;/p&gt;

&lt;p&gt;It's a single-page React app. You open it, use it, close it. Your data never touches a server because there is no server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://devclat.vercel.app" rel="noopener noreferrer"&gt;Try the DevClat Developer Toolkit →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Tools (All 21 of Them)
&lt;/h2&gt;

&lt;p&gt;I didn't build 21 "me too" utilities. Each tool exists because I personally needed it and got tired of context-switching between 15 browser tabs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Generation
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Mock Data Generator&lt;/strong&gt; — The one that started it all. Pick a preset (Users, Products, Orders, Addresses, Transactions, Posts, Employees, Invoices, Reviews) or build a custom schema with any field type. Output as JSON, CSV, or SQL. Powered by faker.js, running entirely client-side. Generate 100 rows of realistic fake data without sending a single byte over the network.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lorem Ipsum Generator&lt;/strong&gt; — Not the usual "lorem ipsum dolor sit amet" generator. Configure paragraph count, copy with one click, done. You've got bigger things to worry about than placeholder text.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;JSON Formatter &amp;amp; Validator&lt;/strong&gt; — Paste broken, minified, or malformed JSON. Get instant pretty-printing, syntax highlighting, and error line highlighting. Collapsible tree view for large payloads. One-click copy. No "Loading..." spinners, no "Your JSON has been saved for analytics."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Text Diff Tool&lt;/strong&gt; — Git-diff style comparison without opening a terminal. Side-by-side view with line-level and word-level highlighting. Unified, split, and words output modes. A statistics panel that actually tells you what changed. Perfect for comparing config files, API responses, or that SQL migration you're afraid to run.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Regex Tester&lt;/strong&gt; — Type a pattern, see matches highlighted in real-time. Toggle flags (g, i, m, s, u) without rewriting your regex. Capture groups displayed inline. No more running &lt;code&gt;grep&lt;/code&gt; in the terminal just to test if your email regex actually works.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;HTML Preview Editor&lt;/strong&gt; — Side-by-side HTML/CSS/JS editor with instant live preview. Full-page preview mode for when you need to see what your component actually looks like without deploying.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Markdown Preview&lt;/strong&gt; — Write Markdown on the left, see rendered HTML on the right. Real-time. Supports tables, code blocks, headings, links. Zero friction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CSS Minifier&lt;/strong&gt; — Paste CSS, get compressed output. Side-by-side size comparison so you can feel smug about those extra 2KB you just saved.&lt;/p&gt;

&lt;h3&gt;
  
  
  Converters
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;CSS to Tailwind Converter&lt;/strong&gt; — This one's special. Paste raw CSS, get Tailwind utility classes. 200+ property mappings, dark mode support, arbitrary value handling, color palette resolution, and &lt;code&gt;@media&lt;/code&gt; block support. Bidirectional — paste Tailwind, get CSS back. I use this daily.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Base64 Encoder/Decoder&lt;/strong&gt; — Real-time conversion. Full Unicode support. One-click copy. Encoding &lt;code&gt;eyJhbGciOiJIUzI1NiJ9&lt;/code&gt; shouldn't require a three-step process.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;URL Encoder/Decoder&lt;/strong&gt; — Encode and decode URL components instantly. Handles query parameters, path segments, and special characters. Works in both directions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JWT Token Decoder&lt;/strong&gt; — Paste any JWT, see the header, payload, and signature decoded instantly. Check expiration, algorithm, and claims. Nothing leaves your browser. This is the tool I wish existed three years ago.&lt;/p&gt;

&lt;h3&gt;
  
  
  Design Tools
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;CSS Gradient Builder&lt;/strong&gt; — Linear, radial, and conic gradients with draggable color stops, angle control, and live preview. Copy the CSS output. No more guessing what &lt;code&gt;linear-gradient(135deg, #667eea 0%, #764ba2 100%)&lt;/code&gt; actually looks like.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Box Shadow Generator&lt;/strong&gt; — Multi-layer support, inset mode, blur, spread, and offset. Live preview with copy-ready CSS output. Build complex shadow systems without opening Figma.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Color Contrast Checker&lt;/strong&gt; — WCAG 2.1 AA and AAA compliance checking. Enter foreground and background colors, get instant pass/fail results. Accessibility compliance without the accessibility audit.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;QR Code Generator&lt;/strong&gt; — Enter text or URL, get a downloadable PNG. Canvas-based rendering, no watermarks. Works offline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Password Generator&lt;/strong&gt; — Cryptographically strong passwords with configurable length, character types, and a real-time strength meter. The kind of password generator that actually generates &lt;em&gt;strong&lt;/em&gt; passwords.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UUID Generator&lt;/strong&gt; — Batch generate up to 100 UUID v4 identifiers. Standard (hyphenated) or compact format. One click, done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Timestamp Converter&lt;/strong&gt; — Unix timestamps to human-readable dates and back. Supports seconds and milliseconds, ISO 8601, and custom date formats. Finally, a timestamp tool that doesn't make you count zeros.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Flexbox &amp;amp; Grid Playground&lt;/strong&gt; — Drag and drop elements to build flexbox and grid layouts visually. See the Tailwind output update in real-time as you adjust gaps and alignment. Learn CSS layout without reading MDN for the 47th time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Text Tokenizer&lt;/strong&gt; — Count tokens, words, characters, and lines. Visual token breakdown shows exactly how your text gets tokenized. Essential for LLM prompt engineering and staying within context windows.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Interactive Terminal (My Favorite Feature)
&lt;/h2&gt;

&lt;p&gt;Here's something you won't find in any other web-based dev tool: &lt;strong&gt;a working terminal.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;DevClat has a mock CLI built right into the homepage. Type &lt;code&gt;help&lt;/code&gt; to see available commands. Type &lt;code&gt;open generator&lt;/code&gt; to switch tools. Type &lt;code&gt;list&lt;/code&gt; to see everything available.&lt;/p&gt;

&lt;p&gt;It auto-types a demo command when you load the page — &lt;code&gt;devclat mock-data --users 3 --format json&lt;/code&gt; — and shows you the output in real-time with syntax-highlighted JSON.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This isn't a gimmick.&lt;/strong&gt; It's a deliberate UX choice. Instead of forcing you to click through a grid of icons to find what you need, the terminal gives keyboard-first users a fast, predictable way to navigate. Type a command, get a result. No hunting, no scrolling.&lt;/p&gt;

&lt;p&gt;Click "Try CLI" and the terminal focuses, auto-types &lt;code&gt;help&lt;/code&gt;, and shows you exactly how to interact with it.&lt;/p&gt;

&lt;h2&gt;
  
  
  How It's Built
&lt;/h2&gt;

&lt;p&gt;I'm not going to pretend this is rocket science. The architecture is deliberately simple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;React 19&lt;/strong&gt; for the UI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vite 6&lt;/strong&gt; for the build&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tailwind CSS 4&lt;/strong&gt; for styling&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;faker.js&lt;/strong&gt; for mock data generation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;qrcode&lt;/strong&gt; library for QR code rendering&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every tool is a standalone component. Navigation is managed via a single &lt;code&gt;activeTool&lt;/code&gt; state variable — no client-side router, no URL history, no complex state management. Switching tools is instant because everything is already loaded.&lt;/p&gt;

&lt;p&gt;The theme system uses CSS variables synced with a JavaScript constants file. Dark mode is default. Light mode works. Both are clean.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The key insight:&lt;/strong&gt; you don't need a backend for developer tools. Every tool I listed above can be implemented entirely with JavaScript string manipulation, DOM APIs, and browser-native features. The moment you add a server, you add latency, complexity, privacy concerns, and a maintenance burden. I chose none of those.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;There are hundreds of "free online developer tools" out there. Most of them are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ad-supported&lt;/strong&gt; — banner ads, pop-ups, and "disable your ad blocker" notices&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Server-dependent&lt;/strong&gt; — your data gets sent somewhere, processed, and (maybe) deleted&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tracker-heavy&lt;/strong&gt; — analytics scripts, fingerprinting, and retargeting pixels&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline-hostile&lt;/strong&gt; — try using them on a plane or a spotty coffee shop WiFi&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;DevClat is none of these things. It's a static site. There's nothing to track because there's nothing to send. It works offline because there's nothing to fetch. It's fast because there's nothing to wait for.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Privacy isn't a feature. It's the architecture.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;I'm adding more tools. The architecture scales trivially — create a component, add it to the tool list, done. Some ideas in the pipeline:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CSS variable inspector&lt;/li&gt;
&lt;li&gt;API response mock server (local, via Service Worker)&lt;/li&gt;
&lt;li&gt;Diff viewer for entire files&lt;/li&gt;
&lt;li&gt;More data presets for the mock generator&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you've got ideas, or if you want to contribute, the project is built to be extended.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;No sign-up. No "free trial." No credit card. Just tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://devclat.vercel.app" rel="noopener noreferrer"&gt;Open the Free DevClat Toolkit →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Paste a JWT token. Generate some fake data. Convert CSS to Tailwind. Build a gradient. Check a password's strength. Whatever you need — it's all client-side, all private, all free.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Built with React, Vite, and a deep distrust of random web utilities that ask you to paste your API keys.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>react</category>
      <category>security</category>
    </item>
  </channel>
</rss>
