Compare

AirStrings vs Lokalise OTA: over-the-air strings without a paid plan

Updated

Lokalise has a working over-the-air (OTA) SDK, but it is only available on paid plans: there is no free plan, and paid plans start at $149 per month billed annually. AirStrings includes signed over-the-air delivery on its free plan, verifies every bundle with Ed25519 on the device, and also ships SDKs for React Native and web, while Lokalise remains the stronger choice for a full translation-management workflow.

This page compares the two for one job: changing the text in a shipped app without a new store release.

What Lokalise OTA is

  • It is active and maintained. Lokalise documents OTA SDKs for Android, iOS and Flutter, plus an OTA API for building your own client (Lokalise OTA SDK docs).
  • It needs a paid plan. In Lokalise’s own words: “The OTA service can be used on every subscription plan (the only exception is the Free plan; you can still use OTA on Trial though).” Today there is no Free plan on the pricing page, only a 14-day trial.
  • It is metered by data transfer. The pricing page lists “OTA calls” on every plan as unlimited requests with a monthly data-transfer allowance: 10 GB on Explorer, 50 GB on Growth, 200 GB on Advanced and 500 GB on Enterprise, with extra data at $0.80 per GB.
  • Plans start at $149 per month. Explorer is $149/month billed annually ($169 billed monthly), Growth $379 ($439), Advanced from $1,049 with annual billing, Enterprise on request.
  • Bundles are deltas. Lokalise’s OTA bundle “includes only the translations modified since the last app release”, layered on top of the translations compiled into the app.

Facts above checked on October 4, 2026, from Lokalise’s pricing page and developer docs.

Comparison

Lokalise OTAAirStrings
Lowest plan with OTAExplorer, $149/month billed annuallyFree, €0
OTA meteringUnlimited requests, 10 to 500 GB/month data transfer by plan, $0.80 per extra GBNot metered by downloads on any plan
OTA SDKsiOS, Android, Flutter, plus an OTA APIiOS (Swift), Android (Kotlin), React Native, Web
Bundle signature verified on deviceNot described in Lokalise’s OTA documentationEd25519 on every bundle, every plan; unsigned or tampered bundles are rejected
Bundle contentsTranslations changed since the app releaseFull signed bundle per locale and environment
ICU plurals and selectsSupported in the Lokalise editortext or ICU MessageFormat per key, formatted by the SDK
Translation managementMature: translation memory, glossary, AI and human translation, reviews, design and repo integrationsKeys, locales, environments, CSV import, CLI and MCP; no translation memory or vendor marketplace
Free planNone (14-day trial)1 project, 1,000 keys, 3 locales, 2 environments

Where AirStrings is different

  • OTA on the free plan. You can put remote strings into a production app and keep them there without a subscription. Paid AirStrings plans add projects, keys, locales and seats, not delivery.
  • Signed content, checked on the device. HTTPS protects the connection, not the storage behind it. AirStrings signs each bundle with Ed25519, and the SDK refuses any bundle whose signature does not verify against public keys compiled into your app, so a tampered bucket or cache cannot put a fake support number on screen.
  • React Native and web. Lokalise’s OTA SDKs cover iOS, Android and Flutter. AirStrings has first-party SDKs for React Native and web as well as native iOS and Android.
  • No data-transfer meter. You do not need to estimate users × bundle size × releases per month before you ship.

When Lokalise is the better choice

  • Translation is the hard part. If you run a localization team with translators, reviewers, translation memory, glossaries and machine translation across apps, websites and documents, Lokalise is a full translation-management system. AirStrings is not.
  • You use Flutter. Lokalise has an OTA SDK for Flutter. AirStrings does not have one yet.
  • You already pay for Lokalise. OTA is included in your plan. Unless signed delivery or React Native and web support matters to you, adding a second tool is extra work.

You can also combine them: keep translating in Lokalise, export to CSV and publish with airstrings import csv, so delivery is signed while the translation workflow stays where it is.

What it looks like in your app

import AirStrings

let airStrings = AirStrings(configuration: .init(
    organizationId: "org_xxx",
    projectId: "proj_xxx",
    environmentId: "env_xxx",
    publicKeys: ["BASE64_ED25519_PUBLIC_KEY"]
))

// Pattern: "{count, plural, one {# item} other {# items}}"
airStrings.string("items.count", args: ["count": 3])
airstrings strings set checkout.cta en="Pay now" it="Paga ora" --format text --push
airstrings publish

Devices pick up the change on their next refresh. Setup for every platform is in How to update app strings without an App Store release, moving off CodePush is covered in CodePush for strings, and the open-source option is compared in AirStrings vs Tolgee.

FAQ

Does Lokalise still offer OTA?

Yes. Lokalise maintains OTA SDKs for iOS, Android and Flutter and an OTA API. OTA is available on every paid plan and on the 14-day trial, but not on a free plan. Checked October 4, 2026.

How much does Lokalise OTA cost?

OTA is included in Lokalise plans, which start at $149 per month billed annually (Explorer). Each plan includes unlimited OTA requests and a monthly data-transfer allowance from 10 GB to 500 GB, with extra data at $0.80 per GB.

Is AirStrings OTA really free?

Yes. The free plan includes signed over-the-air delivery for 1 project, 1,000 keys, 3 locales and 2 environments, with no credit card. Downloads are not metered.

Can I keep Lokalise for translation and use AirStrings for delivery?

Yes. Export translations from Lokalise as CSV and import them with airstrings import csv, then publish. Delivery is signed and verified on the device while translators keep working in Lokalise.

Does AirStrings support Flutter?

Not yet. AirStrings has SDKs for iOS (Swift), Android (Kotlin), React Native, web and Go (server-side). If you need OTA strings in Flutter today, Lokalise has a Flutter OTA SDK.