All major languages and platforms supported
We 🤍 AI & Mobile Apps
Make your AI Apps always available, reliable companions
✔ Enabling on-device AI.
✔ Offline capable. No internet needed to run
✔ Scalable. Grows with your needs effortlessly
✔ Battery-Friendly.
✔ Data Control. Your data. Stays where you decide
✔ Flexible, easy & fast! Superpowers for developers
Explore more >
We 🤍 PoS Terminals
Uninterrupted PoS experiences
✔ No internet needed to keep selling
✔ The kind of fast your customers feel
✔ 100% transactionally safe
Explore more >
We 🤍 Automotive
Empowering Software-Defined Vehicles
✔ Agile APIs. Swiftly add features
✔ ECU Sync. Decentralised, in harmony
✔ VSS Ready: Easily use data standards
Explore more >
TRUSTED BY DEVELOPERS FROM LEADING INDUSTRIES
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | @Entity public class Person { @Id long id; String firstName; String lastName; } BoxStore store = MyObjectBox.builder() .name("person-db") .build(); Box<Person> box = store.boxFor(Person.class); Person person = new Person("Joe", "Green"); long id = box.put(person); // Create person = box.get(id); // Read person.setLastName("Black"); box.put(person); // Update box.remove(person); // Delete |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | // person.fbs table Person { id: ulong; first_name: string; last_name: string; } ... OBX_txn* txn = obx_txn_begin(ob); OBX_cursor* cursor = obx_cursor_create(txn, person_entity_id); obx_id id = person_put(cursor, 0, "Joe", "Green"); // Create Person_table_t person = person_get(cursor, id); // Read person_put(cursor, Person_id(person), Person_first_name(person), "Black"); // Update obx_cursor_remove(cursor, id); // Delete |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | @Entity data class Person( @Id var id: Long = 0, var firstName: String? = null, var lastName: String? = null ) val store = MyObjectBox.builder() .androidContext(context) .build() val box = store.boxFor(Person::class) var person = Person(firstName = "Joe", lastName = "Green") val id = box.put() // Create person = box.get(id) // Read person.lastName = "Black" box.put(person) // Update box.remove(person) // Delete |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | //go:generate objectbox-bindings type Person struct { Id uint64 `id` FirstName string LastName string } ...box := BoxForPerson(ob) // Create id, _ := box.Put(&Person{ FirstName: "Joe", LastName: "Green", }) person, _ := box.Get(id) // Read person.LastName = "Black" box.Put(person) // Update box.Remove(person) // Delete |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | class Person: Entity { var id: Id<person> = 0 var firstName: String var lastName: String ... } let store = Store(directoryPath: aPermanentPath) let box = store.box(for: Person.self) let newPerson = Person(firstName: "Joe", lastName: "Green") let id = try! box.put(newPerson) // Create let person = box.get(id) // Read person.lastName = "Black" try! box.put(person) // Update try! box.remove(person) // Delete let query = box.query { return Person.firstName == "Joe" && Person.lastName.startsWith("B") } let persons: [Person] = query.find() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | @Entity() class Person { @Id() int id = 0; String? firstName; String? lastName; } final store = await openStore(directory: 'person-db'); final box = store.box<Person>(); var person = Person() ..firstName = "Joe" ..lastName = "Green"; final id = box.put(person); // Create person = box.get(id); // Read person.lastName = "Black"; box.put(person); // Update box.remove(person.id); // Delete |
A few lines of code speak louder than a thousand words
Easy: persist locally, sync globally
Our APIs are simple, easy to use, and quick to implement. See for yourself.
Integrate ObjectBox and experience the simplicity of instant Data Sync. With just a few lines of code, you can start syncing data across devices – on-premise, or with the cloud, seamlessly. Our solution is fast to implement and optimized for resource-efficiency on any device, ensuring you can launch and expand your applications with minimal fuss.
Never out of Sync
Access your data when and where needed, with or without internet connectivity. Our out-of-the-box high-speed Data Sync keeps data seamlessly up-to-date across any devices and the cloud.
Save Time.
Save Energy.
Save CO2.
Save Money.
built projects
developed with ObjectBox
Running live in
millions of cars
since 2023
GitHub stars
on our repos
Tech Highlights
Fast & Lightweight
Because no one likes waiting. 10X faster than any alternative paired with an incredebly lightweight footprint.
Vector Search
Very first on-device offline vector search powering on-device AI; cloud optional. Powerful in combination with our Data Sync.
Sustainable
Due to its efficiency, ObjectBox reduces resource-use (CPU, Memory, energy…) and therefore CO2, time, and money waste
Seamless Off/Online
For the low-latency “always-on” experience. Develop applications that work on- and offline, unburdened by the need for a constant Internet connection.
Data Control
Self-host, deploy locally, and run on-premise – ensure data sovereignty, compliance, and seamless performance even in low-connectivity environments.
Data Sync
Never miss a beat. Our offline data sync keeps data flowing seamlessly across devices on the edge; cloud optional.
We 🤍 Open Source | From the team behind the open source libraries: EventBus, greenDAO and Essentials. Apps that are using our technology:
Make the most of your data
offline, on-device, anywhere, anytime
Join the community
SIEMENS
“very easy to integrate…gave us the data access speed we needed.”
KONTRON S&T group
“performance improvement far beyond other databases”
Vas @MathTrainer
“Thanks for such a powerful database solution, I can’t imagine my life without ObjectBox now”
PACK
“Keep up the amazong work!”
Cris @Crispert
“Terrific job, ObjectBox is marvelous solution, it almost makes data persistance invisible. I was really astonished to see how the code shrunk, in front of my eyes when I replaced realm. I’m still amazed how simple all of it is.”
ObjectBox
ObjectBox is an on-device Database with Vector Search and out-of-the-box Data Sync, designed for resource-efficiency on mobile, IoT, and other embedded devices, like e.g. ECUs, robots, machines. It also excells on servers and cloud systems. The lightweight database uses minimal computing resources like e.g. CPU, memory, energy (battery) and is therefore superfast, sustainable, and cost-effective across environments and workloads. At the same time, it is transactionally-safe (ACID complaint) and reliably persists and synchronizes data under all kinds of challenging conditions, e.g. flaky networks, offline scenarios, on-premise, occassionally connected devices, etc. Easy to integrate and use, ObjectBox is developed by developers for developers, taking on the hard and unfavorable parts, so that developers can focus on the value-add features while we do the heavy lifting in the background.