Get Started
API Reference


expo-constants provides system information that remains constant throughout the lifetime of your app's install.

Platform Compatibility

Android DeviceAndroid EmulatoriOS DeviceiOS SimulatorWeb


expo install expo-constants

If you're installing this in a bare React Native app, you should also follow these additional installation instructions.

import Constants from 'expo-constants';

Returns expo, standalone, or guest. If expo, the experience is running inside of the Expo client. If standalone, it is a standalone app. If guest, it has been opened through a link from a standalone app.

A human-readable name for the device type.

The device year class of this device.

The version string of the Expo client currently running.

Gets the user agent string which would be included in requests sent by a web view running on this device. This is probably not the same user agent you might be providing in your JS fetch requests.

An identifier that is unique to this particular device and installation of the Expo client.

true if the app is running on a device, false if running in a simulator or emulator.

The manifest object for the app.

The Info.plist value for CFBundleShortVersionString on iOS and the version name set by version in app.json on Android at the time the native app was built.

The Info.plist value for CFBundleVersion on iOS (set with ios.buildNumber value in app.json in a standalone app) and the version code set by android.versionCode in app.json on Android at the time the native app was built.

  • ios
    • buildNumber
      The build number specified in the embedded Info.plist value for CFBundleVersion in this app. In a standalone app, you can set this with the ios.buildNumber value in app.json. This may differ from the value in Constants.manifest.ios.buildNumber because the manifest can be updated over the air, whereas this value will never change for a given native binary. The value is set to null in case you run your app in Expo client.
    • platform
      The Apple internal model identifier for this device, e.g. iPhone1,1.
    • model
    The human-readable model name of this device, e.g. iPhone 7 Plus.
    • userInterfaceIdiom
    The user interface idiom of this device, i.e. whether the app is running on an iPhone or an iPad. Current supported values are handset and tablet. Apple TV and CarPlay will show up as unsupported.
    • systemVersion
    The version of iOS running on this device, e.g. 10.3.
  • android
    • versionCode
      The version code set by android.versionCode in app.json. The value is set to null in case you run your app in Expo client.

A string that is unique to the current session of your app. It is different across apps and across multiple launches of the same app.

The default status bar height for the device. Does not factor in changes when location tracking is in use or a phone call is active.

A list of the system font names available on the current device.