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.

bash
# 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.jpg

CLI 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.

OptionDescription
--format table|json|summaryOutput format (default: table)
bash
metastrip inspect photo.jpg
metastrip inspect photo.jpg --format json
metastrip inspect photo.jpg --format summary

metastrip clean <files...>

Strip metadata from one or more files. Supports glob patterns. Overwrites in-place by default.

OptionDescription
--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-profileRemove embedded ICC color profile
--jsonOutput results as JSON (useful for scripting)
bash
# 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.webp

metastrip diff <file>

Preview which metadata fields would be removed without modifying the file.

OptionDescription
--keep <fields>Fields to simulate keeping
bash
metastrip diff photo.jpg
metastrip diff photo.jpg --keep author,icc

metastrip formats

Print all supported file formats and which metadata types are stripped for each.

bash
metastrip formats

MCP 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:

json
{
  "mcpServers": {
    "metastrip": {
      "command": "npx",
      "args": ["@metastrip/mcp-server"]
    }
  }
}

Available tools

strip_metadata

Remove all (or selected) metadata from an image file and return the cleaned buffer.

inspect_metadata

Return a structured report of every metadata field present in a file.

compare_metadata

Diff two files and show which metadata fields differ between them.

batch_strip

Strip 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.

bash
npm install @metastrip/core
typescript
import { 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 Soon

A 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