<?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: xueboyang1985</title>
    <description>The latest articles on DEV Community by xueboyang1985 (@xueboyang1985).</description>
    <link>https://dev.to/xueboyang1985</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%2F3959605%2F8aaaac65-d1da-4270-b11d-63586ec2e2be.png</url>
      <title>DEV Community: xueboyang1985</title>
      <link>https://dev.to/xueboyang1985</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/xueboyang1985"/>
    <language>en</language>
    <item>
      <title>How to Build a Browser Tool and Sell It on Gumroad — A Complete Guide</title>
      <dc:creator>xueboyang1985</dc:creator>
      <pubDate>Thu, 04 Jun 2026 09:37:32 +0000</pubDate>
      <link>https://dev.to/xueboyang1985/how-to-build-a-browser-tool-and-sell-it-on-gumroad-a-complete-guide-h2o</link>
      <guid>https://dev.to/xueboyang1985/how-to-build-a-browser-tool-and-sell-it-on-gumroad-a-complete-guide-h2o</guid>
      <description>&lt;p&gt;I built 24 browser-based tools. Here is the complete technical guide for building your own and selling PRO licenses on Gumroad.&lt;/p&gt;

&lt;h2&gt;
  
  
  Architecture: One HTML File + GitHub Pages + Gumroad
&lt;/h2&gt;

&lt;p&gt;No frameworks, no backend, no monthly costs. One HTML file on GitHub Pages. Gumroad handles payments.&lt;/p&gt;

&lt;h2&gt;
  
  
  The PRO Flow
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;User hits free limit → PRO modal&lt;/li&gt;
&lt;li&gt;Buy button → Gumroad popup (&lt;code&gt;window.open&lt;/code&gt;, NOT &lt;code&gt;target=_blank&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Payment → Gumroad &lt;code&gt;postMessage&lt;/code&gt; with license key&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;message&lt;/code&gt; listener catches key&lt;/li&gt;
&lt;li&gt;Key verified via Gumroad API (&lt;code&gt;/v2/licenses/verify&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;localStorage saves PRO (in try-catch!)&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Gotchas From 24 Tools
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;postMessage security:&lt;/strong&gt; Check &lt;code&gt;d.success &amp;amp;&amp;amp; d.purchase&lt;/code&gt;, never just &lt;code&gt;d.license_key&lt;/code&gt;. I had this bug in 17 files.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;localStorage:&lt;/strong&gt; Wrap in &lt;code&gt;try-catch&lt;/code&gt;. Uncaught throws crash the whole page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CDN scripts:&lt;/strong&gt; Always &lt;code&gt;&amp;lt;script defer&amp;gt;&lt;/code&gt;. Without it, slow CDN blocks rendering.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gumroad publish:&lt;/strong&gt; curl returns false every time. Use PowerShell.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Buy button:&lt;/strong&gt; Popup connects the page to Gumroad. Redirect breaks &lt;code&gt;postMessage&lt;/code&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Packed 5 templates with everything pre-configured: &lt;a href="https://xuebo8.gumroad.com/l/browser-tools-starter-kit" rel="noopener noreferrer"&gt;Browser Tools Starter Kit ($19)&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>I Built 24 Free Browser Tools in 6 Weeks — Here's What I'd Do Differently</title>
      <dc:creator>xueboyang1985</dc:creator>
      <pubDate>Sun, 31 May 2026 00:44:53 +0000</pubDate>
      <link>https://dev.to/xueboyang1985/i-built-24-free-browser-tools-in-6-weeks-heres-what-id-do-differently-5580</link>
      <guid>https://dev.to/xueboyang1985/i-built-24-free-browser-tools-in-6-weeks-heres-what-id-do-differently-5580</guid>
      <description>&lt;p&gt;Six weeks ago, I had zero browser tools. Now I have 24. Revenue: $0.&lt;/p&gt;

&lt;p&gt;This is not a success story. It's a reality check on what happens when you focus on building and ignore distribution.&lt;/p&gt;

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

&lt;p&gt;24 tools, each a single HTML file with vanilla JavaScript. Hosted on GitHub Pages. No server, no database, no frameworks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/free-browser-tools/" rel="noopener noreferrer"&gt;Hub: 24 Free Browser Tools&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The tools span four categories:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PDF &amp;amp; Document:&lt;/strong&gt; Merge, split, convert, extract — 7 PDF tools&lt;br&gt;
&lt;strong&gt;Image:&lt;/strong&gt; Compress, resize, crop, AI background remover, color picker&lt;br&gt;
&lt;strong&gt;Developer:&lt;/strong&gt; JSON-CSV converter, text diff, base64 encoder, UUID generator, markdown editor&lt;br&gt;
&lt;strong&gt;Productivity:&lt;/strong&gt; Password generator, QR codes, timestamp converter, case converter, word counter&lt;/p&gt;

&lt;p&gt;All running client-side. Your files never leave your browser.&lt;/p&gt;
&lt;h2&gt;
  
  
  What Went Right
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Single HTML File Architecture
&lt;/h3&gt;

&lt;p&gt;No build step. No npm install. No &lt;code&gt;node_modules&lt;/code&gt;. Each tool is one file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;&lt;span class="c"&gt;/* all CSS inline */&lt;/span&gt;&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
  &lt;span class="c"&gt;&amp;lt;!-- all HTML --&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
  &lt;span class="c1"&gt;// all JavaScript&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This means: instant deploys, zero dependencies, trivially auditable. Users can view source and confirm nothing shady is happening.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Browser APIs Are Incredible Now
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Canvas API&lt;/strong&gt; — Image compression, resize, crop. All at native speed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Web Crypto API&lt;/strong&gt; — &lt;code&gt;crypto.getRandomValues()&lt;/code&gt; for true-random UUIDs and passwords.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WebAssembly&lt;/strong&gt; — Runs a full AI neural network for background removal. ~5 seconds per image, no cloud GPU.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EyeDropper API&lt;/strong&gt; — Pick any color from your screen.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I didn't need a single server-side dependency. The browser IS the platform.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Free Hosting That Scales
&lt;/h3&gt;

&lt;p&gt;GitHub Pages: free, global CDN, auto-deploys on &lt;code&gt;git push&lt;/code&gt;. Even if 100,000 people use a tool simultaneously, GitHub's CDN handles it without me paying a cent.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Went Wrong
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. I Built Too Many Tools
&lt;/h3&gt;

&lt;p&gt;24 tools is too many. Each one needs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A blog post for SEO&lt;/li&gt;
&lt;li&gt;A Gumroad product listing&lt;/li&gt;
&lt;li&gt;Cross-links to other tools&lt;/li&gt;
&lt;li&gt;Testing across browsers&lt;/li&gt;
&lt;li&gt;Bug fixes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's 24 x 5 = 120 tasks just for maintenance, before any promotion.&lt;/p&gt;

&lt;p&gt;If I could start over: build 5 really good tools instead of 24 decent ones.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Distribution Is 10x Harder Than Building
&lt;/h3&gt;

&lt;p&gt;Coding 24 tools took 6 weeks. Getting anyone to use them? That's the real work.&lt;/p&gt;

&lt;p&gt;My promotion efforts so far:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;4 dev.to articles (this is #5)&lt;/li&gt;
&lt;li&gt;Hacker News Show HN (0 upvotes)&lt;/li&gt;
&lt;li&gt;Reddit posts (0 comments)&lt;/li&gt;
&lt;li&gt;Directory submissions (pending review)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Building something is the easy part. Getting distribution is the entire game.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Free Is a Bad Marketing Strategy
&lt;/h3&gt;

&lt;p&gt;"It's free!" sounds great until you realize it means "no urgency to buy." My free limits are generous — most users never hit them. This is great for users, terrible for revenue.&lt;/p&gt;

&lt;p&gt;If I could restart, I'd make the free tier slightly more restrictive and add a free trial of PRO features.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. No Email Collection
&lt;/h3&gt;

&lt;p&gt;I have no way to contact users. No newsletter, no onboarding email, no "we miss you" automation. Every user who visits is a one-time event. If they don't buy immediately, I never see them again.&lt;/p&gt;

&lt;p&gt;Adding a simple "Save your work" feature that requires email would have changed everything.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Zero Social Proof
&lt;/h3&gt;

&lt;p&gt;Nobody wants to be the first person to buy something. The bundle page has no reviews, no testimonials, no "X people bought this." It's empty. Social proof is the strongest conversion lever, and I have none.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Tech That Surprised Me
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;ONNX Runtime Web&lt;/strong&gt; for background removal. A full neural network running in WebAssembly, in the browser, with no API key. The model is ~40MB but caches after first load. Processing takes ~5 seconds. This shouldn't be possible in a browser, but it is.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;pdf-lib&lt;/strong&gt; for PDF manipulation. Pure JavaScript, no native dependencies. Handles merge, split, page extraction, metadata. The API is surprisingly clean.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Service Workers.&lt;/strong&gt; I didn't implement them, but all these tools would benefit from offline-first architecture. Next priority.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'm Doing Next
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Product Hunt launch&lt;/strong&gt; — targeting next week&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Email capture&lt;/strong&gt; — newsletter signup on the hub page&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Content marketing&lt;/strong&gt; — more dev.to articles, SEO blog posts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tool directories&lt;/strong&gt; — submit to nologin.tools, alternativeto.net, etc.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I'm documenting everything publicly. If you're building client-side tools or indie products, follow along.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try the Tools
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/free-browser-tools/" rel="noopener noreferrer"&gt;All 24 tools →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All free. No signup. No tracking. PRO bundle ($19.99 one-time) if you want unlimited everything.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;GitHub: &lt;a href="https://github.com/xueboyang1985" rel="noopener noreferrer"&gt;xueboyang1985&lt;/a&gt; | Previously: &lt;a href="https://dev.to/xueboyang1985/7-free-pdf-tools-that-never-upload-your-files-all-client-side-58i3"&gt;7 PDF Tools&lt;/a&gt; | &lt;a href="https://dev.to/xueboyang1985/5-browser-based-image-tools-that-work-entirely-offline-no-upload-required-5b6g"&gt;5 Image Tools&lt;/a&gt; | &lt;a href="https://dev.to/xueboyang1985/10-free-developer-utility-tools-that-run-entirely-in-your-browser-bd1"&gt;10 Dev Tools&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>javascript</category>
      <category>indiehackers</category>
      <category>startup</category>
    </item>
    <item>
      <title>10 Free Developer Utility Tools That Run Entirely in Your Browser</title>
      <dc:creator>xueboyang1985</dc:creator>
      <pubDate>Sun, 31 May 2026 00:10:28 +0000</pubDate>
      <link>https://dev.to/xueboyang1985/10-free-developer-utility-tools-that-run-entirely-in-your-browser-bd1</link>
      <guid>https://dev.to/xueboyang1985/10-free-developer-utility-tools-that-run-entirely-in-your-browser-bd1</guid>
      <description>&lt;p&gt;Every developer has a collection of bookmarklets and random websites they use for quick utilities: format some JSON, diff two configs, generate a UUID, encode something in base64.&lt;/p&gt;

&lt;p&gt;Most of these tools send your data to a server. I built &lt;strong&gt;10 developer utility tools that never leave your browser.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Stack (or Lack Thereof)
&lt;/h2&gt;

&lt;p&gt;Each tool is one HTML file. No React, no Vue, no build step. Vanilla JS + browser APIs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;crypto.getRandomValues()&lt;/strong&gt; for UUIDs, random numbers, secure passwords&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Canvas API&lt;/strong&gt; for QR code rendering&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;localStorage&lt;/strong&gt; for saving preferences (with try-catch guards)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LCS algorithm&lt;/strong&gt; for text diffing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub-Flavored Markdown parser&lt;/strong&gt; (regex-based, not a library)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hosting: GitHub Pages (free, global CDN). No server-side code. No database.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 10 Tools
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. JSON Formatter &amp;amp; CSV Converter
&lt;/h3&gt;

&lt;p&gt;Format, validate, minify JSON. Convert between JSON and CSV with smart type inference. Handles nested objects and big integers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/json-csv-converter/" rel="noopener noreferrer"&gt;Try it →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Text Diff Checker
&lt;/h3&gt;

&lt;p&gt;Compare two texts side by side. Line-by-line and character-level diff using Longest Common Subsequence algorithm. Highlights insertions and deletions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/text-diff-checker/" rel="noopener noreferrer"&gt;Try it →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Base64 Encoder &amp;amp; Decoder
&lt;/h3&gt;

&lt;p&gt;Encode/decode text and files to/from Base64. Also includes hex and binary modes. File drag-and-drop support.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/base64-encoder/" rel="noopener noreferrer"&gt;Try it →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. UUID Generator
&lt;/h3&gt;

&lt;p&gt;Generate UUID v4 (random) and v7 (time-ordered). Batch up to 100 at once. Uses crypto.getRandomValues() for true randomness.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/uuid-generator/" rel="noopener noreferrer"&gt;Try it →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Password Generator
&lt;/h3&gt;

&lt;p&gt;crypto.getRandomValues() for secure randomness. Configurable length (8-128 chars), character sets, ambiguous character exclusion. Full entropy — no Math.random() shortcuts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/password-generator/" rel="noopener noreferrer"&gt;Try it →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  6. QR Code Generator
&lt;/h3&gt;

&lt;p&gt;Generate QR codes for URLs, WiFi networks, email, SMS, and vCard contacts. Wraps qrcodejs library. Download as PNG.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/qr-code-generator/" rel="noopener noreferrer"&gt;Try it →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Markdown Editor
&lt;/h3&gt;

&lt;p&gt;Split-pane editor with live preview. GitHub-Flavored Markdown (tables, strikethrough, code blocks). Copy HTML or download.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/markdown-editor/" rel="noopener noreferrer"&gt;Try it →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  8. URL Encoder &amp;amp; Decoder
&lt;/h3&gt;

&lt;p&gt;Full URL and component encoding. Data URL generation. Handles edge cases like nested encoding and special characters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/url-encoder/" rel="noopener noreferrer"&gt;Try it →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  9. Timestamp Converter
&lt;/h3&gt;

&lt;p&gt;Human-readable dates to Unix timestamps (seconds and milliseconds) and vice versa. Timezone-aware ISO 8601 support. Relative time display.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/timestamp-converter/" rel="noopener noreferrer"&gt;Try it →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  10. Number Base Converter
&lt;/h3&gt;

&lt;p&gt;Binary, octal, decimal, hexadecimal. Fractional number support. Step-by-step conversion mode for learning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/number-base/" rel="noopener noreferrer"&gt;Try it →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Bonus: Quick Reference Tools
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Case Converter&lt;/strong&gt; — UPPER, lower, Title, Sentence, camelCase, snake_case, kebab-case&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Word Counter&lt;/strong&gt; — Words, characters, sentences, paragraphs, reading time&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Random Generator&lt;/strong&gt; — Numbers, coin flips, dice rolls, list picker, shuffle (crypto.getRandomValues)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HTML Formatter &amp;amp; CSS Minifier&lt;/strong&gt; — Tag-aware HTML indentation, CSS whitespace stripping&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Color Picker&lt;/strong&gt; — HEX/RGB/HSL converter with EyeDropper API support&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Browser-Native?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Security.&lt;/strong&gt; Your JSON payloads, API keys, and configuration files never leave your device.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Offline.&lt;/strong&gt; All tools work without internet after first load. Service workers cache everything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Speed.&lt;/strong&gt; No network round-trip. Type a UUID, get it instantly. Diff two files, see results immediately.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Auditable.&lt;/strong&gt; View source to confirm: no telemetry, no analytics, no hidden API calls.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free vs PRO
&lt;/h2&gt;

&lt;p&gt;Every tool works fully for free with reasonable limits. The PRO Bundle ($19.99 one-time) removes all limits across all tools with a single license key.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Part of &lt;a href="https://xueboyang1985.github.io/free-browser-tools/" rel="noopener noreferrer"&gt;24 free browser tools&lt;/a&gt; — all client-side, no signup, no tracking.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Previously: &lt;a href="https://dev.to/xueboyang1985/7-free-pdf-tools-that-never-upload-your-files-all-client-side-58i3"&gt;7 PDF Tools&lt;/a&gt; | &lt;a href="https://dev.to/xueboyang1985/5-browser-based-image-tools-that-work-entirely-offline-no-upload-required-5b6g"&gt;5 Image Tools&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>5 Browser-Based Image Tools That Work Entirely Offline — No Upload Required</title>
      <dc:creator>xueboyang1985</dc:creator>
      <pubDate>Sat, 30 May 2026 23:43:46 +0000</pubDate>
      <link>https://dev.to/xueboyang1985/5-browser-based-image-tools-that-work-entirely-offline-no-upload-required-5b6g</link>
      <guid>https://dev.to/xueboyang1985/5-browser-based-image-tools-that-work-entirely-offline-no-upload-required-5b6g</guid>
      <description>&lt;p&gt;Every image tool website wants you to upload your photos to their server. I never liked that — especially when the photos are personal.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;5 image tools that process everything in your browser.&lt;/strong&gt; The image data stays in JavaScript memory, gets processed by Canvas API or WebAssembly, and the result is downloaded directly.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Client-Side Image Processing Works
&lt;/h2&gt;

&lt;p&gt;Modern browsers have incredible built-in capabilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Canvas API&lt;/strong&gt; — Draw, transform, and export images at pixel level. Resize, crop, compress, all without plugins.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WebAssembly&lt;/strong&gt; — Run compiled C/C++ code at near-native speed. This is how the background remover runs a full AI model.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EyeDropper API&lt;/strong&gt; — Pick any color from your screen without taking a screenshot.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With these three APIs, you can build professional-grade image tools that never need a server.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 5 Tools
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Image Compressor
&lt;/h3&gt;

&lt;p&gt;Drag in a JPG, PNG, or WebP. Adjust quality slider. Download the compressed version.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt; Canvas API re-encodes the image at your chosen quality level. For PNG, it also strips metadata. For JPEG, it uses the browser's native JPEG encoder.&lt;/p&gt;

&lt;p&gt;Free limit: 5 MB per image. PRO: unlimited size.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/image-compressor/" rel="noopener noreferrer"&gt;Try Image Compressor →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Image Resizer
&lt;/h3&gt;

&lt;p&gt;Resize by percentage, pixels, or max dimension. Aspect ratio lock. Preview before downloading.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt; Canvas API draws the image at the target dimensions using &lt;code&gt;drawImage()&lt;/code&gt;. Bilinear interpolation by default, high-quality if browser supports it.&lt;/p&gt;

&lt;p&gt;Free: 5 MB. PRO: unlimited.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/image-resizer/" rel="noopener noreferrer"&gt;Try Image Resizer →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Image Cropper
&lt;/h3&gt;

&lt;p&gt;Interactive crop selector on the image. Touch-friendly for mobile. Set aspect ratios (1:1, 4:3, 16:9, freeform).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt; Canvas &lt;code&gt;drawImage()&lt;/code&gt; with source rectangle coordinates extracts the cropped region.&lt;/p&gt;

&lt;p&gt;Free: 5 MB. PRO: unlimited.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/image-cropper/" rel="noopener noreferrer"&gt;Try Image Cropper →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  4. AI Background Remover
&lt;/h3&gt;

&lt;p&gt;This is the most technically interesting one. It runs a neural network (ISNet) entirely in-browser via ONNX Runtime Web with WebAssembly backend.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The ONNX model (~40 MB) downloads on first use and caches in browser storage&lt;/li&gt;
&lt;li&gt;Your image is preprocessed to 1024x1024&lt;/li&gt;
&lt;li&gt;The model runs inference in WebAssembly — ~5 seconds per image&lt;/li&gt;
&lt;li&gt;The alpha mask is applied to create a transparent PNG&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;No API key. No cloud credits. No server processing. Just your browser and a neural network.&lt;/p&gt;

&lt;p&gt;Free: 720p output. PRO: full HD+, batch processing, background color replacement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/background-remover/" rel="noopener noreferrer"&gt;Try Background Remover →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Color Picker
&lt;/h3&gt;

&lt;p&gt;Click a color on the color wheel, paste a hex code, or use the EyeDropper API to pick directly from your screen. Converts between HEX, RGB, and HSL in real-time.&lt;/p&gt;

&lt;p&gt;Also saves color history to localStorage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://xueboyang1985.github.io/color-picker/" rel="noopener noreferrer"&gt;Try Color Picker →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Performance Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Free Limit&lt;/th&gt;
&lt;th&gt;Processing Time&lt;/th&gt;
&lt;th&gt;Output Quality&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Image Compressor&lt;/td&gt;
&lt;td&gt;5 MB&lt;/td&gt;
&lt;td&gt;~1s&lt;/td&gt;
&lt;td&gt;Configurable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Image Resizer&lt;/td&gt;
&lt;td&gt;5 MB&lt;/td&gt;
&lt;td&gt;&amp;lt; 1s&lt;/td&gt;
&lt;td&gt;Bilinear&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Image Cropper&lt;/td&gt;
&lt;td&gt;5 MB&lt;/td&gt;
&lt;td&gt;&amp;lt; 1s&lt;/td&gt;
&lt;td&gt;Lossless crop&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Background Remover&lt;/td&gt;
&lt;td&gt;720p&lt;/td&gt;
&lt;td&gt;~5s per image&lt;/td&gt;
&lt;td&gt;AI neural network&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Color Picker&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;td&gt;Real-time&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Privacy First
&lt;/h2&gt;

&lt;p&gt;These tools are genuinely private — not "privacy policy" private, but &lt;strong&gt;technically private&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No server receives your files (there is no server)&lt;/li&gt;
&lt;li&gt;No analytics script tracks your usage&lt;/li&gt;
&lt;li&gt;No cookies (except color history you choose to save)&lt;/li&gt;
&lt;li&gt;Works offline after first load&lt;/li&gt;
&lt;li&gt;View source to verify — it's just HTML and JS&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  One Key, All Tools
&lt;/h2&gt;

&lt;p&gt;All 5 image tools are part of a &lt;a href="https://xueboyang1985.github.io/free-browser-tools/" rel="noopener noreferrer"&gt;24-tool collection&lt;/a&gt;. The free versions have generous limits. A single PRO key ($19.99, one-time) removes all limits across every tool. No subscription.&lt;/p&gt;

&lt;p&gt;Source code for everything is on &lt;a href="https://github.com/xueboyang1985" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; — MIT license.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Previously: &lt;a href="https://dev.to/xueboyang1985/7-free-pdf-tools-that-never-upload-your-files-all-client-side-58i3"&gt;7 Free PDF Tools That Never Upload Your Files&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>privacy</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>7 Free PDF Tools That Never Upload Your Files — All Client-Side</title>
      <dc:creator>xueboyang1985</dc:creator>
      <pubDate>Sat, 30 May 2026 23:40:55 +0000</pubDate>
      <link>https://dev.to/xueboyang1985/7-free-pdf-tools-that-never-upload-your-files-all-client-side-58i3</link>
      <guid>https://dev.to/xueboyang1985/7-free-pdf-tools-that-never-upload-your-files-all-client-side-58i3</guid>
      <description>&lt;p&gt;Most 'free online PDF tools' make you upload your files to some server. You drag in a contract, a tax form, or a client document — and it gets sent to who-knows-where.&lt;/p&gt;

&lt;p&gt;I built a different approach: &lt;strong&gt;7 PDF tools that run entirely in your browser.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How It Works
&lt;/h2&gt;

&lt;p&gt;Every tool is a single HTML file with vanilla JavaScript. When you open the page:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Your browser downloads the HTML + JS (static files from GitHub Pages CDN)&lt;/li&gt;
&lt;li&gt;PDF processing libraries (pdf-lib, jsPDF, pdf.js) load from CDN&lt;/li&gt;
&lt;li&gt;You select a file — it stays in browser memory&lt;/li&gt;
&lt;li&gt;Processing happens using your browser's JavaScript engine and Canvas API&lt;/li&gt;
&lt;li&gt;The result is downloaded directly to your computer&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;No upload. No server. No tracking.&lt;/strong&gt; You can disconnect from the internet after the page loads and everything still works.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 7 Tools
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Merge PDFs
&lt;/h3&gt;

&lt;p&gt;Combine multiple PDFs into one. Drag to reorder pages before merging.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; Combine scanned pages into a single document, merge contracts with appendices.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Split PDF
&lt;/h3&gt;

&lt;p&gt;Extract specific pages or split every page into separate files. Supports page ranges (e.g. &lt;code&gt;1-5, 8, 10-12&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; Pull out just the signature page from a contract, split a batch scan into individual documents.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Images to PDF
&lt;/h3&gt;

&lt;p&gt;Convert JPG, PNG, or WebP images into a PDF. Options for page size (A4, Letter, original), orientation, and margins.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; Convert photos of receipts into a single PDF expense report.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. PDF to Images
&lt;/h3&gt;

&lt;p&gt;Extract pages from a PDF as PNG or JPG images. Scale options (1x-4x). Batch download as ZIP.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; Extract charts from a PDF report for a presentation.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Extract Images
&lt;/h3&gt;

&lt;p&gt;Pull all embedded images from a PDF file. Handy for extracting photos, logos, or diagrams.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Base64 to PDF (and back)
&lt;/h3&gt;

&lt;p&gt;Convert PDF to base64 text (for embedding in JSON, HTML, or APIs) and vice versa.&lt;/p&gt;

&lt;h3&gt;
  
  
  7. Text to Image
&lt;/h3&gt;

&lt;p&gt;Convert any text into an image — useful for creating text-based graphics or watermarks.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Tech Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;pdf-lib (1.17.1) — Merge, split, PDF manipulation&lt;/li&gt;
&lt;li&gt;jsPDF (2.5.1) — Images to PDF&lt;/li&gt;
&lt;li&gt;pdf.js (3.11.174) — PDF to images, extract images&lt;/li&gt;
&lt;li&gt;JSZip (3.10.1) — Batch download as ZIP&lt;/li&gt;
&lt;li&gt;FileSaver.js — Trigger downloads&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All loaded from CDN with &lt;code&gt;defer&lt;/code&gt; so nothing blocks rendering. No frameworks, no build step, no npm.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free Limits
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Free&lt;/th&gt;
&lt;th&gt;PRO&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Merge pages&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Split pages&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Images to PDF&lt;/td&gt;
&lt;td&gt;5 images&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PDF to images&lt;/td&gt;
&lt;td&gt;10 pages&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;File size&lt;/td&gt;
&lt;td&gt;10 MB&lt;/td&gt;
&lt;td&gt;Unlimited&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Free limits are generous — most casual users never hit them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Client-Side Matters
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Privacy:&lt;/strong&gt; Your documents never leave your device&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Speed:&lt;/strong&gt; No upload wait time. Processing happens immediately&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Offline:&lt;/strong&gt; Works after the first page load&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security:&lt;/strong&gt; No server to hack, no database to leak&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;a href="https://xueboyang1985.github.io/pdf-tools/" rel="noopener noreferrer"&gt;Launch PDF Tools →&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Source on &lt;a href="https://github.com/xueboyang1985/pdf-tools" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt; (MIT license).&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Part of a &lt;a href="https://xueboyang1985.github.io/free-browser-tools/" rel="noopener noreferrer"&gt;collection of 24 free browser tools&lt;/a&gt; — all client-side, no signup, no tracking.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>pdf</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>privacy</category>
    </item>
    <item>
      <title>I Built 24 Free Browser Tools That Run 100% Client-Side — No Upload, No Tracking</title>
      <dc:creator>xueboyang1985</dc:creator>
      <pubDate>Sat, 30 May 2026 07:29:00 +0000</pubDate>
      <link>https://dev.to/xueboyang1985/i-built-24-free-browser-tools-that-run-100-client-side-no-upload-no-tracking-3cmb</link>
      <guid>https://dev.to/xueboyang1985/i-built-24-free-browser-tools-that-run-100-client-side-no-upload-no-tracking-3cmb</guid>
      <description>&lt;p&gt;Six weeks ago, I started building browser-based tools as a side project. Today, I have &lt;strong&gt;24 tools&lt;/strong&gt; — and they have collectively handled zero server requests. Because there is no server.&lt;/p&gt;

&lt;p&gt;Every tool is a single HTML file with vanilla JavaScript. Hosted on GitHub Pages. No frameworks, no build step, no backend, no database.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hub page:&lt;/strong&gt; &lt;a href="https://xueboyang1985.github.io/free-browser-tools/" rel="noopener noreferrer"&gt;https://xueboyang1985.github.io/free-browser-tools/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hosting:&lt;/strong&gt; GitHub Pages (free, global CDN)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Vanilla HTML/CSS/JS — no build tools, no frameworks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PDF:&lt;/strong&gt; pdf-lib, jsPDF, pdf.js&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;QR:&lt;/strong&gt; qrcodejs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Images:&lt;/strong&gt; Canvas API&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Crypto:&lt;/strong&gt; Web Crypto API&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Client-Side?
&lt;/h2&gt;

&lt;p&gt;Most free online tools make you upload files to a server. With client-side tools your data never leaves your computer. No tracking. Works offline.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 24 Tools
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;PDF Tools&lt;/strong&gt; — merge, split, images to/from PDF, extract images&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Image Compressor&lt;/strong&gt; — JPG/PNG/WebP, adjustable quality&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Image Resizer &amp;amp; Cropper&lt;/strong&gt; — aspect ratio lock&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Background Remover&lt;/strong&gt; — neural network via WebAssembly, no API key needed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Password Generator&lt;/strong&gt; — crypto.getRandomValues, customizable&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;QR Code Generator&lt;/strong&gt; — URLs, WiFi, email, vCard&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JSON-CSV Converter&lt;/strong&gt; — bidirectional, bigint support&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Base64 Encoder&lt;/strong&gt; — text + file encoding&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Color Picker&lt;/strong&gt; — EyeDropper API, HEX/RGB/HSL&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTML Formatter &amp;amp; CSS Minifier&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;URL Encoder&lt;/strong&gt; — full URL + component encoding&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Timestamp Converter&lt;/strong&gt; — Unix, ISO 8601, relative time&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Number Base Converter&lt;/strong&gt; — binary/octal/decimal/hex&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Random Generator&lt;/strong&gt; — numbers, coin, dice, picker, shuffle&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Text Diff Checker&lt;/strong&gt; — line/char diff, highlighted&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Word Counter&lt;/strong&gt; — words, chars, reading time&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Case Converter&lt;/strong&gt; — camelCase, snake_case, kebab-case&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Markdown Editor&lt;/strong&gt; — live preview, GFM&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;UUID Generator&lt;/strong&gt; — v4 and v7, bulk up to 1000&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WhatsApp Chat Formatter&lt;/strong&gt; — export to MD/HTML/CSV&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Subtitle Converter&lt;/strong&gt; — SRT to VTT to ASS&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Kindle Highlights Exporter&lt;/strong&gt; — parse My Clippings.txt&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The Technical Approach
&lt;/h2&gt;

&lt;p&gt;Every tool is a single HTML file. No bundlers, no React, no build step. Vanilla JS + CDN libraries.&lt;/p&gt;

&lt;p&gt;Key APIs used: File API, Canvas API, Web Crypto API, pdf-lib, ONNX Runtime (WebAssembly for AI background removal).&lt;/p&gt;

&lt;h2&gt;
  
  
  Monetization
&lt;/h2&gt;

&lt;p&gt;All tools are free to use. The PRO Bundle (9.99) removes free limits (e.g. 125 PDF pages, 5MB images) with a single license key across all 24 tools. One-time payment, lifetime access, 3 devices.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Hard Part
&lt;/h2&gt;

&lt;p&gt;24 tools, 6 weeks, zero server costs. Revenue so far: $0. Building was easy. Getting traffic is the real challenge.&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Hub:&lt;/strong&gt; &lt;a href="https://xueboyang1985.github.io/free-browser-tools/" rel="noopener noreferrer"&gt;https://xueboyang1985.github.io/free-browser-tools/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PRO Bundle:&lt;/strong&gt; &lt;a href="https://xueboyang1985.github.io/free-browser-tools/bundle.html" rel="noopener noreferrer"&gt;https://xueboyang1985.github.io/free-browser-tools/bundle.html&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/xueboyang1985" rel="noopener noreferrer"&gt;https://github.com/xueboyang1985&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Blog:&lt;/strong&gt; &lt;a href="https://xueboyang1985.github.io/free-browser-tools/blog/best-free-online-browser-tools-2026.html" rel="noopener noreferrer"&gt;https://xueboyang1985.github.io/free-browser-tools/blog/best-free-online-browser-tools-2026.html&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

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