The claim we test

Free AI Wiper makes a deliberately narrow claim: for a supported file, it reports selected metadata it can detect, removes the selected supported items, and inspects the output again. A clean result is scoped to those items. It is not a certificate of authorship or a claim that no other tool could find another signal.

The same three checks for each format

  1. Before: inspect the original file and record the supported findings and file type.
  2. Change: remove only the categories selected by the user. If nothing selected is present, leave an already-clean file unchanged.
  3. After: inspect the output for the selected findings and reject a result if the verification fails.

The cleaner's automated checks use fixtures for supported images, PDF, Office files, video, audio and text. Those fixtures include files with metadata and files without it. The examples below are from the checked-in fixture tests, which passed on 3 October 2026. They do not cover every possible metadata carrier or third-party export.

Two reproducible examples

PNG with an AI marker. The source PNG is an MIT-licensed example asset. Our fixture is 2,130,441 bytes with SHA-256 7cd57b4a33f05e4ce7f63de18751f59f4b3ea8c55c281204e0cd6d1f621e466f. Inspection reports one supported AI finding before cleaning and zero afterward when AI metadata is selected. The test also verifies that the output passes the image preservation check.

DOCX with ordinary properties. The source DOCX is MIT-licensed. Our fixture is 2,154 bytes with SHA-256 42e9a68990b3077fea10737c08e1e971e36967646e4a42795100f9f397727b31. Inspection reports three supported personal-property findings before cleaning and zero afterward when those properties are selected. The test checks that the document's word/document.xml part is unchanged.

The counts describe supported findings reported by this checker, not an independent proof that a file contains no other metadata. Download the linked originals to repeat the inspection in the cleaner; keep a copy before editing.

  • JPEG, PNG, WebP, still AVIF and HEIC: supported C2PA, JUMBF, XMP, generator and optional private metadata. Visible marks and pixel-domain signals are outside this check.
  • BMP, GIF, TIFF/BigTIFF: supported appended data, comments/application records or directory tags, depending on the format. Raster/profile bytes, GIF rendering and TIFF image offsets are protected; unsupported layouts are refused.
  • PDF: supported document-information fields, indirect-object XMP and single-filter embedded JPEG metadata. Signed or encrypted PDFs and page-level visible marks are outside this workflow.
  • DOCX, PPTX, XLSX: supported standard document-property parts and raster/SVG media/thumbnail metadata. Document prose, comments and revision history are outside this check.
  • HTML, SVG, Markdown: supported named fields, SVG metadata and flat frontmatter, plus explicit provenance comments. Complete output is compared with intended source edits; scripts, drawing commands and code examples are protected. Complex YAML, referenced metadata and signed SVG are refused.
  • MP4, MOV: supported provenance, XMP and metadata boxes, including keyed AIGC labels and workflow or prompt generation parameters. Video frames, audio and platform records are outside this check.
  • WAV, MP3, native FLAC, supported M4A: supported container tags, C2PA carriers and AIGC labels. Encoded audio is preserved; SynthID and other sound-domain watermarks are outside this check.
  • Text: eleven categories of hidden or unusual Unicode characters, with selected space normalization counted separately from removal. Emoji/script preservation and conservative defaults are tested. Statistical watermarks and authorship are outside this check.

PNG compressed-text checks

An independently created one-pixel PNG fixture includes a workflow key, compressed generator text, compressed international XMP and an ordinary comment. AI-only cleaning removes the three supported generation/provenance records and keeps the ordinary comment. An independent zlib decode confirms the output pixel data matches the known original. Additional tests cover malformed text headers, corrupted compressed values and metadata expansion limits. These checks do not test pixel-domain watermarks.

AVIF and HEIC preservation checks

The fixture corpus includes licensed AVIF and HEIC samples from c2pa-rs, together with independent synthetic cases for metadata items and C2PA carriers. Tests cover local media-data and item-data locations, narrow and wide item identifiers, selective removal, malformed offsets and metadata that overlaps image data.

For the checked-in AVIF and HEIC samples, an independent FFmpeg decode produced identical decoded-frame checksums before and after cleaning. The HEIC sample contains an ordinary XMP metadata item that is removed when private metadata is selected. These are fixture-specific checks, not a guarantee for every exporter or layout. The AVIF and HEIC guide explains the supported boundaries.

BMP, GIF and TIFF preservation checks

Five project-authored fixtures cover a BMP raster with appended provenance, a BMP with an embedded sRGB profile, a two-frame looping GIF with comments and ICC data, a two-page LZW TIFF, and a BigTIFF. They were independently encoded with Pillow and standard-library container assembly; their synthetic metadata is not evidence of a provider's export behavior.

Independent Pillow decoding of the production worker's cleaned outputs matches every original image frame/page, GIF timing, disposal and looping, and available ICC data. LibTIFF also accepts and decodes the cleaned TIFF and BigTIFF fixtures. Regression tests cover both TIFF byte orders, selective fields, GPS cleanup, nested image/tile offsets, retained control blocks and rejection of malformed, overlapping or cyclic layouts. These are fixture-specific checks; the image format page lists the supported boundaries.

Audio preservation checks

The audio fixtures include a supplied Gemini WAV with no metadata and independent FFmpeg-generated sine-wave MP3 and FLAC files with AIGC, title and artist tags. Tests cover selective removal, C2PA carriers, UTF-16 ID3 descriptions, malformed tag sizes and preservation of encoded audio. The Gemini WAV stays byte-identical when there is nothing to remove.

Independent AAC and ALAC M4A sine-wave fixtures also test selective removal of keyed AIGC/software tags while retaining ordinary titles and encoder information. Their media-data boxes remain byte-identical. Independent FFmpeg decoding of the production worker's cleaned outputs produces identical decoded-audio checksums for both fixtures. Tests reject video tracks, encrypted entries, external references, fragmented containers and malformed sample descriptions; these fixture checks do not establish support for every M4A exporter.

For the three checked-in samples, independent FFmpeg decoding produced identical decoded-audio checksums before and after cleaning. This checks preservation on these samples; it does not detect an invisible audio watermark. The audio guide explains why a metadata-free Gemini WAV can still be AI-generated.

How to reproduce a result yourself

Keep a copy of a supported original file. Run an inspection, save the list of findings, clean only the categories you intend, then inspect the downloaded file again. The result should agree with the cleaner's after-report. For image files, compare the visible output as well; the cleaner preserves the encoded image payload for supported formats.

The format pages give the input limits and exclusions. If a file contains an unsupported carrier, a missing finding is a limitation of this checker, not evidence that the carrier does not exist. We will add more public cases when they have a clear license, stable source and independently checked result.

File-slice media regression checks

MP4/MOV/M4A file-slice results are compared byte-for-byte with the existing byte-based cleaner for independent fixtures and all metadata selections. Additional cases cover extended and end-of-file box sizes, root provenance records, malformed headers, metadata budgets, read failures and cancellation. A synthetic 48 MiB media payload verifies that inspection skips the payload and reads only headers and small metadata ranges. This checks bounded reads; it is not a measurement of peak memory across browsers or devices. The file limit is 250 MiB for MP4/MOV videos and 50 MiB for M4A audio.

WAV/MP3/FLAC file-slice tests also compare complete output against the byte-based cleaner for all metadata selections. Cases include nested WAV INFO/ID3, multiple leading ID3 tags, trailing ID3v1, FLAC pictures and application blocks, metadata budgets, damaged headers and read/cancellation failures. Synthetic 48 MiB WAV/FLAC payloads check that audio bytes are skipped; an MP3 case checks bounded windows and rejection of a damaged late frame header. Independent FFmpeg decoding confirms identical audio in all five production-worker fixture outputs. These checks preserve the existing parser scope; they do not add sound-watermark detection.

Deeper document regression checks

Project-authored PDF, DOCX, PPTX and XLSX fixtures contain independently encoded pictures with synthetic AI metadata. Selective cleaning tests retain ordinary fields and compare protected PDF objects, image bytes and all Office package entries against the intended edits. Additional tests refuse signatures, shared PDF metadata/content references, corrupt or oversized metadata, unsupported embedded image layouts and tampered output. Custom XML, document relationships and opaque embeddings are retained. These fixtures exercise supported carriers; they do not establish coverage of every Office or PDF exporter.

For these fixtures, independent Poppler rendering and pypdf text extraction match before and after cleaning by the production PDF worker. Production Office worker outputs reopen in python-docx, python-pptx and openpyxl; all non-image package entries and decoded picture pixels match, including the spreadsheet formula. These are fixture-specific preservation checks, not browser performance measurements.

Markup source preservation checks

Project-authored HTML, SVG and Markdown fixtures contain synthetic generator/provenance metadata and ordinary content. Their expected cleaned files are independent source fixtures. Regression cases cover attribute order and references, namespaces, script/style/CDATA contexts, fenced and inline code, BOM/CRLF preservation, aliases, signatures, processing budgets and tampered output. Office tests also clean embedded SVG while retaining all other package entries. See markup cleanup for the supported fields and limitations.

Production markup worker outputs match the expected fixtures byte-for-byte. Independent lxml parsing confirms unchanged HTML body/scripts and SVG drawing/accessibility nodes; the Markdown body and fenced example match byte-for-byte. Browser checks cover inspection, selective cleaning and verified-output readiness in the Documents tab for all three formats.