<?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: Filo Tool</title>
    <description>The latest articles on DEV Community by Filo Tool (@filotool).</description>
    <link>https://dev.to/filotool</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%2F4107394%2Fa4196859-22e7-4e6f-a1fc-11c90715e5eb.png</url>
      <title>DEV Community: Filo Tool</title>
      <link>https://dev.to/filotool</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/filotool"/>
    <language>en</language>
    <item>
      <title>I benchmarked AVIF vs WebP on real images, and the "best" format flipped depending on what I compressed</title>
      <dc:creator>Filo Tool</dc:creator>
      <pubDate>Thu, 03 Sep 2026 10:39:24 +0000</pubDate>
      <link>https://dev.to/filotool/i-benchmarked-avif-vs-webp-on-real-images-and-the-best-format-flipped-depending-on-what-i-dh4</link>
      <guid>https://dev.to/filotool/i-benchmarked-avif-vs-webp-on-real-images-and-the-best-format-flipped-depending-on-what-i-dh4</guid>
      <description>&lt;p&gt;I benchmarked AVIF vs WebP on real images, and the "best" format flipped &lt;br&gt;
depending on what I compressed&lt;/p&gt;

&lt;p&gt;Every "best image format 2026" article says the same thing: AVIF wins, WebP &lt;br&gt;
is second, JPEG and PNG are legacy. I believed that too, until I ran the &lt;br&gt;
same encoder at the same settings against two different image types and got &lt;br&gt;
opposite winners.&lt;/p&gt;

&lt;p&gt;Same quality setting, same encoder. Opposite results.&lt;/p&gt;

&lt;p&gt;I compressed a photorealistic image and a transparent graphic through JPG, &lt;br&gt;
PNG, WebP, and AVIF, all at quality 80, same encoder, same run. Here's what &lt;br&gt;
came back:&lt;/p&gt;

&lt;p&gt;On the photograph (3.35MB source): WebP came out at 342KB. AVIF came out &lt;br&gt;
at 537KB — 57% larger than WebP, for a format that's supposed to be the &lt;br&gt;
efficient one.&lt;/p&gt;

&lt;p&gt;On the transparent graphic (54KB source): AVIF won cleanly at 18.6KB. WebP &lt;br&gt;
trailed at 29KB. PNG saved as PNG actually came back larger than the &lt;br&gt;
original — +13.6%.&lt;/p&gt;

&lt;p&gt;Same two formats. Same encoder. Same quality target. The ranking inverted &lt;br&gt;
completely depending on what was inside the file.&lt;/p&gt;

&lt;p&gt;Why "just use AVIF" is bad advice&lt;/p&gt;

&lt;p&gt;The instinct after seeing AVIF's reputation is to default to it everywhere. &lt;br&gt;
But AVIF's compression strategy is tuned for smooth photographic detail — &lt;br&gt;
it's genuinely excellent there in the general case, but it's not free &lt;br&gt;
computation, and on a photo where WebP's simpler model already gets close &lt;br&gt;
to optimal, AVIF's extra complexity can cost more than it saves. There's &lt;br&gt;
no universal winner. The right format depends on what's actually in the &lt;br&gt;
pixels.&lt;/p&gt;

&lt;p&gt;The trap hiding inside the numbers&lt;/p&gt;

&lt;p&gt;Here's the part that would have fooled me if I hadn't looked closer. On &lt;br&gt;
the transparent graphic, JPG actually beat WebP on file size (27.7KB vs &lt;br&gt;
29KB). If you only looked at the number, JPG would look like the winner.&lt;/p&gt;

&lt;p&gt;It isn't. JPG has no alpha channel. To "win" that comparison, it silently &lt;br&gt;
flattened the transparency onto a white background and destroyed the one &lt;br&gt;
property that graphic needed. A format that can't carry your actual &lt;br&gt;
requirement isn't a smaller version of the same image — it's a different, &lt;br&gt;
broken image that happens to compress well.&lt;/p&gt;

&lt;p&gt;Smaller isn't better if the format threw away the thing you needed.&lt;/p&gt;

&lt;p&gt;The format you can't rely on&lt;/p&gt;

&lt;p&gt;There's a practical wrinkle with AVIF specifically that benchmark tables &lt;br&gt;
never show: browser support for encoding AVIF client-side depends on the &lt;br&gt;
browser's own native decoder, and that availability varies by browser &lt;br&gt;
version. In other words, the format that won the transparent-image test &lt;br&gt;
above is also the one most likely to be silently unavailable depending on &lt;br&gt;
who's opening your file. And animation is a harder wall entirely — &lt;br&gt;
still-image codecs only ever keep the first frame.&lt;/p&gt;

&lt;p&gt;So even when AVIF wins on paper, it's not always the safe default in &lt;br&gt;
practice.&lt;/p&gt;

&lt;p&gt;What I actually do now&lt;/p&gt;

&lt;p&gt;Pick the format for what's in the image, not for its reputation:&lt;/p&gt;

&lt;p&gt;Photos and complex gradients: WebP is usually the safer default — strong &lt;br&gt;
compression, broad support, and it doesn't lose to AVIF by nearly as much &lt;br&gt;
as AVIF sometimes loses to it.&lt;/p&gt;

&lt;p&gt;Screenshots, UI, flat graphics, anything with transparency: worth testing &lt;br&gt;
AVIF specifically, since this is where it actually pulls ahead — but verify &lt;br&gt;
support if it needs to render everywhere.&lt;/p&gt;

&lt;p&gt;Anything that needs to work absolutely everywhere with zero surprises: &lt;br&gt;
JPG (no transparency) or PNG (transparency, no compression guarantee) &lt;br&gt;
remain the boring, reliable choices for a reason.&lt;/p&gt;

&lt;p&gt;The honest caveat&lt;/p&gt;

&lt;p&gt;These specific percentages came from two fixtures I built for this test, &lt;br&gt;
not a universal law — the direction of the finding (rankings aren't stable &lt;br&gt;
across image types) generalizes; the exact numbers won't. Test your own &lt;br&gt;
asset before assuming either format is the "right" one.&lt;/p&gt;

&lt;p&gt;If you want to check this yourself&lt;/p&gt;

&lt;p&gt;I built a &lt;strong&gt;&lt;a href="https://filotool.com/image-format-comparison" rel="noopener noreferrer"&gt;format comparison tool&lt;/a&gt;&lt;/strong&gt; &lt;br&gt;
that runs these numbers against real images, and an &lt;strong&gt;&lt;a href="https://filotool.com/image-converter" rel="noopener noreferrer"&gt;image converter&lt;/a&gt;&lt;/strong&gt;]&lt;br&gt;
if you just want to convert a file — both run entirely in the browser, &lt;br&gt;
nothing uploaded. I'd be curious whether this holds on assets very &lt;br&gt;
different from mine.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>performance</category>
      <category>image</category>
      <category>webdesign</category>
    </item>
    <item>
      <title>Why "black box" PDF redaction almost never actually works</title>
      <dc:creator>Filo Tool</dc:creator>
      <pubDate>Thu, 03 Sep 2026 06:36:20 +0000</pubDate>
      <link>https://dev.to/filotool/why-black-box-pdf-redaction-almost-never-actually-works-39ap</link>
      <guid>https://dev.to/filotool/why-black-box-pdf-redaction-almost-never-actually-works-39ap</guid>
      <description>&lt;p&gt;I built a &lt;strong&gt;&lt;a href="https://filotool.com/redact-pdf" rel="noopener noreferrer"&gt;PDF redaction tool&lt;/a&gt;&lt;/strong&gt;, and the thing that surprised me most wasn’t&lt;br&gt;
how to draw a black box over text. It was how many “redaction” tools out&lt;br&gt;
there stop right at the drawing part — and ship it as if that’s the same&lt;br&gt;
thing as actually removing the information.&lt;/p&gt;

&lt;p&gt;It isn’t. And once you understand why, you’ll never trust a black box on&lt;br&gt;
a PDF again.&lt;/p&gt;

&lt;p&gt;The problem with covering text&lt;/p&gt;

&lt;p&gt;Most online PDF editors “redact” by drawing a rectangle over the text you&lt;br&gt;
want hidden. Visually, it looks gone. But the original text is often still&lt;br&gt;
sitting in the PDF’s data layer, underneath the box — selectable,&lt;br&gt;
copy-pasteable, and extractable with a script in seconds. The box is&lt;br&gt;
cosmetic. The data isn’t touched.&lt;/p&gt;

&lt;p&gt;I didn’t want to ship that. So the redaction tool I built doesn’t draw over&lt;br&gt;
anything — it rebuilds the page.&lt;/p&gt;

&lt;p&gt;What actually happens to the file&lt;/p&gt;

&lt;p&gt;When you mark an area for redaction, the tool doesn’t hide it. It re-renders&lt;br&gt;
that entire page as a flattened image — at 1.75x scale in Standard mode,&lt;br&gt;
2.5x in High — and re-encodes it as a JPEG before embedding it back into&lt;br&gt;
the PDF at the original page dimensions. The rebuilt page has no text layer,&lt;br&gt;
no annotations, no form fields, no links. There’s nothing left to extract,&lt;br&gt;
because there’s nothing left that’s text.&lt;/p&gt;

&lt;p&gt;The tradeoff is real, and I don’t pretend otherwise: you lose&lt;br&gt;
selectability and the page gets a bit heavier. But you gain something&lt;br&gt;
almost no competing tool offers — actual, structural certainty that the&lt;br&gt;
information is gone.&lt;/p&gt;

&lt;p&gt;The part I’m most proud of: it checks its own work&lt;/p&gt;

&lt;p&gt;Join The Writer's Circle event&lt;br&gt;
Before the tool ever lets you download a file, it re-reads its own output&lt;br&gt;
and verifies it. If the PDF signature is malformed, if the page count&lt;br&gt;
changed, if any extractable text remains on a page you marked for redaction,&lt;br&gt;
or if any annotation survived — it throws an error instead of handing you&lt;br&gt;
a file. You get told something went wrong. You don’t get a silently broken&lt;br&gt;
redaction.&lt;/p&gt;

&lt;p&gt;That’s the one thing I haven’t found on a competing “redact your PDF&lt;br&gt;
online” page: a tool that proves its own result before trusting you with it.&lt;/p&gt;

&lt;p&gt;Where the real risk actually is&lt;/p&gt;

&lt;p&gt;Here’s the honest limitation. The verification only checks pages you&lt;br&gt;
explicitly marked. If you forget to mark a page — miss a signature block&lt;br&gt;
on page 12, say — that page gets copied through untouched, text layer&lt;br&gt;
intact, and the built-in check has nothing to say about it because it was&lt;br&gt;
never told to look.&lt;/p&gt;

&lt;p&gt;The failure mode isn’t “the redaction gets reversed.” It’s “you never&lt;br&gt;
told the tool to redact it in the first place.” That’s a much more common,&lt;br&gt;
much more human mistake, and it’s worth knowing before you rely on any&lt;br&gt;
redaction tool, mine included.&lt;/p&gt;

&lt;p&gt;Why blur and pixelation aren’t redaction either&lt;/p&gt;

&lt;p&gt;A quick related note, because I see this misunderstanding constantly:&lt;br&gt;
blurring or pixelating a sensitive value — a license plate, a phone&lt;br&gt;
number — feels like redaction, but it usually isn’t. Pixelation is a&lt;br&gt;
deterministic transformation. If the original value comes from a small,&lt;br&gt;
guessable set (a 10-digit phone number, a plate format), you can pixelate&lt;br&gt;
every candidate value the same way and compare block patterns until one&lt;br&gt;
matches. You’re not un-blurring the image — you’re brute-forcing it. The&lt;br&gt;
pixels are genuinely destroyed; the exposure comes from a different angle&lt;br&gt;
entirely.&lt;/p&gt;

&lt;p&gt;If something needs to be irrecoverable, it needs the full rebuild-and-verify&lt;br&gt;
treatment, not a filter.&lt;/p&gt;

&lt;p&gt;If you want to try it&lt;/p&gt;

&lt;p&gt;The tool is free, runs entirely in your browser (nothing is uploaded, ever),&lt;br&gt;
and the redaction tool specifically is at filotool.com/redact-pdf. I’d&lt;br&gt;
genuinely like to know if this changes how you think about redaction tools&lt;br&gt;
you’ve used before — I learn a lot from what breaks people’s expectations.&lt;/p&gt;

</description>
      <category>pdf</category>
      <category>pdftool</category>
      <category>tools</category>
    </item>
  </channel>
</rss>
