Evaluation SDKs (software development kits) allow you to try out CartoType before you buy a license. You will be able to create a test application and  find out whether CartoType is the right solution for you. The evaluation SDKs have a few restrictions, including placing a watermark on every map, but provide access to the complete API (application programming interface) and all features including graphics-accelerated rendering.

The CartoType evaluation SDKs (software development kits) are provided for evaluation only, excluding any commercial use. For commercial licensing please contact us.

By clicking on any of the links on this page, or by using the SDK material, however acquired, you accept the terms of the CartoType Evaluation License and you also accept that neither CartoType Ltd, nor any owners, shareholders or officers of CartoType Ltd, or any other contributors to, authors of or maintainers of the CartoType system, are liable for any damage, direct or consequential, caused by downloading, installing or using the SDK, or by any programs built using the SDK, and that the SDK is not warranted fit for any particular use and is for evaluation use only and may not be used for any commercial purpose.

To uninstall any of these SDKs, all you need to do is delete the files from your computer.

Sample Maps

To save download time, the SDKs contain only a single sample map. It is of the Isle of Wight, an island off the southern coast of England, chosen because of its good mix of features: urban, rural, and coastal. You can download more maps if you need them. Please contact us if you need a map of any particular area for evaluation purposes.

Sample Code

The source code for most of our demonstration programs is available in public GitHub repositories in the account https://github.com/CartoType. The name of each repository indicates which release it is intended for. For example, the repository named CartoType-Public-5-4 contains sample code for CartoType version 5.4. The code is supplied under the permissive MIT license.

Release notes

The current version of the CartoType SDK is release 5.4. It was released on 23rd October 2018.

The current build is 5.4.134 or later, uploaded on 8th January 2019.

Main changes since release 5.4

fixed memory leak caused by failure to delete CNotice objects
fixed case 2365: triangle on boxed label causes hang; parser didn't handle syntactically incorrect labelFormat attribute properly
one overload of readMap in Android was public, not private as it should have been
fixed case 2366: windows demo turns legend on when the style sheet is reloaded
fixed case 2280: when two graphics accelerated windows are open in the Windows demo, one or both redraw slowly
fixed case 1944: (regression) forbidden areas didn't work properly with pedestrian routes
reduced the default vector tile cache size and made it adapt to the number of tiles needed to cover the display; saves about 200Mb of RAM per map on Windows
repeated SVG symbols were drawn in the wrong place in graphics-accelerated mode
fixed case 2369: reloading a style sheet turns off the GL style sheet variable
forbidden areas no longer change the road type to 'unknown', which might prevent some route profiles from working; and overlapping speed restrictions now cause the greater restriction to be used
fixed case 2372: repeated symbols using SVG are sometimes drawn transparently when graphics acceleration is used
fixed cases 2373 and 2376: Android version crashed when creating a RouteProfile or FindParam object
fixed case 2374: access violation with multiple maps on Windows
fixed case 2375: FindAddress suppresses the building number, and returned items are duplicated
fixed case 2385: MapRenderer.Valid() returns false on .NET even if the map renderer is correctly constructed
navigation, rotation and zoom now work properly in the Swift demo
the turn-expanded router now supports forbidden areas
fixed case 2401: findStreetAddresses hangs; simplified complicated clip paths and restricted the maximum internal number of map objects to be found
new feature: changes to the map view are smoothly animated during navigation; animation can also be turned on at other times
fixed case 2406: setting the map view to a map object didn;t work properly when the map was rotated, or in perspective mode
added dependencies to the EGL libraries to the windows demo projects
new feature: changes to the current location, when displayed using the route-vector layer, are smoothly animated
simplified the way the standard style sheet displays the route and vehicle location
headings were not matched properly when finding the nearest road
fixed case 2430: CProj4Projection is not thread safe
made it illegal to create a TBitmap from a CBitmap, to avoid errors caused by using a TBitmap instead of a CBitmap to receive return values from functions returning CBitmap
fixed case 2435: SetLegend causes a crash in .NET
fixed case 2436: crash in iOS when zooming out a lot during navigation
fixed case 2439: <highlight> and <centerLine> don't always work properly with graphics acceleration
setViewObjects now works correctly in Java

The Android SDK

The Android SDK allows you to use CartoType with the Android operating system. You use the CartoType Android API, which gives you access to all the features of CartoType: loading maps, adding your own objects to the map, panning, zooming, address searching, routing and navigation.

Download link: Android SDK

The SDK is a ZIP file of about 20Mb. It contains a folder called cartotype_android_sdk_evaluation containing the following folders:

libs: an .AAR (Android archive) called cartotype.aar, which is the CartoType library. Add it to your Android Studio project as a dependency.

font: standard fonts; for simple CartoType use you need load only DejaVuSans.ttf

map: sample maps

style: the standard style sheets; you should load standard.ctstyle with the sample map

doc: licenses and acknowledgments for third-party libraries

You will probably also need to look at some sample Java code using CartoType. There is a very simple testbed for CartoType for Android.


The iOS SDK allows you to build CartoType apps for the iPhone and iPad. It is supplied as a .dmg file (Apple Disk Image) containing the file CartoType.framework. You use the CartoType iOS API, written in Objective C, which gives you access to all functionality.

Note: in order to avoid linker errors when using the -ObjC flag, you need to have at least one ".cpp" (C++) or ".mm" (Objective C++) source file in your own project, even if it's an empty one. If your project has ".m" (Objective C) and ".h" files only you will get linker errors because Xcode won't know that there is both C++ and Objective C code in the project.

Download link: iOS SDK

This is a 180Mb download containing the header files and compiled libraries for the simulator and device targets as a .dmg file. A sample map, style sheets and fonts are also included. The download is large because it is a fat binary, containing versions of the libraries for different platforms and processors, and it is compiled using bitcode, which is now necessary for creating releasable iOS apps.

(If you are upgrading to a new version of the CartoType iOS SDK, you may sometimes find that Xcode does not recognize new Objective C headers or classes. You can usually fix this problem by closing your project, opening the organizer from the Xcode Window menu, select your project, then click on 'delete' opposite 'derived data'. Then close Xcode, reopen your project, clean it and rebuild. Thanks to TigerCoding for this tip from StackOverflow.)

You will also probably want to download the source code and project files for a simple demonstration program showing the use of the SDK, including hardware graphics acceleration:

sample Swift code with graphics acceleration

sample Objective C code with graphics acceleration

To use CartoType for iOS, you'll need to add the GLKit and OpenGLES frameworks to your project.


This SDK allows you to use CartoType with the .NET framework. You can use any .NET language, such as C#, VB.NET or C++/CLI. You can build a complete application using CartoType in just a few lines of code, as shown in the C# demo program included with the SDK. The .NET SDK (documented here) gives you access to all CartoType features, including map, style sheet and font loading, route calculation, navigation and address searching. It also gives access to graphics acceleration using OpenGL ES 2.0.

Download link: .NET SDK

This is a 37Mb zipped file containing a .NET DLL built for the Intel x64 platform and a C# demonstration program that uses the CartoType DLL, with its source code and data files. An XML documentation file is also supplied. As long as it is kept in the same place as the DLL it will provide tool-tip help for some of the functions.

Note: if you have trouble adding the DLL to your project, in particular if you get a message starting "could not load file or assembly ... CartoTypeWrapper.DLL", please try the following fixes: (i) right-click on CartoTypeWrapper.dll in Windows Explorer and click on 'Properties' in the context menu, then, if you see the text 'This file came from another computer and might be blocked to help protect this computer', click 'Unblock' to the right of that text; (ii) if that doesn't work try installing, or re-installing, the Visual C++ Redistributable for Visual Studio 2015 (please google that phrase to find the current download link).

You should use the 64-bit version of the DLL if possible (that is, if you are running 64-bit Windows), mainly because it allows CartoType to use more heap memory and thus use the fast A* routing system on large maps.

cartotype dot net development screen shot

The zip file creates a single directory called CartoTypeDemo when unzipped.

Useful locations

The CartoType .NET DLL

  • x64 release: CartoTypeDemo\vs2017\bin\x64\Release\CartoTypeWrapper.dll
  • x64 debug: CartoTypeDemo\vs2017\bin\x64\Debug\CartoTypeWrapper.dll
  • x86 release: CartoTypeDemo\vs2017\bin\x86\Release\CartoTypeWrapper.dll

Solution files:

  • x64: CartoTypeDemo\vs2017\CartoTypeDemo.sln
  • x86: CartoTypeDemo\vs2017\CartoTypeDemo_x86.sln

Data files

  • sample map: map\isle_of_wight.ctm1
  • standard style sheet: style\standard.ctstyle
  • standard font: font\DejaVuSans.ttf

The DLLs used for graphics acceleration, libEGL.dll and libGLESvs.dll, are in the same locations as the .NET DLLs. They need to be accessible to any application using the CartoType .NET SDK.

Another style sheet and extra fonts are also to be found in the style and font folders. It's always a good idea to load DroidSansFallback as well as any other fonts, because it provides characters for many non-Latin scripts.

The CartoType .NET DLL will not run on non-Intel platforms because the CartoType library is compiled into native code from C++.

The Windows SDK

This SDK (documented here) supports CartoType development for desktop versions of Windows from Windows XP through Windows 8.
NEW: the Windows SDK now suppports Qt .

Download link: Windows SDK

This is a 145Mb zipped file containing the CartoType header files and debug and release mode libraries for desktop Windows, built using Microsoft Visual Studio 2015 for both the Win32 and x64 platforms.

The zip file creates a single directory called CartoType when unzipped.

Useful locations

Libraries and executables

  • x64 release: CartoType\bin\15.0\x64\Release\cartotype.lib
  • x64 debug: CartoType\bin\15.0\x64\Debug\cartotype.lib
  • x64 utilities (makemap, ctm1_info, encrypt_file): CartoType\bin\14.0\x64\Release
  • win32 release: CartoType\bin\15.0\Win32\Release\cartotype.lib
  • win32 debug: CartoType\bin\15.0\Win32\Debug\cartotype.lib
  • x64 utilities (makemap, ctm1_info, encrypt_file): CartoType\bin\15.0\Win32\Release

There are also directories with the same names but with DLL appended: CartoType\bin\15.0\x64\ReleaseDLL, etc. They contain libraries linked to the C++ runtime library as a DLL, not statically. These libraries can be used with Qt. To build for Qt you will also need to link to CartoTypeQtMapRenderer.lib, which is also supplied. Qt is supported for the x64 builds only. See CartoType and Qt for detailed instructions on using Qt to build and run the sample Maps App.

Solution file

  • CartoType\src\demo\windows_demo\vs2017\CartoTypeDemo.sln

Data files

  • sample map: CartoType\map\isle_of_wight.ctm1
  • standard style sheet: CartoType\style\standard.ctstyle
  • standard font: CartoType\font\DejaVuSans.ttf

Another style sheet and extra fonts are also to be found in the style and font folders.

The Linux SDK

The C++ SDK (documented here) supports development for Linux (Ubuntu and other x11 versions) on 64-bit Intel platforms.
NEW: the Linux SDK now suppports Qt .

Download link: Linux SDK

This is an 18Mb zip file containing a folder called cartotype-linux-sdk, which contains the following folders:

bin: the release-mode evaluation CartoType library, and the makemap tool for creating maps, and (for Qt builds) the Qt map graphics-accelerated map renderer library libCartoTypeQtMapRenderer.a

font: standard fonts; for simple CartoType use you need load only DejaVuSans.ttf

header: the C++ header files; you need to include only one of the header files, cartotype_framework.h, to use CartoType

map: a sample map

style: the standard style sheets; you should load standard.ctstyle with the sample map

Linux SDK notes

  • The CartoType Linux library is built for 64-bit Intel platforms.
  • You may need to add the option -pthread to both compiler and linker options, otherwise you might get a linker error for pthread_create.
  • Don't define the preprocessor macro _DEBUG in the debug build or you will get link errors in that build (because CartoType::TResult changes from a plain integer to a class).
  • Set the compiler option +std=c++14, because CartoType uses C++14.
  • If you get linker errors mentioning types in the std namespace, the cause is probably that the CartoType Linux Library is compiled using GCC 5.1 or later, and you are using GCC 4.9 or earlier.
fixed failure to load some saved routes from XML