RunJS icon

RunJS

Bind CSS and JavaScript to any URL. Open from the popup or Dashboard, then inject after the page lands. Leave code empty to open the URL only — no site access required.

RunJS Dashboard and popup interface mockup

One-click workflows for sites you use every day

Save a name, target URL, and optional CSS/JS in the Dashboard. Local-first by default; optional Google Drive sync if you enable it — no ads, no tracking.

Open & inject

Click a saved entry to open the URL and inject after load. Empty CSS/JS means open-only.

Local-first

Scripts, preferences, and drafts stay on this device; optionally sync to your Google Drive app data.

Real-page ready

Follows redirects, supports SPAs and iframes, with configurable inject timing.

What you can do

  • Dashboard — library with General / CSS / JS / Settings, CodeMirror editor, format, URL test, and draft restore.
  • Popup — search and filter; click to open-and-inject, or open only when code is empty.
  • Injection — host + path-prefix or Chrome match patterns; isolated or page-main world; start / DOM ready / load / idle / delay; persist across refresh.
  • Library tools — import/export JSON, batch delete, drag reorder, conflict handling on import.
  • Optional Google Drive sync — Settings → Storage; merge per script; deletes and list order sync too.

Chrome 135+

To inject saved scripts on Chrome 138+, open chrome://extensions → RunJS details → enable Allow User Scripts. Site access is requested only for origins where you saved inject code.

Get started

Install RunJS from the Chrome Web Store. You can also review the privacy policy and terms anytime.