<?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: Zys97kobe</title>
    <description>The latest articles on DEV Community by Zys97kobe (@zys97kobe).</description>
    <link>https://dev.to/zys97kobe</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%2F4017541%2F43d39cc4-a62e-4112-a7f0-bbf9906c1204.jpg</url>
      <title>DEV Community: Zys97kobe</title>
      <link>https://dev.to/zys97kobe</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/zys97kobe"/>
    <language>en</language>
    <item>
      <title>Fresh one, I Built a Free Browser-Based Toolkit for Images, PDFs, Text, and Developers</title>
      <dc:creator>Zys97kobe</dc:creator>
      <pubDate>Mon, 06 Jul 2026 10:18:15 +0000</pubDate>
      <link>https://dev.to/zys97kobe/fresh-one-i-built-a-free-browser-based-toolkit-for-images-pdfs-text-and-developers-144g</link>
      <guid>https://dev.to/zys97kobe/fresh-one-i-built-a-free-browser-based-toolkit-for-images-pdfs-text-and-developers-144g</guid>
      <description>&lt;p&gt;I recently built JohnShine Tools, a collection of free online utilities designed to handle common image, PDF, text, network, and security tasks directly in the browser.&lt;/p&gt;

&lt;p&gt;The main idea is simple:&lt;br&gt;
Useful tools should be fast, easy to access, and should not require users to install software or upload private files unnecessarily.&lt;/p&gt;

&lt;p&gt;Most tools on the site process data locally in the browser. This means files and text remain on the user’s device unless a tool explicitly states otherwise.&lt;/p&gt;

&lt;p&gt;You can try the toolkit here:&lt;/p&gt;
&lt;h3&gt;
  
  
  JohnShine Tools:
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://johnshinetools.com/" rel="noopener noreferrer"&gt;https://johnshinetools.com/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Why I Built It
&lt;/h2&gt;

&lt;p&gt;Many simple tasks still require installing software, creating an account, or uploading files to an unknown server.&lt;/p&gt;

&lt;p&gt;Examples include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;compressing an image&lt;/li&gt;
&lt;li&gt;resizing a photo&lt;/li&gt;
&lt;li&gt;merging PDF files&lt;/li&gt;
&lt;li&gt;converting Unix timestamps&lt;/li&gt;
&lt;li&gt;formatting text&lt;/li&gt;
&lt;li&gt;generating passwords&lt;/li&gt;
&lt;li&gt;creating QR codes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wanted to create a lightweight website where these tasks could be completed quickly, with a consistent interface and minimal friction.&lt;/p&gt;
&lt;h2&gt;
  
  
  Image Tools
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Image Compressor
&lt;/h3&gt;

&lt;p&gt;The Image Compressor reduces JPG, PNG, and WebP file sizes directly in the browser.&lt;/p&gt;

&lt;p&gt;Users can choose an image, adjust the quality setting, preview the result, and download the optimized version.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://johnshinetools.com/image-compressor/" rel="noopener noreferrer"&gt;https://johnshinetools.com/image-compressor/&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Image Converter
&lt;/h3&gt;

&lt;p&gt;The Image Converter changes images between JPG, PNG, and WebP formats.&lt;/p&gt;

&lt;p&gt;Users can choose the output format, adjust image quality when supported, and download the converted file.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://johnshinetools.com/image-converter/" rel="noopener noreferrer"&gt;https://johnshinetools.com/image-converter/&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Image Resizer
&lt;/h3&gt;

&lt;p&gt;The Image Resizer changes image dimensions by width, height, or percentage.&lt;/p&gt;

&lt;p&gt;It supports aspect-ratio locking, output format selection, quality adjustment, and image preview.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://johnshinetools.com/image-resizer/" rel="noopener noreferrer"&gt;https://johnshinetools.com/image-resizer/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  PDF and File Tools
&lt;/h2&gt;
&lt;h3&gt;
  
  
  PDF Merge
&lt;/h3&gt;

&lt;p&gt;PDF Merge combines multiple PDF files into one document.&lt;/p&gt;

&lt;p&gt;Users select two or more files, keep them in the desired order, and download the merged result.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://johnshinetools.com/pdf-merge/" rel="noopener noreferrer"&gt;https://johnshinetools.com/pdf-merge/&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  PDF Split
&lt;/h3&gt;

&lt;p&gt;PDF Split extracts selected pages from an existing PDF.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://johnshinetools.com/pdf-split/" rel="noopener noreferrer"&gt;https://johnshinetools.com/pdf-split/&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  PDF Compressor
&lt;/h3&gt;

&lt;p&gt;PDF Compressor rebuilds and optimizes the internal structure of a PDF to create a smaller and cleaner copy where possible.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://johnshinetools.com/pdf-compressor/" rel="noopener noreferrer"&gt;https://johnshinetools.com/pdf-compressor/&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  Word Counter
&lt;/h3&gt;

&lt;p&gt;Word Counter measures:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;words&lt;/li&gt;
&lt;li&gt;characters&lt;/li&gt;
&lt;li&gt;sentences&lt;/li&gt;
&lt;li&gt;estimated reading time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is useful for articles, essays, social media posts, documentation, and content limits.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://johnshinetools.com/word-counter/" rel="noopener noreferrer"&gt;https://johnshinetools.com/word-counter/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Text Tools
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Case Converter
&lt;/h3&gt;

&lt;p&gt;Case Converter transforms text into formats such as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;UPPERCASE
lowercase
Title Case
camelCase
snake_case
kebab-case
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It can be useful for writing, URLs, variable names, identifiers, and labels.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://johnshinetools.com/case-converter/" rel="noopener noreferrer"&gt;https://johnshinetools.com/case-converter/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Character Counter
&lt;/h3&gt;

&lt;p&gt;Character Counter provides live measurements for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;characters&lt;/li&gt;
&lt;li&gt;bytes&lt;/li&gt;
&lt;li&gt;lines&lt;/li&gt;
&lt;li&gt;paragraphs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It is useful for meta descriptions, advertisements, bios, messages, forms, and platform limits.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://johnshinetools.com/character-counter/" rel="noopener noreferrer"&gt;https://johnshinetools.com/character-counter/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Developer and Network Tools
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Unix Timestamp Converter
&lt;/h3&gt;

&lt;p&gt;The Unix Timestamp Converter converts between:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unix seconds&lt;/li&gt;
&lt;li&gt;Unix milliseconds&lt;/li&gt;
&lt;li&gt;local date and time&lt;/li&gt;
&lt;li&gt;UTC date and time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also supports using the current time as a quick starting point.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://johnshinetools.com/unix-timestamp/" rel="noopener noreferrer"&gt;https://johnshinetools.com/unix-timestamp/&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Encoding Converter
&lt;/h3&gt;

&lt;p&gt;The Encoding Converter supports several common encoding and decoding formats:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unicode&lt;/li&gt;
&lt;li&gt;UTF-8&lt;/li&gt;
&lt;li&gt;ASCII&lt;/li&gt;
&lt;li&gt;Base64&lt;/li&gt;
&lt;li&gt;URL encoding&lt;/li&gt;
&lt;li&gt;HTML entities&lt;/li&gt;
&lt;li&gt;Hex&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Users can paste text, select a conversion type, run the conversion, and copy the output.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://johnshinetools.com/encoding-converter/" rel="noopener noreferrer"&gt;https://johnshinetools.com/encoding-converter/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Other Utilities
&lt;/h2&gt;

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

&lt;p&gt;The QR Code Generator creates downloadable QR codes for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;URLs&lt;/li&gt;
&lt;li&gt;text&lt;/li&gt;
&lt;li&gt;email addresses&lt;/li&gt;
&lt;li&gt;contact details&lt;/li&gt;
&lt;li&gt;other supported content&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Users can optionally add a logo, choose the output size, and download the result as a PNG.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://johnshinetools.com/qr-code-generator/" rel="noopener noreferrer"&gt;https://johnshinetools.com/qr-code-generator/&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;The Password Generator creates strong random passwords using the browser’s cryptographic API.&lt;/p&gt;

&lt;p&gt;Users can control password length and select which character types to include.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://johnshinetools.com/password-generator/" rel="noopener noreferrer"&gt;https://johnshinetools.com/password-generator/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Privacy and Browser-Based Processing&lt;/p&gt;

&lt;p&gt;One of the main design goals was to keep as much processing as possible inside the browser.&lt;/p&gt;

&lt;p&gt;For many tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;files are not uploaded to a server&lt;/li&gt;
&lt;li&gt;text remains on the user’s device&lt;/li&gt;
&lt;li&gt;processing happens locally with JavaScript&lt;/li&gt;
&lt;li&gt;no account is required&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is especially useful for images, text, passwords, timestamps, and encoding tasks.&lt;/p&gt;

&lt;p&gt;Technical Approach&lt;/p&gt;

&lt;p&gt;The project uses a lightweight frontend architecture with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;HTML&lt;/li&gt;
&lt;li&gt;CSS&lt;/li&gt;
&lt;li&gt;JavaScript&lt;/li&gt;
&lt;li&gt;browser APIs&lt;/li&gt;
&lt;li&gt;client-side file processing&lt;/li&gt;
&lt;li&gt;individual URLs for each tool&lt;/li&gt;
&lt;li&gt;responsive layouts for desktop and mobile&lt;/li&gt;
&lt;li&gt;Google Analytics event tracking&lt;/li&gt;
&lt;li&gt;Google Search Console integration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each tool has its own page, title, description, canonical URL, sitemap entry, and internal links.&lt;/p&gt;

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

&lt;p&gt;Building the tools was only one part of the project.&lt;/p&gt;

&lt;p&gt;Other important parts included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;creating clear user flows&lt;/li&gt;
&lt;li&gt;handling large files safely&lt;/li&gt;
&lt;li&gt;keeping processing local&lt;/li&gt;
&lt;li&gt;designing useful error messages&lt;/li&gt;
&lt;li&gt;making pages mobile-friendly&lt;/li&gt;
&lt;li&gt;structuring pages for search engines&lt;/li&gt;
&lt;li&gt;tracking which tools users actually use&lt;/li&gt;
&lt;li&gt;improving performance and accessibility&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The project also taught me that a small utility can still require careful work around edge cases, browser compatibility, privacy, and user experience.&lt;/p&gt;

&lt;p&gt;What Comes Next&lt;/p&gt;

&lt;p&gt;I plan to continue improving the existing tools and add more utilities in areas such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;developer tools&lt;/li&gt;
&lt;li&gt;network tools&lt;/li&gt;
&lt;li&gt;JSON utilities&lt;/li&gt;
&lt;li&gt;URL tools&lt;/li&gt;
&lt;li&gt;image processing&lt;/li&gt;
&lt;li&gt;PDF workflows&lt;/li&gt;
&lt;li&gt;text formatting&lt;/li&gt;
&lt;li&gt;data conversion&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I am also interested in improving accessibility, mobile usability, and client-side performance.&lt;/p&gt;

&lt;p&gt;Feedback Welcome&lt;/p&gt;

&lt;p&gt;I would appreciate feedback on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;tool usability&lt;/li&gt;
&lt;li&gt;mobile layout&lt;/li&gt;
&lt;li&gt;missing features&lt;/li&gt;
&lt;li&gt;browser compatibility&lt;/li&gt;
&lt;li&gt;accessibility&lt;/li&gt;
&lt;li&gt;additional tool ideas&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You can try the site here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://johnshinetools.com/" rel="noopener noreferrer"&gt;https://johnshinetools.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>showdev</category>
      <category>sideprojects</category>
      <category>tooling</category>
    </item>
  </channel>
</rss>
