EVERYTHING XIAOMI
Get listed

J2ObjC

J2ObjC is a free, open-source command-line tool from Google that translates Java source code into Objective-C for iOS.

Place
#16 of 28
Score
6.2
J2ObjC's website

What J2ObjC is

J2ObjC is a free, open-source command-line tool from Google that translates Java source code into Objective-C for iOS. It is intended to let developers share non-UI code, including application logic and data models, across web, Android, and iOS apps. It supports Java features such as exceptions, inner and anonymous classes, generics, threads, and reflection, and can translate and execute JUnit tests. Its distribution includes static libraries for Guava, JUnit, Mockito, Protocol Buffers, and other Java libraries or Android utility classes. J2ObjC does not provide a platform-independent UI toolkit; iOS interfaces need to use Objective-C, Objective-C++, or Swift with Apple's iOS SDK. Developers must have source code they own or are licensed to use; the tool cannot convert Android binary applications. Requirements include a Mac workstation or laptop, macOS 15 or higher, Xcode 16 or higher, and JDK 21 or higher. Developers handle memory management using Objective-C reference counting.

Good

  • Free and open source under Apache 2.0.
  • Supports many Java language features.
  • Can translate and execute JUnit tests.
  • Includes several Java library static libraries.

Watch out

  • Requires a Mac, macOS 15, Xcode 16, and JDK 21.
  • Does not provide a platform-independent UI toolkit.
  • Developers remain responsible for memory management.
  • Cannot convert Android binary applications.

Who it suits

J2ObjC suits developers who want to reuse Java non-UI code in iOS apps and can work with the listed Mac, Xcode, and JDK requirements. It is not for converting Android binaries or sharing a cross-platform UI.

Verdict

J2ObjC can help developers reuse Java logic in iOS projects when source code is available. Its lack of a shared UI toolkit and its specific Mac toolchain requirements are important constraints.

Plans and prices

From J2ObjC's own pricing page, checked 7 Oct 2026.

All about pricing
PlanPriceWhat it gives you
Free and open sourceFreeApache 2.0 license · Mac workstation with macOS 15 or higher, Xcode 16 or higher, and JDK 21 or higher

The facts

Each one read from J2ObjC's own pages, with the date it was checked.

What it does

Artifact signing
The project says some Maven Central artifacts under groupId com.google.j2objc are signed with a published PGP/GPG key.checked 7 Oct 2026
Build integration
The j2objcc command-line script wraps clang and uses the iOS SDK, while Xcode projects need J2ObjC-specific linker settings.checked 7 Oct 2026
Java support
It supports Java features including exceptions, inner and anonymous classes, generics, threads, and reflection.checked 7 Oct 2026
Libraries
The distribution includes static libraries for Guava, JUnit, Mockito, Protocol Buffers, and other Java libraries or Android utility classes.checked 7 Oct 2026
Memory management
J2ObjC uses Objective-C reference counting, and its documentation says developers are responsible for memory management and can introduce leaks.checked 7 Oct 2026
Requirements
The listed requirements are a Mac workstation or laptop, macOS 15 or higher, Xcode 16 or higher, and JDK 21 or higher.checked 7 Oct 2026
Shared code
It is intended to let developers write non-UI code such as application logic and data models in Java for use across web, Android, and iOS apps.checked 7 Oct 2026
Source code required
J2ObjC cannot convert Android binary applications; developers need source code they own or are licensed to use.checked 7 Oct 2026
Support
The project points users to its issue tracker, Stack Overflow j2objc tag, and Google Groups discussions for help.checked 7 Oct 2026
Test support
J2ObjC supports translating and executing JUnit tests.checked 7 Oct 2026
UI limit
It does not provide a platform-independent UI toolkit, and its documentation says iOS UI should use Objective-C, Objective-C++, or Swift with Apple's iOS SDK.checked 7 Oct 2026
What it does
J2ObjC is an open-source command-line tool from Google that translates Java source code to Objective-C for iOS.checked 7 Oct 2026

Where it runs

Linux limitation
The project states that J2ObjC is supported only on iOS and macOS, while GNU/Linux use requires the Darling project.checked 7 Oct 2026

Alternatives to J2ObjC

All alternatives
  1. 1

    JSweet

    Free planOpen sourceAndroidiOSWebAPI
    7.7Free plan
  2. 2SWC logo

    SWC

    Free planAndroidWebAPILinux
    7.1Free plan
  3. 3

    Transcrypt

    Free planWebLinuxmacOSSelf-hosted
    6.7Free plan
  4. 4
    6.6Free plan
  5. 5

    Google Web Toolkit

    Free planWebExtensionLinuxmacOS
    6.5Free plan
  6. 6

    Haxelib

    Free planAPILinuxmacOSWindows
    6.5Free plan