Create native
iOS, Android,
Mac and Windows apps in C#.

Join our community of 851,311 developers.

Download now

Xamarin apps look and feel native because they are.

Native User Interfaces

Xamarin apps are built with standard, native user interface controls. Apps not only look the way the end user expects, they behave that way too.

Native API Access

Xamarin apps have access to the full spectrum of functionality exposed by the underlying platform and device, including platform-specific capabilities like iBeacons and Android Fragments.

Native Performance

Xamarin apps leverage platform-specific hardware acceleration, and are compiled for native performance. This can’t be achieved with solutions that interpret code at runtime.


C# is the best language for mobile app development.

Anything you can do in Objective-C, Swift or Java, you can do in C#.

public Dictionary<string, UIImage> GetImages(string directory) {
  var images = new Dictionary<string, UIImage>();
  var paths = Directory.EnumerateFiles(directory, "*.png");
  foreach (var path in paths) {
    images[path] = UIImage.FromFile(path);
  }
  return images;
}

public async Task<List<FeedItem>> GetFeedItems(DateTime date) {
  var feed = "http://planet.xamarin.com/feed/";
  var response = await httpClient.GetStringAsync(feed);
  var items = await ParseFeedAsync(response);
  return items.Where(item => item.Published.Date == date).ToList();
}
  • More Types, Less Typing

    C# uses type inference to give developers more safety in fewer keystrokes, without boilerplate or verbose type annotations.

  • Language-level Async

    Asynchronous programming (async) keeps apps responsive. In Objective-C, Swift and Java, async requires callbacks and manual bookkeeping. C#’s language-level support makes async a breeze.

  • Stronger Types, Smarter Tools

    Generics guarantee that collections and other compound types are used safely, without the need for casts or comments. Xamarin tools understand intent better thanks to richer types, with benefits like ubiquitous code completion.

  • First-class Functions

    In Java for Android, lambdas are unavailable. In Objective-C, lambdas are extremely cumbersome. In C#, lambdas couldn’t be simpler, making functional programmers feel right at home.

Native user interfaces,
built right before your eyes.

Xamarin apps use native UIs on every platform to enable the best possible experiences. Simplify mobile app design with our Android and iOS designers, and build your own app today.

Learn more about Xamarin Designers for Visual Studio and Xamarin Studio.

Share code everywhere.

Use the same language, APIs and data structures to share an average of 75% of app code across all mobile development platforms. Build user interfaces with Xamarin.Forms and share nearly 100%.

mobile application development platform

Shared Projects

Add any file to a Shared Project and it’s automatically included on all platforms. Share code, images, and any other media across iOS, Android, and Windows Phone.

Portable Class Libraries

Use popular Portable Class Libraries (PCLs) like SQLite, Json.NET, or ReactiveUI on every platform. Build your own app logic as a PCL and use it everywhere.

Xamarin.Forms

Xamarin.Forms allows you to build native user interfaces for iOS, Android and Windows Phone using 100% shared C#. Xamarin.Forms includes more than 40 controls and layouts, which are mapped to native controls at runtime.

See why Xamarin is best for:

Xamarin.iOS

The best way to build native iOS apps.

Ship native app bundles on the App Store.

Our Ahead-of-Time (AOT) compiler compiles Xamarin.iOS apps directly to native ARM assembly code, meaning your app is a native platform binary.

Access any iOS API.

We bring 100% of Apple’s iOS SDK to C#, enhancing Objective-C APIs with stronger types and .NET naming conventions so you feel right at home.

Call existing Objective-C code from C#.

Use your existing Objective-C code, frameworks, and custom controls in your Xamarin app using our automatic binding generator.

Always up-to-date with Apple.

We released same-day support for iOS 5, iOS 6, iOS 7 and iOS 8 so your apps can take advantage of the latest iOS features as soon as possible.

Xamarin.Android

The best way to build native Android apps.

Ship native Android packages.

Xamarin.Android uses just-in-time compilation for sophisticated runtime optimization of your app’s performance, meaning your app is a native Android APK.

Access any Android API, including new form factors.

We bring 100% of Google’s Android APIs to C#, enhancing Java APIs with async support and .NET naming conventions so you feel right at home.

Call existing Java code from C#.

Use your existing Java code, frameworks, and custom controls in your Xamarin app using our automatic binding generator.

Always up-to-date with Android.

Xamarin stays up-to-date with the most current APIs from Google, so you can always use the latest features in your apps.

Bring your apps to 66 million Macs.

Bring your mobile and Windows apps to Mac.

Whether you’re creating a companion desktop application for a mobile app, or bringing a Windows application to the Mac, Xamarin.Mac is the fastest path to your destination.

Use AppKit with Interface Builder.

Use XCode's Interface Builder to design your Mac app visually, then program your AppKit UI while sharing C# with iOS, Android and even Windows.

“Xamarin.Mac helps me tap into
the Mac market with better, faster results”

Jon Lipsky Creator of TouchDraw for Mac

Build native iOS and Android apps in Visual Studio.

Or try Xamarin Studio, our delightful, free IDE for Mac and PC.

Xamarin Studio

for Mac and Windows

Learn more

Visual Studio

for Windows

Learn more

A rich and interactive way to explore Xamarin.

Discover a new way to learn iOS, Mac and Android development as well as a fast way to explore new APIs and iterate on features without having to first build and run a project. Sketches display code executing in real-time right from your IDE, and are ideal for experimenting with new language features, exploring APIs, developing algorithms and more.

Sketches are available for exploring the iOS, Android and Mac platforms today in Xamarin Studio.

Finish your app faster with NuGet and the Xamarin Component Store.

Add high-quality components to your app directly from your IDE, including controls, web service APIs and more. Integrate popular backends such as Microsoft Azure, Parse, Salesforce, and SAP. Add powerful security features such as authentication and encryption.

Write C#. Run on 2.6 billion devices.

With Xamarin, you write your apps entirely in C#, sharing the same code on iOS, Android, Windows, Mac and more.