Utilities10 min read

Scriptable: Turn Your iPhone Into an Automation Machine

Scriptable lets you write JavaScript to automate iOS tasks, build widgets, and control your phone like a developer. Here's what it can actually do.

Scriptable app icon
Developer Tools · Free
Developer: Simon B. Støvring · Rating: ★4.7 (3,607 reviews)

The Worst Thing About Scriptable Is Also the Whole Point

You have to write code. JavaScript code. On your phone. That's the deal.

If that sentence made you close the tab, fair enough. But if it made you curious even for a second, keep reading. Because what you get on the other side of that barrier is something Apple's own Shortcuts app has never managed to be.

Scriptable is a JavaScript runtime for iOS. It lets you write scripts that talk directly to your phone — your calendar, your reminders, your files, your location, your health data. Then it lets those scripts run as widgets on your home screen, or get triggered by Siri. It's the "I want to do exactly this specific thing" app, and nothing else comes close.

Nobody Actually Opens the Code Editor on Day One

Here's the real on-ramp: Scriptable has a script gallery. Other people have already built things. You install them, tweak a number or a color, and you're done.

Most users never go further than that. They grab a weather widget from the gallery, change the accent color to match their wallpaper, and call it a day. That's a completely valid use of this app.

But then something funny happens. You want the widget to show one more data point. You open the script. You look at the code. It's actually readable. One edit. Save. Done. And now you're a programmer, whether you meant to be or not.

The AI shortcut: In 2025, "write code" is no longer a hard barrier. Paste a script from the gallery into ChatGPT or Claude, describe what you want changed, paste the result back. Half the people using Scriptable seriously right now never wrote JavaScript before this app.

What You Can Actually Build

Let's be concrete. Here are things real people have built and shared.

A widget that shows your next three calendar events in whatever font and color you want. A Siri shortcut that checks if a website is down and reads the answer aloud. A daily summary widget that pulls from a weather API, a sports scores API, and your own reminders — all in one screen. A countdown to a date you care about. A pomodoro timer. A tip calculator. A widget that shows Bitcoin price in your currency.

All of these are free. All of them run locally, with no subscription, no backend, no account. The app itself costs nothing. Simon Støvring, the developer, takes tips through an in-app purchase if you want to support him. That's the entire business model.

"Scriptable + AI literally lets me create a bunch of micro apps on my phone like a tip calculator, pomodoro app, and so much more."

That review is accurate. It's not hype. The combination of a proper JS runtime plus today's AI tools genuinely turns Scriptable into a micro-app platform for anyone patient enough to try it.

Where the Learning Curve Gets Steep

The gallery scripts are great until they're not. Scriptable's APIs — the built-in functions for talking to your calendar, files, or network — are well-designed, but the documentation lives on a website, not in the app.

The in-app editor has autocomplete. It's usable. But debugging a broken script on a 6-inch screen is genuinely painful. Error messages are terse. The "run" button dumps output to a console at the bottom of the screen that's easy to miss.

If you're writing anything beyond a 30-line widget, you'll want to write it on a Mac and paste it in. Or use iCloud — scripts sync across devices, so you can edit on your Mac and run on your phone. That workflow works well, but it's extra friction that the app doesn't guide you toward.

Practical tip: Scripts auto-save to iCloud Drive under /Scriptable/. You can open them in any text editor on your Mac, edit, and they sync back to the phone instantly. Treat the phone as runtime, Mac as editor.

The Crash Problem Is Real and Annoying

There's a thread of reviews complaining about crashes on recent iOS versions. Specifically: open the app, it immediately quits. Not a script crash — the app itself.

This isn't universal. My device runs it fine. But enough people are hitting it that it's worth knowing before you build something you depend on. The reviews mention iOS 18 and 26 (beta). The developer is active — he posts on social media about updates — but Scriptable is a one-person project, and one-person projects have slower patch cycles.

If you're on the latest iOS beta, wait a version before relying on this for anything critical. That's just the reality of indie software on a platform that changes its APIs twice a year.

Scriptable vs. Apple Shortcuts (and Why Shortcuts Isn't the Answer)

The obvious question: Apple already ships an automation app. Why not use that?

Shortcuts is great for simple flows — "when I get home, turn on the lights." It's visual, it's guided, and it works for most people most of the time. But the moment you need a loop, conditional logic, or data from an API that doesn't have an official Shortcuts action, you hit a wall.

Scriptable is what you use when Shortcuts made you feel like you were fighting it.

FeatureScriptableApple Shortcuts
Custom widgetsFull control via JSVery limited
Arbitrary API callsYes, any URLYes, with limits
Logic (loops, conditionals)Full JavaScriptClunky visual blocks
No-code friendlyGallery helps, but noYes
PriceFreeBuilt into iOS
Siri integrationYes, via ShortcutsNative

The other alternative worth mentioning is a-Shell — a full Unix terminal for iOS. If you want to run Python scripts or shell commands, that's the tool. Scriptable is specifically iOS-native JavaScript. It's not trying to be a general terminal.

The One Thing Most Reviews Don't Say

Scriptable is maintained by one developer, and it shows — in both the good and bad ways.

The good: the API is coherent. Things work the way you'd expect them to work. When you call Calendar.forEventsByTitle(), it does exactly that. There's no legacy cruft, no inconsistent naming, no "this function was added by a different team and doesn't fit." One person made this, and that person cared.

The bad: new iOS features take time to get support. Apple adds something in June, Scriptable might get it by September. That's fine for most use cases, but if you're chasing the bleeding edge, you'll wait.

"This app is so good I never have left an App Store review but in no time I had made the cutest JavaScript countdown / days since widget for freeeeeeeee!!"

That reaction — "I don't leave reviews but had to for this" — is common. The app genuinely surprises people with how much it gives away for free.

Good
  • Completely free, no subscription
  • Full JavaScript runtime — no arbitrary limits
  • Deep iOS integration (calendar, files, health, reminders)
  • Scripts sync via iCloud
  • Active community with shareable gallery scripts
  • Clean, coherent API design
  • Siri Shortcuts support built in
Bad
  • Crashes on some iOS versions (reported, unresolved)
  • No in-app documentation — you need the website
  • Debugging on-device is genuinely painful
  • New iOS features arrive late
  • One-person project — patch velocity is unpredictable
  • Steep curve if you've never touched JavaScript

Who Should Actually Download This

Download it if you've ever looked at your home screen and thought "I want a widget that shows exactly this, not what Apple decided." That's the Scriptable customer.

Download it if you know a little code and want to build small, personal tools. A script that texts you if your website goes down. A widget that tracks how many days until your next vacation. A Siri command that postpones your next meeting. These are 30-100 line scripts. Anyone who's done one coding tutorial can write them.

Download it if you don't code at all, but you're willing to paste stuff from the internet and change a couple of values. The gallery is genuinely good. Most popular scripts come with clear instructions for what to edit.

Skip it if you want a polished, guided automation experience. Shortcuts is better for that. Skip it if you're on a buggy iOS version and need something rock-solid. And skip it if the idea of looking at code — even with AI help — genuinely makes you anxious. There's no shame in that. This app has a specific personality and it's not for everyone.

Bottom line:Scriptable is the most capable free utility app in the App Store for anyone willing to write — or borrow — twenty lines of JavaScript. The crash reports are real and worth watching, but the core product is excellent. Simon Støvring built something Apple should have shipped years ago.

FAQ

Do I need to know JavaScript to use Scriptable?

Not to get started. The gallery has dozens of ready-made scripts. You install them, change a few settings in the code (colors, your city name, your timezone), and run them. You'll be reading JavaScript before long, but writing from scratch isn't required on day one.

Is the crash issue widespread?

It's reported enough to take seriously. Multiple reviews mention the app immediately crashing on iOS 18 and newer. If you hit this, the workaround is to uninstall, restart your phone, and reinstall. Some users report that works. Others say it doesn't. Check the App Store reviews for your specific iOS version before relying on it.

Can widgets update automatically, or do I have to run the script manually?

Widgets refresh automatically on iOS's own schedule — the same way every widget does. iOS decides when to refresh based on battery, usage patterns, and how often the widget changes. You can't force a real-time refresh, but for most use cases (weather, calendar, sports scores), the update frequency is fine. For something that needs to update every minute, widgets in general aren't the right tool.

Is there a way to share scripts with other people?

Yes. Scripts can be shared as a URL that Scriptable opens directly. The community uses this extensively — someone posts a script on Reddit or a blog, you tap the link, it opens in Scriptable, done. There's also the in-app gallery, though it's curated and smaller than what you'll find by searching "Scriptable widget" on Reddit or GitHub.

developer-toolsautomationiosjavascript