Open source · iOS · iPadOS · macOS

Widgets, written your way.

Write JavaScript and JSX, preview in ScriptWidget Studio, and render native WidgetKit experiences across Apple platforms—without authoring every widget in Swift.

A gallery of widgets created with ScriptWidget
JavaScriptCore runtimeNative SwiftUI renderingLive preview on MacCommunity gallery

From an idea to a native widget.

Write in JavaScript + JSX

Compose familiar declarative layouts and use versioned APIs for data, files, networking, storage, device state, and more.

Build in Studio

Edit with diagnostics, inspect runtime output, and preview multiple widget families without repeating an Xcode build loop.

Share real packages

Use versioned manifests, explicit permissions, host allowlists, and the community Gallery to distribute reusable widgets.

JSX in. Native WidgetKit out.

$render(
  <vstack frame="max" padding="16" background="#171923">
    <text font="caption" color="#a9b0c0">Today</text>
    <text font="largeTitle" color="#ffffff">Build something useful.</text>
  </vstack>
);

Build the widget platform with us.

Star the repository to follow releases, open an issue with a real workflow, or contribute a template to the verified Gallery.

ScriptWidget stars on GitHub