← All posts

Guides

Migrating from Stylish / Stylus to JustZix — what you gain beyond CSS

If you've been using Stylish or Stylus for years — JustZix is their natural successor. Everything those do for CSS, JustZix does too. Plus: JS rules (Stylus doesn't have those), action bars with 6 button types (slider/toggle3/textarea), 4 window types on the frontend (CSS pane / JS pane / JS Console / Output Console), snap connections for dashboard layout, share links with TTL, and sync across devices. No account, no tracking, fully open-source. This post covers what to copy over from Stylus and what to add from JustZix along the way.

Why migrate — quick summary

FeatureStylishStylusJustZix
CSS injection on URL match
JS injection on URL match
Action bar with buttons✓ (6 types)
Live editor in the tab (no F12)✓ (CSS pane)
JS REPL in the tab✓ (JS Console)
Sync across devices✓ (via account)~ (Stylus Sync)✓ (chrome.storage.sync, no account)
Share via link✓ (userstyles.org)✓ (userstyles.org)✓ (TTL 1-48h, own backend)
User tracking⚠️ (historic incident)
Open source✗ (closed source)✓ (GPL3)✓ (MIT)
GDPR compliance?n/a (local only)✓ (EU backend)

Step 1 — Export styles from Stylus

Stylus has a built-in backup export:

  1. Open Stylus extension → "Manage" → "Backup" → "Export styles to file"
  2. Save stylus_backup.json — that's JSON with each style (CSS code + sections with URL prefixes)

Stylish: if you used it, you likely have local backups or keys to userstyles.org. JustZix has no direct import — manual copy-paste (each style = a new JustZix rule). Average 30 seconds per style.

Step 2 — Concept mapping

Terminology differs, semantics are similar:

StylusJustZixNotes
StyleCSS rule inside a ruleEach Stylus style = one rule in a JustZix folder
Section with URL prefixScope per ruleJustZix scope: domains, regex, wildcard patterns
@-moz-document url(...)scope.url + regexJustZix doesn't need @-moz-document (CSS is auto-scoped by the rule's scope)
Variables (Stylus user-vars)SLIDER + TOGGLE3 + INPUT actionsMore UI-driven: visual slider, toggle3 segments
Folder / categoryJustZix folder1:1 mapping

Step 3 — Paste the CSS

For each Stylus style:

  1. In JustZix options: Folder → +Rule
  2. Scope: pick "URL pattern" and paste the Stylus URL prefix (e.g. https://reddit.com/*)
  3. CSS tab: paste the whole code from the Stylus section (without the @-moz-document wrapper — JustZix wraps it automatically)
  4. Save

Stylus syntax-specific: if you used a Less/Stylus/SCSS preprocessor in Stylus, you must pre-process to plain CSS before pasting. JustZix is plain CSS only (no in-browser babel).

Step 4 — Add features Stylus doesn't have

After CSS migration, you can enrich each rule with things impossible in Stylus:

4a. JS rule — auto-skip cookie banner

Classic Stylus gap — JS is a side-channel unavailable to CSS. JustZix add JS in the same rule:

// JS rule (same scope as CSS)
const observer = new MutationObserver(() => {
  const accept = [...document.querySelectorAll('button, a')]
    .find(b => /accept all|akceptuj wszystkie/i.test(b.textContent));
  if (accept) { accept.click(); observer.disconnect(); }
});
observer.observe(document.body, { childList: true, subtree: true });

CSS hid the banner visually (defense), JS clicks "Accept" when the banner appears (offense). One rule, two layers.

4b. SLIDER action — font-size live tweak

Stylus userstyle with var(--font-size) and a number prompt — clunky. JustZix:

// Action SLIDER "🔤 Font"
min: 12, max: 22, step: 1, defaultValue: 16, unit: 'px'

code: |
  document.documentElement.style.setProperty('--user-font', value + 'px');

CSS rule uses: body, p, span { font-size: var(--user-font, 16px) !important; }. Drag the slider in the action bar → live update without F5. Per-domain memory.

4c. CSS pane — live editor for new snippets

Stylus requires opening the options page + edit + save + reload page. JustZix CSS pane = a panel next to the page, writing CSS, live update inside the tab itself. F5 preserves pane content (sessionStorage). Perfect for "try something temporarily".

Step 5 — Setup sync

Stylus Sync requires a separate Stylus account + manual config. JustZix uses chrome.storage.sync automatically — if you're signed into Chrome, rules are encrypted and synced via Google Account.

chrome.storage.sync limit: 100 KB total + 8 KB per item. JustZix splits large rules across items. In practice 50-100 CSS+JS rules fit fine. Above that → chrome.storage.local fallback (per-device, no sync).

Step 6 — Share via TTL link (instead of userstyles.org)

userstyles.org = central registry, public, persistent. JustZix Share = ephemeral, opt-in, TTL from 1h to 48h:

  1. JustZix rule → "Share" (clipboard icon in the top-right)
  2. Pick TTL: 1h / 8h / 24h / 48h
  3. You get a link https://www.justzix.com/s/aBcDeF123
  4. Paste to your team in Slack/Discord. Click → they import the rule into theirs
  5. After TTL → link 404s, data deleted from backend (GDPR compliance)

Perfect for QA teams — "test this flow with my setup", "try this UI tweak", "here's a QA bar to import". No persistence in a public registry.

Use case 1 — Reddit reader mode

A Stylus userstyle "Old Reddit reader mode" → 200 lines of CSS hiding the sidebar, ads, recommendations. JustZix:

Stylus = static styling. JustZix = interactive customization layer.

Use case 2 — GitHub dark mode (a better version)

A Stylus userstyle "GitHub Dark" → 500 lines of CSS with hardcoded colors. JustZix:

Customization directly in the tab, without going back to the Stylus options page.

Migration pitfalls

What's next

After migrating from Stylus you have the same functionality + 5x more. Everything optional — you can use just CSS rules like in Stylus, or explore JS rules, action bars, panes one by one. Check also:

Install JustZix — Stylus can live in parallel (Chrome allows both extensions at once), so you can try JustZix without deleting Stylus. After a week you'll see you only need one.

Rate this post

No ratings yet — be the first.

Try it yourself

Install JustZix and paste any snippet from this article. Two minutes from zero to a working rule across all your devices.

Get JustZix

Features · How it works · Examples · Use cases