Realm is a mobile database: a replacement for Core Data & SQLite
Switch branches/tags
Clone or download
tgoyne Merge pull request #6007 from realm/tg/user-agent
Add support for setting the user agent for sync requests
Latest commit 3fe88c2 Nov 19, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Update Jun 2, 2018
Carthage/Realm.xcworkspace move to Carthage/ Sep 13, 2016
Configuration Remove an obsolete build setting from Base.xcconfig (#5703) Mar 27, 2018
Realm.xcodeproj Add an iOS-only TestHost target to work around iOS static framework i… Sep 19, 2018
Realm Set the binding user agent separately Nov 19, 2018
RealmSwift Re-fix a crash on non-@objc `String?` properties Sep 26, 2018
docs remove API .diff Sep 15, 2016
examples Update some examples to compile as Swift 4.2 Sep 19, 2018
plugin add note about the menu item not being displayed in Xcode 8 Mar 23, 2017
scripts Add Swift 4.1.2 symlink to release package Jul 23, 2018
tools Added a README in the original location of the Realm Browser project. Jun 24, 2015
.dir-locals.el Project specific Emacs settings updated: Always show trailing white-s… Sep 26, 2013
.gitattributes update .gitattributes May 28, 2016
.gitignore Rework how ROS is downloaded and launched for tests Jun 4, 2018
.gitmodules Pick up the fix for realm/realm-object-store#344. Jan 17, 2017
.jenkins.yml Run PR jobs on 9.2, 9.3, 9.4 and 10.0 Sep 12, 2018
.swiftlint.yml Fix SwiftLint errors Jun 6, 2018
.travis.yml Switch to Xcode 9.3 on travis Apr 19, 2018 Add support for setting the user agent for sync requests Nov 16, 2018 * fixed broken link within the document to #cla Mar 5, 2016
Jenkinsfile.releasability Test installation examples with the version of Xcode we're building C… Sep 12, 2018
LICENSE update license to match changes in realm-java Jun 1, 2017 Update Aug 16, 2017
Realm.podspec Explicitly list the headers for the Realm.Private cocoapods module Aug 20, 2018
RealmSwift.podspec Remove obsolete WholeModuleOptimazation setting Mar 23, 2018 Update Jul 25, 2017
TestHost copy-Info.plist Add an iOS-only TestHost target to work around iOS static framework i… Sep 19, 2018 Update Oct 5, 2018
dependencies.list Update to ROS 3.13.1 Nov 16, 2018
logo.png Update realm logo in Jun 8, 2016


Realm is a mobile database that runs directly inside phones, tablets or wearables. This repository holds the source code for the iOS, macOS, tvOS & watchOS versions of Realm Swift & Realm Objective-C.


  • Mobile-first: Realm is the first database built from the ground up to run directly inside phones, tablets and wearables.
  • Simple: Data is directly exposed as objects and queryable by code, removing the need for ORM's riddled with performance & maintenance issues. Most of our users pick it up intuitively, getting simple apps up & running in minutes.
  • Modern: Realm supports relationships, generics, vectorization and Swift.
  • Fast: Realm is faster than even raw SQLite on common operations, while maintaining an extremely rich feature set.

Getting Started

Please see the detailed instructions in our docs to add Realm Objective-C or Realm Swift to your Xcode project.


Realm Objective-C

The documentation can be found at
The API reference is located at

Realm Swift

The documentation can be found at
The API reference is located at

Getting Help

  • Need help with your code?: Look for previous questions on the #realm tag — or ask a new question. We actively monitor & answer questions on SO!
  • Have a bug to report? Open an issue. If possible, include the version of Realm, a full log, the Realm file, and a project that shows the issue.
  • Have a feature request? Open an issue. Tell us what the feature should do, and why you want the feature.
  • Sign up for our Community Newsletter to get regular tips, learn about other use-cases and get alerted of blogposts and tutorials about Realm.

Building Realm

In case you don't want to use the precompiled version, you can build Realm yourself from source.


  • Building Realm requires Xcode 8.x.
  • If cloning from git, submodules are required: git submodule update --init --recursive.
  • Building Realm documentation requires jazzy

Once you have all the necessary prerequisites, building Realm.framework just takes a single command: sh build. You'll need an internet connection the first time you build Realm to download the core binary.

Run sh help to see all the actions you can perform (build ios/osx, generate docs, test, etc.).


See for more details!

This project adheres to the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to


Realm Objective-C & Realm Swift are published under the Apache 2.0 license.
Realm Core is also published under the Apache 2.0 license and is available here.

This product is not being made available to any person located in Cuba, Iran, North Korea, Sudan, Syria or the Crimea region, or to any other person that is not eligible to receive the product under U.S. law.


If you use Realm and are happy with it, all we ask is that you please consider sending out a tweet mentioning @realm to share your thoughts!

And if you don't like it, please let us know what you would like improved, so we can fix it!