Welcome to Omni Widgets
Omni Widgets is a tool app that lets you DIY your own iOS widgets. You can put together a good-looking widget without writing any code; want something more complex — a widget that fetches data from the network or reacts to interaction? Omni ships with a full JavaScript runtime, so you can write scripts right inside the widget.
What can Omni do
- 9 widget types: home screen small / medium / large; lock screen circular / rectangular / inline; Control Center button / toggle; Live Activity (Dynamic Island).
- Visual editor: text, image, SF Symbol, button, shape, container… one tap to add.
- JavaScript APIs: network requests, weather, location, health, calendar, files — plus dynamic control over widget refresh and Live Activities.
- Placeholder syntax: bind the data you fetch in JS straight to your components with
{variable}. - iCloud sync, URL Scheme, Shortcuts: deep integration with the system.
How to read the docs
If this is your first time with Omni, just go in this order:
- Concepts — get "widget types / editor / where data comes from" in 5 minutes
- Build your first widget — follow along and build a "current weather" widget
- Placeholder syntax — the key step for getting JS data into components
If you're already familiar, jump straight to Components and API in the left sidebar.
Run into trouble?
- Widget not refreshing? That's iOS system behavior — see Widget refresh control.
- JS throwing errors? Open the "console" in the editor to see your
console.logoutput. - Want to see what's new? Check the Changelog.