DEV.co
Open-Source Databases · objectbox

objectbox-dart

ObjectBox is a fast, embedded NoSQL database for Flutter and Dart apps that stores objects directly without SQL. It includes vector search capabilities for AI applications and optional data synchronization for offline-first scenarios.

Source: GitHub — github.com/objectbox/objectbox-dart
1.2k
GitHub stars
160
Forks
Dart
Primary language
Apache-2.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryobjectbox/objectbox-dart
Ownerobjectbox
Primary languageDart
LicenseApache-2.0 — OSI-approved
Stars1.2k
Forks160
Open issues76
Latest releasev5.3.2 (2026-05-20)
Last updated2026-06-29
Sourcehttps://github.com/objectbox/objectbox-dart

What objectbox-dart is

ObjectBox is a cross-platform ACID-compliant object database with native Dart bindings, compile-time code generation, built-in relations/queries, and on-device vector indexing. It wraps native C++ storage libraries and provides pub.dev packages for Android, iOS, macOS, Linux, and Windows.

Quickstart

Get the objectbox-dart source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/objectbox/objectbox-dart.gitcd objectbox-dart# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Mobile apps requiring fast local object storage

Flutter/Dart apps needing sub-millisecond read/write performance without SQL complexity, especially on Android/iOS with millions of objects.

On-device AI and vector search applications

Flutter apps implementing local vector databases for embeddings, semantic search, or ML inference without cloud dependency.

Offline-first and sync-enabled applications

Apps requiring autonomous local operation with optional ObjectBox Sync for device-to-device or device-to-server data synchronization.

Implementation considerations

  • Code generation is mandatory: entity classes must be annotated and code generation run before compilation; CI/CD pipeline must support this step.
  • Platform-specific native libraries are bundled via objectbox_flutter_libs or objectbox_sync_flutter_libs; vector support availability and native library licensing require verification.
  • Data model changes are handled via schema migration; test migration paths when altering @Entity definitions to avoid data loss in production.
  • Vector search (ANN) is built-in but performance benchmarks vs. alternatives and vector dimension limits are not documented in README or provided data.
  • ObjectBox Sync for offline-first is a separate product offering; licensing and integration cost must be evaluated independently.

When to avoid it — and what to weigh

  • Need SQL compliance or complex joins across many tables — ObjectBox is NoSQL and optimized for object graphs, not relational algebra or complex multi-table queries.
  • Cross-platform backend required with existing RDBMS infrastructure — ObjectBox is designed for embedded/mobile use; syncing to traditional databases requires custom integration via ObjectBox Sync, which is a separate product.
  • Require mature, battle-tested vector databases with benchmarks — Vector support is marketed as new; production vector workload performance vs. specialized vector DBs (Pinecone, Weaviate) is not documented in provided data.
  • Team unfamiliar with Dart or preferring established SQLite wrappers — ObjectBox requires Dart/Flutter and code generation setup; teams may prefer mature alternatives like sqflite or Realm if already invested elsewhere.

License & commercial use

Licensed under Apache License 2.0 (Apache-2.0), an OSI-approved permissive license allowing commercial use, modification, and distribution with attribution and liability disclaimer.

Apache 2.0 permits commercial use in closed-source applications. However, README notes separate ObjectBox Sync and multiplatform SDKs (Java, Swift, Go, C++) have distinct licenses; review https://objectbox.io/faq/#license-pricing for all components before production deployment. Commercial support and Sync licensing terms are not stated in provided data.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityNeeds review
Deployment complexityLow
DEV.co fitStrong
Assessment confidenceHigh
Security considerations

No security audit, vulnerability disclosure process, or encryption-at-rest details provided in README or data. Native library provenance (C++ core) and supply-chain security for prebuilt binaries require independent review. Dart FFI and platform-specific native bridges introduce native code attack surface. Local data is stored unencrypted by default; encryption support not mentioned.

Alternatives to consider

Hive

Lightweight, pure-Dart key-value store; no native dependencies or code generation required. Simpler onboarding but lower performance on large datasets and no built-in relations or vector search.

sqflite

SQLite wrapper for Flutter; mature, familiar SQL semantics, and minimal overhead. Suitable if SQL queries and relational data are preferred; no vector support or ACID-beyond-transaction guarantees.

Realm (Dart/Flutter SDK)

Cross-platform object database with similar feature set (relations, queries, sync). Consider if multi-platform backend (server, web) and existing Realm investment are factors; Realm Sync differs from ObjectBox Sync.

Software development agency

Build on objectbox-dart with DEV.co software developers

Start with the Getting Started guide, run the benchmark app to test performance, and review licensing terms at objectbox.io before committing to production. Contact ObjectBox for Sync and commercial support details.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

objectbox-dart FAQ

Is ObjectBox production-ready?
Yes for core object storage on mobile (7+ years of active development, 1,233+ stars). Vector search is new; production readiness depends on workload validation and performance benchmarking for your use case.
Can I sync data to a backend server?
ObjectBox Sync (separate product) enables offline-first sync to a backend. Licensing, server requirements, and integration costs are not detailed in provided data; review ObjectBox website for Sync terms.
What are the licensing implications of the C++ native library?
Provided data does not detail the C++ core license. README directs to https://objectbox.io/faq/#license-pricing for all components; verify before deployment.
How do I encrypt data at rest?
No encryption mechanism is documented in the README. Review external documentation or contact ObjectBox support to confirm encryption support and method.

Software development & web development with DEV.co

Need help beyond evaluating objectbox-dart? DEV.co is a software development agency offering software development services and web development for teams of every size. Our software developers and web developers build custom software, web applications, APIs, and open-source databases integrations — and maintain them long-term.

Ready to evaluate ObjectBox for your Flutter app?

Start with the Getting Started guide, run the benchmark app to test performance, and review licensing terms at objectbox.io before committing to production. Contact ObjectBox for Sync and commercial support details.