Install without the stores.

Qrammerly is open source and you can install every piece directly — no Chrome Web Store, no AMO, no App Store. Pick your platform below.

Chrome Edge Firefox Safari macOS

Chrome

Works on stock Chrome with Developer Mode enabled. No store account needed.

  1. Download the repo zip and unzip it. (Or git clone.)
  2. Open chrome://extensions.
  3. Toggle Developer mode on (top right).
  4. Click Load unpacked and select the chrome-extension/ folder.
  5. Pin the Q icon to the toolbar.

Chrome shows "extension was loaded unpacked" once on startup — that's expected.

Microsoft Edge

Edge is Chromium so the steps are nearly identical.

  1. Download or clone the repo.
  2. Open edge://extensions.
  3. Toggle Developer mode.
  4. Load unpacked → select edge-extension/.

Firefox

Two paths: temporary (instant, vanishes on restart) or signed XPI (permanent).

Temporary install

  1. Open about:debugging#/runtime/this-firefox.
  2. Click Load Temporary Add-on…
  3. Select firefox-extension/manifest.json.

Permanent install (signed XPI)

For a permanent install Firefox requires the add-on to be signed by Mozilla, but you don't need to publish it on AMO — choose self-distribution when you submit. We ship signed XPIs on the GitHub Releases page; drop the file onto Firefox to install.

Safari

Safari is the strictest. Two options:

Option A — Run unsigned during development

  1. Safari → Settings → Advanced → enable Show Develop menu.
  2. Develop → Allow Unsigned Extensions (re-prompts every Safari restart).
  3. Build the Xcode wrapper from safari-extension/Resources/ per the README in that folder, then run it once from Xcode.
  4. Settings → Extensions → enable Qrammerly.

Option B — Notarize the host app

Notarization is an automated Apple security scan, not the App Store editorial review. After notarization, Safari runs the extension on any Mac forever. We ship a notarized .dmg on GitHub Releases.

macOS app

Distributable directly as a .dmg — no App Store needed.

From Releases

  1. Download Qrammerly.dmg from GitHub Releases.
  2. Drag Qrammerly.app into Applications.
  3. If macOS shows a Gatekeeper warning, right-click the app → Open → confirm. (Notarized builds skip this entirely.)
  4. Grant Accessibility on first launch.

From source

cd mac-app
swift run

Self-host the API (optional)

By default everything talks to qrammerly.com/v1/*. Run your own backend if you'd rather keep keys and corpus on your hardware.

# Cloudflare Workers (free tier, recommended)
cd worker
npm install
npx wrangler login
npm run deploy

# Or self-hosted Docker
docker compose up --build

Then change the API endpoint in the extension popup's Settings tab.

Open source — please contribute

Qrammerly is MIT-licensed. Issues, PRs, and stars all genuinely help.

View on GitHub → File an issue