{
  "@context": [
    "https://schema.org",
    {
      "nuanyue": "https://www.nuanyue.com/ns#"
    }
  ],
  "@type": "SoftwareApplication",
  "@id": "https://www.nuanyue.com/software/compresso/#software",
  "name": "CompressO",
  "description": "Free open-source app that compresses video and images locally, with batch processing, trimming, format conversion and a before-and-after comparison slider.",
  "url": "https://www.nuanyue.com/software/compresso/",
  "mainEntityOfPage": "https://www.nuanyue.com/software/compresso/",
  "operatingSystem": "macOS",
  "applicationCategory": "DesignApplication",
  "publisher": {
    "name": "Code For Real",
    "url": "https://codeforreal.com/"
  },
  "sameAs": [
    "https://compresso.codeforreal.com/",
    "https://github.com/codeforreal1/compressO"
  ],
  "softwareVersion": "3.0.0",
  "license": "AGPL-3.0",
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "USD"
  },
  "nuanyue:record": {
    "schemaVersion": 1,
    "id": "software:compresso",
    "slug": "compresso",
    "name": "CompressO",
    "type": "SoftwareApplication",
    "entityType": "media converter",
    "description": "Free open-source app that compresses video and images locally, with batch processing, trimming, format conversion and a before-and-after comparison slider.",
    "shortDescription": "Free, open-source video and image compressor for macOS.",
    "answer": "CompressO is a free, open-source app for shrinking video and image files without sending them anywhere. Everything runs locally: the app is a Tauri shell around FFmpeg, pngquant, jpegoptim and gifski, which it calls through binaries that ship inside the bundle, and it makes no network requests except its own update check. Version 3.0 added image compression and conversion alongside the video features, so it now handles JPEG, PNG, WebP and GIF as well as MP4, MOV and AVI, plus rasterising SVG. Batch compression, trimming, subtitle embedding and metadata editing are built in. The macOS build ships as separate Apple Silicon and Intel disk images and is not notarized, so a manual install needs one Gatekeeper command before the app will open.",
    "page": "https://www.nuanyue.com/software/compresso/",
    "dataUrl": "https://www.nuanyue.com/data/software/compresso.json",
    "categories": [
      "design"
    ],
    "tags": [],
    "platform": [
      "macOS"
    ],
    "minOsVersion": "macOS 13",
    "architecture": [
      "arm64",
      "x86_64"
    ],
    "featured": false,
    "pricing": "open-source",
    "pricingDescription": "Free and open source under the GNU Affero General Public License v3.0. There is no paid tier, no account, no watermark and no file-size limit.",
    "license": "AGPL-3.0",
    "currentVersion": "3.0.0",
    "releaseDate": "2026-04-06",
    "openSource": true,
    "website": "https://compresso.codeforreal.com/",
    "github": "https://github.com/codeforreal1/compressO",
    "download": "https://github.com/codeforreal1/compressO/releases/download/3.0.0/CompressO_3.0.0_aarch64.dmg",
    "developer": {
      "name": "Code For Real",
      "website": "https://codeforreal.com/"
    },
    "icon": "/apps/compresso.png",
    "features": [
      "Compresses video with FFmpeg and images with pngquant, jpegoptim and gifski, all through binaries that ship inside the app",
      "Batch compression for several videos or images at once, including dropping whole folders onto the window",
      "Trims, splits, crops, rotates, flips and rescales video before compressing it",
      "Converts between JPEG, PNG, WebP and GIF, and rasterises SVG to PNG, JPEG or WebP",
      "Builds animated GIFs from video and recompresses existing GIFs with quality and frame-rate controls",
      "Shows a before-and-after comparison slider for the original and the compressed file",
      "Embeds subtitles into the output video and extracts embedded subtitles as SRT or VTT",
      "Edits title, artist, album, year, genre and copyright metadata, and can preserve EXIF data when compressing images",
      "Runs entirely offline — the developer states the only network request the app makes is its own update check"
    ],
    "useCases": [
      "Shrinking screen recordings and phone video before sending them to someone",
      "Reducing a folder of images to a web-friendly size in one pass",
      "Trimming and re-encoding a clip without opening a full video editor",
      "Converting a batch of screenshots to WebP for a website",
      "Compressing a video without uploading it to an online service"
    ],
    "formats": [
      "MP4",
      "MOV",
      "AVI",
      "WebM",
      "JPEG",
      "PNG",
      "WebP",
      "GIF",
      "SVG"
    ],
    "integrations": [],
    "pros": [
      {
        "text": "Free and open source under AGPL-3.0, with no paid tier, account, watermark or file-size limit.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Compression happens entirely on the Mac; the developer states the only network request the app makes is its own update check.",
        "status": "developer-stated",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Handles images and video in one app, including format conversion, GIF creation and SVG rasterisation.",
        "status": "verified",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Ships separate Apple Silicon and Intel disk images, so neither kind of Mac runs the app under translation.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "Batch processing, trimming, subtitle embedding and metadata editing are all in the app rather than in separate tools.",
        "status": "verified",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    ],
    "cons": [
      {
        "text": "The macOS build is not notarized, so Gatekeeper blocks a manual install until the quarantine attribute is removed.",
        "status": "developer-stated",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "The website and the repository disagree about the licence: the site says MIT, the repository ships AGPL-3.0.",
        "status": "verified",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "There is no universal macOS build, so you have to know which chip your Mac has before downloading.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "text": "No minimum macOS version is published anywhere first-party, so the floor can only be inferred from the Homebrew cask.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    ],
    "whoIsItFor": [
      "People who want a compressor that never uploads their files",
      "Anyone who prefers an open-source app they can read and build",
      "Users who need image and video compression in one tool rather than two"
    ],
    "notFor": [
      "Anyone who wants a notarized app with no Gatekeeper prompt — the disk image is unsigned",
      "Users who need fine codec and preset control, where HandBrake exposes far more",
      "People on macOS 12 or earlier, since the developer's own Homebrew cask sets the floor at macOS 13"
    ],
    "limitations": [
      "The macOS build is not notarized, so a manual download is blocked on first launch until you run `xattr -cr /Applications/CompressO.app`; the Homebrew cask does this for you",
      "The product website states the licence is MIT, while the repository ships an AGPL-3.0 LICENSE file and its README says AGPL 3.0. Nuanyue records AGPL-3.0",
      "Apple Silicon and Intel Macs need different disk images; there is no single universal build",
      "Neither the repository nor the product site states a minimum macOS version. The developer's Homebrew cask sets it at macOS 13 Ventura",
      "The developer reports the Linux build does not start on Debian 13 and Ubuntu 24; the macOS build is unaffected"
    ],
    "firstUse": {
      "installation": {
        "value": "Install with `brew install --cask codeforreal1/tap/compresso`, or download the disk image for your chip — `CompressO_3.0.0_aarch64.dmg` for Apple Silicon, `CompressO_3.0.0_x64.dmg` for Intel — open it and drag the app into Applications.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      "firstLaunch": {
        "value": "A manual install is stopped by Gatekeeper with the message that CompressO is damaged and should be moved to the trash. The developer's fix is to run `xattr -cr /Applications/CompressO.app` in Terminal; the Homebrew cask runs that command for you, so the app opens normally from a brew install.",
        "status": "developer-stated",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      "systemIntegration": {
        "value": "The developer's feature list includes an Open with CompressO entry in the file manager's context menu, and the macOS dock icon shows a percentage while a job is processing.",
        "status": "developer-stated",
        "source": "official",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      "appleSilicon": {
        "value": true,
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    },
    "updates": [
      {
        "version": "3.0.0",
        "date": "2026-04-06",
        "summary": "Adds image compression for JPEG, PNG, WebP and GIF, image transformations, SVG conversion, video-to-GIF and GIF compression, an in-app updater and a before-and-after comparison slider.",
        "status": "verified",
        "source": "repository"
      },
      {
        "version": "2.1.1",
        "date": "2026-03-11",
        "summary": "Fixes durations over an hour being formatted without the hour component, and tidies the settings labels and About window.",
        "status": "verified",
        "source": "repository"
      },
      {
        "version": "2.1.0",
        "date": "2026-03-04",
        "summary": "Adds subtitle upload and extraction, a customisable theme colour, audio amplification up to 200% and frame capture from the video player.",
        "status": "verified",
        "source": "repository"
      }
    ],
    "faq": [
      {
        "question": "Is CompressO free?",
        "answer": "Yes. It is free and open source under the GNU Affero General Public License v3.0, with no paid tier, no account and no watermark.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "Does CompressO upload my files?",
        "answer": "No. The developer states the app works completely offline and makes no network requests other than its own update check. Compression is done by binaries bundled inside the app.",
        "status": "developer-stated",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "Why does macOS say CompressO is damaged?",
        "answer": "Because the disk image is not notarized. The developer's own instructions are to run `xattr -cr /Applications/CompressO.app` in Terminal, or to install through Homebrew, whose cask removes the quarantine attribute automatically.",
        "status": "developer-stated",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "Which macOS version does CompressO need?",
        "answer": "Neither the repository nor the product website states a requirement. The developer's Homebrew cask sets the floor at macOS 13 Ventura.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "Does CompressO run natively on Apple Silicon?",
        "answer": "Yes. The release publishes a separate aarch64 disk image for Apple Silicon Macs alongside an x64 image for Intel Macs.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "question": "What licence is CompressO under?",
        "answer": "AGPL-3.0. The repository's LICENSE file is the AGPL 3.0 text and the README states AGPL 3.0, although the product website's footer claims the app is MIT licensed.",
        "status": "verified",
        "source": "repository",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    ],
    "relationships": [
      {
        "target": "handbrake",
        "type": "similar",
        "reason": "Both shrink video files, but CompressO is a lightweight image-and-video compressor while HandBrake is a full transcoder with codec and preset control.",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "target": "pdf-justfit",
        "type": "similar",
        "reason": "Both reduce file size locally, but CompressO targets video and images on macOS while PDF JustFit targets PDFs on iOS.",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "target": "imageoptim",
        "type": "competitor",
        "reason": "Both compress images locally, but ImageOptim is lossless-first and open source under the GPL, while CompressO also handles video and is licensed AGPL-3.0.",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      },
      {
        "target": "jpegmini",
        "type": "competitor",
        "reason": "Both shrink image files on macOS, but JPEGmini is a closed-source commercial product with a free daily quota while CompressO is free and open source.",
        "verifiedAt": "2026-10-05T00:00:00.000Z"
      }
    ],
    "sources": [
      {
        "id": "compresso:official",
        "type": "official_website",
        "url": "https://compresso.codeforreal.com/",
        "title": "CompressO — official website",
        "trustLevel": "B",
        "accessedAt": null
      },
      {
        "id": "compresso:developer",
        "type": "developer",
        "url": "https://codeforreal.com/",
        "title": "Code For Real — developer website",
        "trustLevel": "B",
        "accessedAt": null
      },
      {
        "id": "compresso:repository",
        "type": "github",
        "url": "https://github.com/codeforreal1/compressO",
        "title": "CompressO — source repository",
        "trustLevel": "D",
        "accessedAt": null
      }
    ],
    "claims": [
      {
        "id": "software:compresso.isA",
        "subject": "software:compresso",
        "predicate": "isA",
        "value": "media converter",
        "status": "editorially-reviewed",
        "sourceIds": [
          "compresso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:compresso.supportsPlatform",
        "subject": "software:compresso",
        "predicate": "supportsPlatform",
        "value": [
          "macOS"
        ],
        "status": "verified",
        "sourceIds": [
          "compresso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:compresso.officialWebsite",
        "subject": "software:compresso",
        "predicate": "officialWebsite",
        "value": "https://compresso.codeforreal.com/",
        "status": "verified",
        "sourceIds": [
          "compresso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:compresso.listedInCategory",
        "subject": "software:compresso",
        "predicate": "listedInCategory",
        "value": [
          "design"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "compresso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:compresso.pricingModel",
        "subject": "software:compresso",
        "predicate": "pricingModel",
        "value": "Open source",
        "status": "developer-stated",
        "sourceIds": [
          "compresso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:compresso.developedBy",
        "subject": "software:compresso",
        "predicate": "developedBy",
        "value": "Code For Real",
        "status": "developer-stated",
        "sourceIds": [
          "compresso:developer",
          "compresso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:compresso.ownership",
        "subject": "software:compresso",
        "predicate": "ownership",
        "value": "Third-party product — not published by Nuanyue",
        "status": "editorially-reviewed",
        "sourceIds": [],
        "lastVerified": null
      },
      {
        "id": "software:compresso.isOpenSource",
        "subject": "software:compresso",
        "predicate": "isOpenSource",
        "value": true,
        "status": "verified",
        "sourceIds": [
          "compresso:repository",
          "compresso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:compresso.licensedUnder",
        "subject": "software:compresso",
        "predicate": "licensedUnder",
        "value": "AGPL-3.0",
        "status": "verified",
        "sourceIds": [
          "compresso:repository",
          "compresso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:compresso.currentVersion",
        "subject": "software:compresso",
        "predicate": "currentVersion",
        "value": "3.0.0",
        "status": "developer-stated",
        "sourceIds": [
          "compresso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:compresso.hasFeature",
        "subject": "software:compresso",
        "predicate": "hasFeature",
        "value": [
          "Compresses video with FFmpeg and images with pngquant, jpegoptim and gifski, all through binaries that ship inside the app",
          "Batch compression for several videos or images at once, including dropping whole folders onto the window",
          "Trims, splits, crops, rotates, flips and rescales video before compressing it",
          "Converts between JPEG, PNG, WebP and GIF, and rasterises SVG to PNG, JPEG or WebP",
          "Builds animated GIFs from video and recompresses existing GIFs with quality and frame-rate controls",
          "Shows a before-and-after comparison slider for the original and the compressed file",
          "Embeds subtitles into the output video and extracts embedded subtitles as SRT or VTT",
          "Edits title, artist, album, year, genre and copyright metadata, and can preserve EXIF data when compressing images",
          "Runs entirely offline — the developer states the only network request the app makes is its own update check"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "compresso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:compresso.usedFor",
        "subject": "software:compresso",
        "predicate": "usedFor",
        "value": [
          "Shrinking screen recordings and phone video before sending them to someone",
          "Reducing a folder of images to a web-friendly size in one pass",
          "Trimming and re-encoding a clip without opening a full video editor",
          "Converting a batch of screenshots to WebP for a website",
          "Compressing a video without uploading it to an online service"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "compresso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:compresso.audienceFor",
        "subject": "software:compresso",
        "predicate": "audienceFor",
        "value": [
          "People who want a compressor that never uploads their files",
          "Anyone who prefers an open-source app they can read and build",
          "Users who need image and video compression in one tool rather than two"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "compresso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:compresso.audienceNotFor",
        "subject": "software:compresso",
        "predicate": "audienceNotFor",
        "value": [
          "Anyone who wants a notarized app with no Gatekeeper prompt — the disk image is unsigned",
          "Users who need fine codec and preset control, where HandBrake exposes far more",
          "People on macOS 12 or earlier, since the developer's own Homebrew cask sets the floor at macOS 13"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [
          "compresso:official"
        ],
        "lastVerified": null
      },
      {
        "id": "software:compresso.limitation",
        "subject": "software:compresso",
        "predicate": "limitation",
        "value": [
          "The macOS build is not notarized, so a manual download is blocked on first launch until you run `xattr -cr /Applications/CompressO.app`; the Homebrew cask does this for you",
          "The product website states the licence is MIT, while the repository ships an AGPL-3.0 LICENSE file and its README says AGPL 3.0. Nuanyue records AGPL-3.0",
          "Apple Silicon and Intel Macs need different disk images; there is no single universal build",
          "Neither the repository nor the product site states a minimum macOS version. The developer's Homebrew cask sets it at macOS 13 Ventura",
          "The developer reports the Linux build does not start on Debian 13 and Ubuntu 24; the macOS build is unaffected"
        ],
        "status": "editorially-reviewed",
        "sourceIds": [],
        "lastVerified": null
      },
      {
        "id": "software:compresso.advantage.0",
        "subject": "software:compresso",
        "predicate": "advantage",
        "value": "Free and open source under AGPL-3.0, with no paid tier, account, watermark or file-size limit.",
        "status": "verified",
        "sourceIds": [
          "compresso:repository"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:compresso.advantage.1",
        "subject": "software:compresso",
        "predicate": "advantage",
        "value": "Compression happens entirely on the Mac; the developer states the only network request the app makes is its own update check.",
        "status": "developer-stated",
        "sourceIds": [
          "compresso:repository"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:compresso.advantage.2",
        "subject": "software:compresso",
        "predicate": "advantage",
        "value": "Handles images and video in one app, including format conversion, GIF creation and SVG rasterisation.",
        "status": "verified",
        "sourceIds": [
          "compresso:official"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:compresso.advantage.3",
        "subject": "software:compresso",
        "predicate": "advantage",
        "value": "Ships separate Apple Silicon and Intel disk images, so neither kind of Mac runs the app under translation.",
        "status": "verified",
        "sourceIds": [
          "compresso:repository"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:compresso.advantage.4",
        "subject": "software:compresso",
        "predicate": "advantage",
        "value": "Batch processing, trimming, subtitle embedding and metadata editing are all in the app rather than in separate tools.",
        "status": "verified",
        "sourceIds": [
          "compresso:official"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:compresso.drawback.0",
        "subject": "software:compresso",
        "predicate": "drawback",
        "value": "The macOS build is not notarized, so Gatekeeper blocks a manual install until the quarantine attribute is removed.",
        "status": "developer-stated",
        "sourceIds": [
          "compresso:repository"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:compresso.drawback.1",
        "subject": "software:compresso",
        "predicate": "drawback",
        "value": "The website and the repository disagree about the licence: the site says MIT, the repository ships AGPL-3.0.",
        "status": "verified",
        "sourceIds": [
          "compresso:official"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:compresso.drawback.2",
        "subject": "software:compresso",
        "predicate": "drawback",
        "value": "There is no universal macOS build, so you have to know which chip your Mac has before downloading.",
        "status": "verified",
        "sourceIds": [
          "compresso:repository"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:compresso.drawback.3",
        "subject": "software:compresso",
        "predicate": "drawback",
        "value": "No minimum macOS version is published anywhere first-party, so the floor can only be inferred from the Homebrew cask.",
        "status": "verified",
        "sourceIds": [
          "compresso:repository"
        ],
        "lastVerified": "2026-10-05"
      },
      {
        "id": "software:compresso.supportsAppleSilicon",
        "subject": "software:compresso",
        "predicate": "supportsAppleSilicon",
        "value": true,
        "status": "verified",
        "sourceIds": [
          "compresso:repository"
        ],
        "lastVerified": "2026-10-05"
      }
    ],
    "lastUpdated": "2026-10-07T00:00:00.000Z",
    "lastReviewedAt": null
  }
}