Submit your feed
By URL, by file, or by paste. We'll inspect it in your browser — nothing is uploaded.
Enter the URL to your appcast.xml file. We'll fetch it through our proxy and validate it for you.
Drop your appcast.xml here · or
browse
Paste the full XML content of your appcast feed.
Sparkle is the standard framework for
delivering software updates to macOS apps. It reads an
appcast.xml feed to discover new versions. This tool
catches mistakes before your users do — checking signature
metadata, versions, URLs, and appcast rules drawn from the
Sparkle documentation.
Updated for Sparkle 2.10: check the macOS 12 minimum for selected updates, validate signed release-note metadata, and keep older releases in your feed. Read the changelog ↗
From the terminal
Install the CLI for local validation and CI/CD integration. Requires Node.js 22 or later.
-
npm
$ npm install -g sparkle-validator -
brew
$ brew tap dweekly/sparkle-validator
brew trust --formula dweekly/sparkle-validator/sparkle-validator
brew install dweekly/sparkle-validator/sparkle-validator -
npx
$ npx sparkle-validator https://example.com/appcast.xml
Check build 200 in a feed containing historical releases (replace 200 with your update's build version):
sparkle-validator --target-sparkle-version 200=2.10.0 appcast.xml
--require-signed-feed metadata checks
--base-url relative links
--check-urls verify links
--strict mode
JSON output
stdin support
In your pipeline
Validate appcasts automatically on every push.
- uses: dweekly/Sparkle-Validator@v1
with:
file: appcast.xml
strict mode
check-urls option
target-sparkle-version
require-signed-feed
JSON output
View on Marketplace ↗
Schema validation
Validate offline against our XSD schema with xmllint.
$ curl -fSLO https://sparklevalidator.com/appcast.xsd
$ curl -fSLO https://sparklevalidator.com/sparkle-appcast.xsd
$ curl -fSLO https://sparklevalidator.com/xml.xsd
$ xmllint --nonet --schema appcast.xsd --noout your-appcast.xml
Download all three files into the same directory once, then validate offline. XSD checks structure; use the validator for version, signature-format, and Sparkle compatibility checks.