PD
ProgrammaticDesign
Back to Blog
Development
15 min read2026-02-03

ExtendScript vs UXP: Which Should You Learn in 2026?

Short answer: UXP if you're starting fresh. Long answer: it's complicated and depends on what version of InDesign your clients are running. After two years of building in both environments, here's my honest assessment.

Two years ago I committed to learning UXP seriously. Adobe had been pushing it as the future of Creative Cloud extensibility since 2021, ExtendScript was officially deprecated, and I wanted to be building on a platform that would still work in five years.

Here's what I actually found.

What UXP does better

The JavaScript runtime is modern. You get actual ES2020 features — async/await, destructuring, template literals, proper Promises. After years of writing ExtendScript in ES3, this alone was worth the migration pain.

The UI framework is real HTML and CSS. Your panels look like actual user interfaces instead of the ScriptUI grid layout that's been frozen in time since InDesign CS3.

The networking APIs work. Making HTTP requests from an ExtendScript was a custom-socket-connection nightmare. In UXP it's just the standard Fetch API.

What UXP does worse, or just differently

The DOM API is different. If you have years of ExtendScript muscle memory — app.activeDocument.pages.item(0).textFrames, all of it — you have to relearn the equivalent UXP calls. The InDesign DOM is largely the same, but the access patterns change.

The debugging story is immature. The UXP Developer Tool is improving but I still spend more time console-logging than I'd like. ExtendScript Toolkit was clunky but it worked.

Performance: for tight loops over large documents, ExtendScript is still faster in my testing. UXP adds overhead that matters when you're iterating over 10,000 objects.

The version compatibility problem

This is the real constraint for consultants. UXP requires InDesign 2021 (v16.0) or later. Not every client has updated.

I have two clients still on CC 2019 because they can't upgrade until they replace hardware that can't run newer versions. Any tool I build for them has to be ExtendScript.

My actual recommendation

If you're building tools exclusively for your own use, or for clients you know are on recent versions: learn UXP. The modern JavaScript environment is significantly better to work in, and it's where Adobe is investing.

If you're building tools to sell or distribute broadly: support both. UXP for users on 2021+, ExtendScript for everyone else. It's extra work but the install base matters.

If you're inheriting or maintaining existing scripts: stay in ExtendScript. Migrating working code to UXP to get modern syntax is rarely worth it unless you're doing a complete rewrite anyway.

The hard truth about timeline

Adobe has been saying "ExtendScript is deprecated" since 2021. It's still fully functional in 2026. I don't think it's going away in the next two years — the transition has been slower than Adobe originally communicated. Plan for the long tail.

Questions about automating your InDesign workflow?

Get in touch
ExtendScript vs UXP: Which Should You Learn in 2026? — Programmatic Design | Programmatic Design