<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>DuckyTools</title>
  <subtitle>Hundreds of tools. Zero uploads.</subtitle>
  <link href="https://duckytools.com/feed.xml" rel="self"/>
  <link href="https://duckytools.com/"/>
  <id>https://duckytools.com/</id>
  <updated>2026-08-03T00:00:00Z</updated>
  <author><name>DuckyTools</name></author>
  <entry>
    <title>Release: A domain of its own</title>
    <link href="https://duckytools.com/changelog/"/>
    <id>https://duckytools.com/changelog/#2026-08-03-0</id>
    <updated>2026-08-03T00:00:00Z</updated>
    <summary>Changed: DuckyTools now lives at duckytools.com. Every canonical URL, sitemap entry, Open Graph tag and machine-readable file follows from a single line of configuration, so the move was that line — and a test now checks that the domain file and the canonicals can never disagree. Fixed: The build was not reproducible. Two files carried a clock reading rather than a date, so every deploy rewrote them whether or not anything had changed. Both now derive from the build date, and a check builds the </summary>
  </entry>
  <entry>
    <title>Guide: Scanned PDF or text PDF? How to tell, and why it matters</title>
    <link href="https://duckytools.com/guides/scanned-pdf-vs-text-pdf/"/>
    <id>https://duckytools.com/guides/scanned-pdf-vs-text-pdf/</id>
    <updated>2026-08-02T00:00:00Z</updated>
    <summary>Two files that look identical can behave completely differently. How to tell which you have in three seconds, and what each one can and cannot do.</summary>
  </entry>
  <entry>
    <title>Guide: What actually drives an LLM API bill</title>
    <link href="https://duckytools.com/guides/what-drives-an-llm-api-bill/"/>
    <id>https://duckytools.com/guides/what-drives-an-llm-api-bill/</id>
    <updated>2026-08-02T00:00:00Z</updated>
    <summary>Tokens are not words, output costs several times more than input, and caching changes the arithmetic entirely. The three things that decide what you pay.</summary>
  </entry>
  <entry>
    <title>Guide: What actually happens when you upload a file to an online tool</title>
    <link href="https://duckytools.com/guides/what-happens-when-you-upload-a-file/"/>
    <id>https://duckytools.com/guides/what-happens-when-you-upload-a-file/</id>
    <updated>2026-08-02T00:00:00Z</updated>
    <summary>A step-by-step account of where your document goes on a typical file-conversion site, how long it stays, who can reach it, and how to check before you upload anything.</summary>
  </entry>
  <entry>
    <title>Guide: Compress an image without wrecking it</title>
    <link href="https://duckytools.com/guides/compress-an-image-without-wrecking-it/"/>
    <id>https://duckytools.com/guides/compress-an-image-without-wrecking-it/</id>
    <updated>2026-08-02T00:00:00Z</updated>
    <summary>What JPEG quality settings actually do, why resizing beats compressing, and the order of operations that gets a photo under a size limit while still looking right.</summary>
  </entry>
  <entry>
    <title>Guide: How to make AI writing sound human</title>
    <link href="https://duckytools.com/guides/make-ai-writing-sound-human/"/>
    <id>https://duckytools.com/guides/make-ai-writing-sound-human/</id>
    <updated>2026-08-02T00:00:00Z</updated>
    <summary>The specific tells that make generated text obvious — em dashes, a fixed vocabulary, sentences that are all the same length — and what to do about each one.</summary>
  </entry>
  <entry>
    <title>Guide: Image sizes that actually matter</title>
    <link href="https://duckytools.com/guides/image-sizes-that-actually-matter/"/>
    <id>https://duckytools.com/guides/image-sizes-that-actually-matter/</id>
    <updated>2026-08-02T00:00:00Z</updated>
    <summary>The pixel dimensions worth knowing for the web, social platforms and print — plus why &quot;300 DPI&quot; means nothing without a physical size.</summary>
  </entry>
  <entry>
    <title>Guide: Browser tools vs upload tools: what actually happens to your file</title>
    <link href="https://duckytools.com/guides/browser-tools-vs-upload-tools/"/>
    <id>https://duckytools.com/guides/browser-tools-vs-upload-tools/</id>
    <updated>2026-08-02T00:00:00Z</updated>
    <summary>Most online tools send your file to a server. Some do the work on your own device. The difference decides who can read your document — and it is visible from the outside if you know what to look for.</summary>
  </entry>
  <entry>
    <title>Guide: What your photos reveal about you</title>
    <link href="https://duckytools.com/guides/what-your-photos-reveal/"/>
    <id>https://duckytools.com/guides/what-your-photos-reveal/</id>
    <updated>2026-08-02T00:00:00Z</updated>
    <summary>Every photo from a phone carries hidden EXIF metadata — often including the exact GPS coordinates and timestamp. Here is what is in there, who can read it, and how to remove it.</summary>
  </entry>
  <entry>
    <title>Guide: JPG, PNG, WEBP, AVIF and SVG: which to use</title>
    <link href="https://duckytools.com/guides/image-formats-explained/"/>
    <id>https://duckytools.com/guides/image-formats-explained/</id>
    <updated>2026-08-02T00:00:00Z</updated>
    <summary>A practical comparison of the five image formats that matter on the web — what each is good at, what it costs in file size, and which one to pick for photos, logos, screenshots and icons.</summary>
  </entry>
  <entry>
    <title>Guide: How to shrink a PDF for email</title>
    <link href="https://duckytools.com/guides/shrink-a-pdf-for-email/"/>
    <id>https://duckytools.com/guides/shrink-a-pdf-for-email/</id>
    <updated>2026-08-02T00:00:00Z</updated>
    <summary>Attachment limits, what actually makes a PDF large, and which compression method to use for scans, text documents and image-heavy reports.</summary>
  </entry>
  <entry>
    <title>Release: An SDK, a tool builder, and a file finder</title>
    <link href="https://duckytools.com/changelog/"/>
    <id>https://duckytools.com/changelog/#2026-08-02-4</id>
    <updated>2026-08-02T00:00:00Z</updated>
    <summary>Added: @duckytools/sdk — the tool contract published as a zero-dependency package. The site&#39;s own build validates its catalog through it, so the documented standard and the enforced one cannot drift. Added: Tool Builder: write a tool definition in the browser, watch it mount, download it as a single self-contained HTML file. Added: What Can I Do With This File? — identifies a file from its opening bytes rather than its name, then routes it to the tools that accept it. Added: cURL to fetch, Unico</summary>
  </entry>
  <entry>
    <title>Release: An AI &amp; Writing category, and American English</title>
    <link href="https://duckytools.com/changelog/"/>
    <id>https://duckytools.com/changelog/#2026-08-02-3</id>
    <updated>2026-08-02T00:00:00Z</updated>
    <summary>Added: Thirteen tools for working with model output: em dash remover, AI text cleaner, writing-tells analyzer, token counter, cost calculator, prompt tooling and a chat transcript formatter. Added: CSS clamp generator, markdown table generator, number formatter, duplicate word finder, sentence splitter, text truncator and regex escape. Changed: The site is now written in American English. No URL changed. Note: Nothing in the AI category claims to detect AI authorship, because nothing can. The an</summary>
  </entry>
  <entry>
    <title>Release: On-device AI, OS integration, tool chaining and a proof page</title>
    <link href="https://duckytools.com/changelog/"/>
    <id>https://duckytools.com/changelog/#2026-08-02-2</id>
    <updated>2026-08-02T00:00:00Z</updated>
    <summary>Added: AI Background Remover — a real ISNet segmentation network running through ONNX Runtime in your browser, with zero requests to any other origin. Every comparable service uploads your photo; this downloads the model instead. Added: Tool chaining. Every result now offers &quot;Send to another tool&quot;, carrying the file in memory with no download between steps. Added: Operating-system integration: DuckyTools appears in &quot;Open with&quot; for PDFs, images, text and audio once installed, accepts the Android </summary>
  </entry>
  <entry>
    <title>Release: A real Content-Security-Policy, and the hole it found</title>
    <link href="https://duckytools.com/changelog/"/>
    <id>https://duckytools.com/changelog/#2026-08-02-1</id>
    <updated>2026-08-02T00:00:00Z</updated>
    <summary>Fixed: The Tool Builder parsed tool definitions on the main page rather than inside its sandbox. Definitions travel in the URL hash, so a share link could have run a stranger&#39;s code with access to this site&#39;s storage — the exact thing the sandbox was there to prevent. Parsing, previewing and exporting now all happen inside a frame with its own opaque origin, and the page only ever handles the definition as text. Added: A Content-Security-Policy that browsers actually enforce. It was previously w</summary>
  </entry>
  <entry>
    <title>Release: First public build</title>
    <link href="https://duckytools.com/changelog/"/>
    <id>https://duckytools.com/changelog/#2026-08-01-6</id>
    <updated>2026-08-01T00:00:00Z</updated>
    <summary>Added: The catalog, across PDF, image, conversion, text, developer, calculator, unit, color, web and media categories. Added: Three themes, a command palette, and paste-or-drop anywhere. Note: No analytics, no accounts, no upload endpoint. None of those has been added since, and none is planned.</summary>
  </entry>
  <entry>
    <title>Release: Self-hosted OCR, offline support and the first guides</title>
    <link href="https://duckytools.com/changelog/"/>
    <id>https://duckytools.com/changelog/#2026-08-01-5</id>
    <updated>2026-08-01T00:00:00Z</updated>
    <summary>Added: Optical character recognition with Tesseract self-hosted — 11MB of WebAssembly served from this site, so English OCR makes no external request at all. Added: Long-form guides with reference tables of real figures. Added: Offline support through a service worker, and installation as a progressive web app. Fixed: The service worker never installed on the live site — it precached root-absolute paths that 404 under a project subpath, so installation failed silently and offline support did not</summary>
  </entry>
</feed>
