xxxstripper
v0.1.1
Published
Strip image metadata locally in the browser or from the terminal.
Maintainers
Readme
Stripper

Stripper is a static browser app and a CLI tool for removing image metadata locally. There is still no backend, no upload step, and no remote processing for the web app.
Why
Before
Some websites make use of image metadata when uploading images to display information. For example when you generate an image using AI and post on x.com it displays it like this (Notice the "Made with AI" footer):

After
To get rid of these tags, simply drag and drop any image on Stripper, and it will show you what is in the image, and will let you download a clean version, so you can upload the clean image to social media sites.

Usage
Browser
- 1-Click Launch: Just install and run with 1-click from https://pinokio.co
- Manual: Clone this repo and open index.html in your browser
Notes:
- JPEG, PNG, and WebP are exported in their original format when possible.
- PNG output also removes resolution/density metadata such as the
pHYschunk. - Unsupported browser image formats fall back to PNG export.
- Animated formats are flattened to a single frame because the app exports a canvas snapshot.
- Metadata preview is best for common JPEG EXIF, PNG text chunks, and WebP EXIF/XMP metadata, and it flags unparsed embedded metadata blocks when it detects them.
CLI
npx xxxstripper ./image.pngCLI Reference
Syntax:
npx xxxstripper <source> [target] [--format <jpg|png|webp>]Arguments:
source: Required path to the input image.target: Optional output path. If omitted, Stripper writes a sibling file named*-clean.<ext>.
Options:
-h,--help: Print usage and exit.-f,--format <jpg|png|webp>: Force the output format.-o,--output <path>: Set the output path explicitly. This is supported for compatibility, but the preferred interface is the second positionaltargetargument.
Rules:
- You can provide the output path either as the second positional argument or with
--output, but not both. - If
targetis omitted, the default output path is created next to the source file. - If the output file already exists, the CLI currently overwrites it.
- On success, the CLI prints the resolved output path to stdout.
- On failure, the CLI prints the error message to stderr and exits with status code
1.
Output format precedence:
--format- Output file extension inferred from
targetor--output - Original file format, if it is
jpeg,png, orwebp - Fallback to
png
Examples:
npx xxxstripper ./image.png
npx xxxstripper ./image.png ./image-clean.png
npx xxxstripper ./image.png --format webp
npx xxxstripper ./image.png ./image-clean.webp --format webp
npx xxxstripper ./image.png --output ./custom/output.pngBehavior:
- The CLI reads the input image with
sharp. - It applies EXIF orientation via auto-rotate before writing the clean file.
- It re-encodes the image without preserving source metadata.
- PNG output also removes resolution/density metadata such as the
pHYschunk. jpegoutput is flattened onto white if the source has transparency.- For non-
jpeg/png/webpinputs, output falls back topngunless you explicitly choose a supported format.
