Getting Started
Install the MetaStrip CLI globally and start cleaning metadata from your images in seconds. The CLI processes files locally — nothing is sent to a server.
# Install the CLI
npm install -g @metastrip/cli
# Inspect a file's metadata
metastrip inspect photo.jpg
# Strip all metadata
metastrip clean photo.jpg
# Preview what would be removed
metastrip diff photo.jpgCLI Reference
The MetaStrip CLI exposes four commands for inspecting, cleaning, diffing, and listing supported formats.
metastrip inspect <file>
Show all metadata fields found in a file. Use --format to control output style.
| Option | Description |
|---|---|
| --format table|json|summary | Output format (default: table) |
metastrip inspect photo.jpg
metastrip inspect photo.jpg --format json
metastrip inspect photo.jpg --format summarymetastrip clean <files...>
Strip metadata from one or more files. Supports glob patterns. Overwrites in-place by default.
| Option | Description |
|---|---|
| --output <path> | Write cleaned file to a different path |
| --keep <fields> | Comma-separated fields to preserve (e.g. author,icc) |
| --categories <cats> | Strip only specified categories (gps, device, timestamps…) |
| --quality <n> | JPEG re-encode quality 1–100 (default: 92) |
| --no-color-profile | Remove embedded ICC color profile |
| --json | Output results as JSON (useful for scripting) |
# Strip all metadata
metastrip clean photo.jpg
# Write to a new file
metastrip clean photo.jpg --output cleaned.jpg
# Keep specific fields
metastrip clean photo.jpg --keep author,icc
# Strip only certain categories
metastrip clean photo.jpg --categories gps,device
# Control JPEG quality (default: 92)
metastrip clean photo.jpg --quality 85
# Remove ICC color profile
metastrip clean photo.jpg --no-color-profile
# Batch with JSON output
metastrip clean *.jpg --json
# Multiple files
metastrip clean a.jpg b.png c.webpmetastrip diff <file>
Preview which metadata fields would be removed without modifying the file.
| Option | Description |
|---|---|
| --keep <fields> | Fields to simulate keeping |
metastrip diff photo.jpg
metastrip diff photo.jpg --keep author,iccmetastrip formats
Print all supported file formats and which metadata types are stripped for each.
metastrip formatsMCP Server
MetaStrip ships an MCP (Model Context Protocol) server so AI assistants like Claude can strip and inspect metadata on your behalf. Add it to your Claude Desktop or Cursor config:
{
"mcpServers": {
"metastrip": {
"command": "npx",
"args": ["@metastrip/mcp-server"]
}
}
}Available tools
strip_metadataRemove all (or selected) metadata from an image file and return the cleaned buffer.
inspect_metadataReturn a structured report of every metadata field present in a file.
compare_metadataDiff two files and show which metadata fields differ between them.
batch_stripStrip metadata from multiple files in a single call, returning per-file results.
npm Package
Use @metastrip/core directly in your Node.js or TypeScript project. Fully typed, zero runtime dependencies.
npm install @metastrip/coreimport { MetaStrip } from '@metastrip/core';
const ms = new MetaStrip();
// Inspect
const report = await ms.inspect('photo.jpg');
console.log(report.gps);
console.log(report.risk.score);
// Strip
const result = await ms.strip('photo.jpg');
console.log(result.entriesRemoved);
// Strip selectively
await ms.strip('photo.jpg', { keep: ['author', 'icc'] });
// Batch
const batch = await ms.batch(['a.jpg', 'b.png', 'c.webp']);ms.inspect(path)
Returns a MetaReport object containing all detected metadata fields, categories, and a risk object with a score (0–100) and a human-readable label.
ms.strip(path, options?)
Strips metadata from the given file. Returns a StripResult with entriesRemoved, bytesSaved, and the cleaned buffer. Pass { keep: [...] } to preserve specific fields.
ms.batch(paths, options?)
Process multiple files concurrently. Returns an array of StripResult in the same order as the input paths.
REST API
Coming SoonA hosted REST API is in development for teams that need to integrate metadata stripping into backend pipelines, mobile apps, or workflows where client-side processing is not an option.
The API will support all formats available in the CLI and npm package, with per-request and monthly volume pricing tiers.
Join the waitlist on the Pricing page