<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-text-case-converter-in-react-camelcase-pascalcase-snake-case-kebab-case-and-more</loc>
    <lastmod>2026-04-06T14:50:04.127Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/converting-pdf-pages-to-images-in-the-browser-with-pdf-js-and-canvas-api</loc>
    <lastmod>2026-04-06T14:46:28.236Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-browser-based-image-crop-tool-with-canvas-api-aspect-ratio-presets-real-time-dimensions-zero-quality-loss</loc>
    <lastmod>2026-04-06T02:37:54.705Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-browser-based-image-blur-tool-with-canvas-api-gaussian-blur-without-a-library</loc>
    <lastmod>2026-04-06T02:33:04.545Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-minesweeper-in-react-bfs-flood-fill-safe-first-click-and-responsive-scale-to-fit</loc>
    <lastmod>2026-04-05T15:00:04.361Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-klondike-solitaire-in-react-pointer-events-drag-drop-without-a-library</loc>
    <lastmod>2026-04-05T14:55:19.291Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-client-side-pdf-compressor-with-pdfjs-dist-and-pdf-lib</loc>
    <lastmod>2026-04-04T12:04:32.349Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/9-browser-based-image-tools-one-architecture-canvas-api-webassembly-and-zero-uploads</loc>
    <lastmod>2026-04-04T07:25:13.768Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/i-built-a-free-dynamic-qr-code-generator-here-s-what-competitors-charge-for</loc>
    <lastmod>2026-04-04T04:33:02.699Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/how-dynamic-qr-codes-work-redirect-routes-scan-tracking-and-analytics-in-next-js</loc>
    <lastmod>2026-04-04T07:23:52.832Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-browser-based-image-format-converter-with-canvas-api</loc>
    <lastmod>2026-04-04T07:22:40.533Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-client-side-image-compressor-with-canvas-api-in-next-js</loc>
    <lastmod>2026-04-04T07:21:44.600Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-real-time-word-character-counter-in-react</loc>
    <lastmod>2026-04-04T07:21:11.276Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-browser-based-pdf-page-organizer-with-pdf-lib-and-pdfjs-dist</loc>
    <lastmod>2026-04-04T07:20:25.941Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/how-to-scan-qr-codes-online-for-free-camera-or-image-upload-no-app-required</loc>
    <lastmod>2026-04-04T07:19:27.994Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-bulk-qr-code-generator-with-qr-code-styling-and-jszip-in-next-js</loc>
    <lastmod>2026-04-04T07:18:52.718Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-real-time-json-to-csv-converter-in-react</loc>
    <lastmod>2026-04-04T07:18:00.319Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/server-side-pdf-encryption-with-pikepdf-in-a-next-js-app-no-qpdf-required</loc>
    <lastmod>2026-04-04T07:17:16.171Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-markdown-to-html-converter-with-live-preview-in-next-js</loc>
    <lastmod>2026-04-04T07:16:28.799Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/convert-html-to-png-in-the-browser-using-svg-foreignobject-no-library</loc>
    <lastmod>2026-03-25T11:49:42.598Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/removing-white-backgrounds-from-pdfs-building-a-pdf-to-transparent-png-tool-with-pdf-js-and-canvas</loc>
    <lastmod>2026-03-24T00:45:54.037Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-base64-encoder-decoder-with-file-support-in-next-js</loc>
    <lastmod>2026-04-04T07:15:43.540Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-url-encoder-decoder-with-live-mode-in-next-js</loc>
    <lastmod>2026-04-04T07:15:04.368Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-client-side-json-formatter-and-validator-in-next-js</loc>
    <lastmod>2026-04-04T07:14:16.915Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-client-side-pdf-merger-with-pdf-lib-in-next-js</loc>
    <lastmod>2026-04-04T07:13:48.654Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/how-to-split-a-pdf-3-ways-zero-software</loc>
    <lastmod>2026-04-04T07:13:09.171Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/building-a-qr-code-generator-with-10-content-types-and-scan-analytics</loc>
    <lastmod>2026-04-04T07:11:30.640Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/how-to-sign-pdfs-in-the-browser-without-uploading-anything</loc>
    <lastmod>2026-04-04T07:12:14.023Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://ultimatetools.hashnode.dev/how-we-moved-pdf-processing-from-server-to-browser-and-killed-oom-crashes</loc>
    <lastmod>2026-03-15T14:21:35.482Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>