Indoor Positioning & Navigation Software

Navigine gives developers and system integrators access to the indoor positioning and mapping software (API, SDK). Integrate our indoor maps into your mobile app and get indoor navigation app to help your customers navigate indoors.

Get Started

3 steps to start developing an indoor navigation application

  1. 1.

    Add location

    As the first step, you need to create a digital map of the target location. Sign up for your account at Navigine website and create a new location. Using indoor map creator add sublocation and upload the floor plan.

  2. 2.

    Setup infrastructure

    In order to start implementation, you need to get approximately 10 Bluetooth® beacons per 1000 sq m of your location. These beacons have to be evenly deployed and linked to places on the floor plan via indoor map maker.

  3. 3.

    Integrate indoor navigation SDK

    Once the equipment is deployed, the map is uploaded, and both are interlinked, you can start developing your indoor navigation iOS/Android apps. You can use Navigine SDK for iOS/Android platforms to add indoor navigation, push notifications, and tracking functions.

Create your indoor navigation and indoor positioning app using mapping software by Navigine

Our easy-to-use SDK and API empower developers to integrate indoor navigation, push notifications and motion analytics functions into their location-aware apps in a matter of days. Take advantage of the high-accuracy positioning capabilities for your iOS and Android apps.


Our platform is designed to support development of powerful iOS indoor positioning applications leveraging iBeacon technology

Android SDK

Enhance your Android app with state-of-the-art indoor positioning solutions.

Easy integrations and implementation, navigation API and great SDK

Read more in Dev Community

Get Started
mNavigineSdk = NCNavigineSdk.getInstance()
mLocationManager = mNavigineSdk?.getLocationManager()
mNavigationManager = mNavigineSdk?.getNavigationManager(mLocationManager)
/* ================= */
extension Controller: NCPositionListener {
    func onPositionUpdated(_ position: NCPosition) {
        if (mPosition != nil) {
    func onPositionError(_ error: Error?) {
Show full code
mNavigineSdk = NavigineSdk.getInstance();
mLocationManager = mNavigineSdk.getLocationManager();
mNavigationManager = mNavigineSdk.getNavigationManager(ьLocationManager);
mNavigationManager.addPositionListener(new PositionListener() {
            public void onPositionUpdated(Position position) {
               Log.d("NAVIGINE_LOG", position.getX(), position.getY());

            public void onPositionError(Error error) {
                Log.d("NAVIGINE_LOG", error.getMessage());
Show full code



  • 1 location
  • Unlimited number of users
  • Full access to all Navigine tools
Get Started


We provide 24/7 technical support to help you anytime anywhere.

Feel free to ask any questions or leave your comments.

Please send us your question to

Сontact our team via contact form.

Let's Discuss Your Business Needs

Discover the power of indoor positioning and tracking - contact us today!

Our Advantages

  • Quick and easy deployment
  • Technology and Hardware: Universal tracking solution
  • Precision: up to 0.1 feet accuracy of localisation
  • Solution proved over time: 10 year on the market with over 3000 buildings covered