System requirements
The minimum OS, toolchain and devices for PDF-SDK on iOS, iPadOS, Mac Catalyst, Android, the web, Flutter and React Native.
Every platform ships the same release, so these are the minimums for PDF-SDK 2.4.
At a glance
| Platform | Minimum | Toolchain | Devices | Notes |
|---|---|---|---|---|
| iOS and iPadOS | iOS 15 | Swift 6; built and tested with Xcode 27 | iPhone, iPad, simulators | Swift Package Manager |
| Mac Catalyst | Mac Catalyst 15 | Xcode 27 | Apple silicon and Intel | The Form Editor mode is not available |
| Android | API 26 (Android 8.0) | Gradle, Maven dependency | arm64-v8a | 16 KB page-size compatible |
| Web | WebAssembly threads, WebGL2, SharedArrayBuffer | npm package and the wasm/ folder | Desktop and phone browsers | Served over HTTPS, cross-origin isolated |
| Flutter | Flutter 3.44 (tested on 3.47) | Swift Package Manager enabled | iOS 15+, Android API 26+ (arm64-v8a) | No CocoaPods |
| React Native | React Native 0.87 | Swift Package Manager setup | iOS 15+, Android API 26+ (arm64-v8a) | No CocoaPods |
iOS 14 and earlier. PDF-SDK 2.0 moved the minimum to iOS 15, because Xcode 27 builds nothing lower. To ship to iOS 14, stay on Xcode 26 and PDF-SDK 1.14.3. See the 2.0.0 release notes.
Web browsers
The web editor needs WebAssembly threads, WebGL2 and SharedArrayBuffer, which browsers allow only on a page that is cross-origin isolated — served over HTTPS (or localhost) with the Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy headers. See Serve it cross-origin isolated.
The automated test suites run in current Chrome at desktop and phone sizes, and Safari is used in development. Other browsers with those features should work, but are not part of the test matrix.
Android devices
The SDK ships for arm64-v8a. On a device without it, PdfEditorSdk.isSupportedDevice is false — check it before you open the editor. See Troubleshooting.
A license key
Every platform needs a license key for your app's bundle identifier, package name or web domain, set once at launch. See License keys.
License keys
PDF-SDK is licensed per app. Each app sets the license key issued for it once at startup. Without a valid key the editor does not open documents — there is no free tier and no watermark.
Web
The engine runs in the page as WebAssembly and draws into a <canvas> you provide. PDFEditor is the whole API: open bytes, let the user edit, take bytes back. Nothing is uploaded — the document never leaves the tab.