Windows Calculator: A simple yet powerful calculator that ships with Windows
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Matt Cooley ced7f6b0de
Use NuGet 6.x (#1874)
Update the build pipeline to use the latest available version of NuGet.
10 months ago
.github Migrate FabricBot Tasks to Config-as-Code (#1857) 10 months ago
Tools Secondary formatting changes (#489) 4 years ago
build Use NuGet 6.x (#1874) 10 months ago
docs Update all references to main branch (#1854) 11 months ago
src Move UI tests to Windows 11 (#1866) 10 months ago
.clang-format Secondary formatting changes (#489) 4 years ago
.editorconfig Remove duplicate .editorconfig. (#257) 4 years ago
.gitattributes Allow vcxproj and sln files to merge as text. (#474) 4 years ago
.gitignore Add vscode auto-generated folder to .gitignore (#1842) 12 months ago Hello GitHub 4 years ago Update all references to main branch (#1854) 11 months ago
LICENSE Hello GitHub 4 years ago
NOTICE.txt Added Calculator Standard Mode UI Tests (#501) 4 years ago Update all references to main branch (#1854) 11 months ago Update documentation for communicating discovered security vulnerabilities (#657) 4 years ago
nuget.config Move the nuget.config to the root of the repo (#1868) 10 months ago


The Windows Calculator app is a modern Windows app written in C++ and C# that ships pre-installed with Windows. The app provides standard, scientific, and programmer calculator functionality, as well as a set of converters between various units of measurement and currencies.

Calculator ships regularly with new features and bug fixes. You can get the latest version of Calculator in the Microsoft Store.

Build Status

Calculator Screenshot


  • Standard Calculator functionality which offers basic operations and evaluates commands immediately as they are entered.
  • Scientific Calculator functionality which offers expanded operations and evaluates commands using order of operations.
  • Programmer Calculator functionality which offers common mathematical operations for developers including conversion between common bases.
  • Date Calculation functionality which offers the difference between two dates, as well as the ability to add/subtract years, months and/or days to/from a given input date.
  • Calculation history and memory capabilities.
  • Conversion between many units of measurement.
  • Currency conversion based on data retrieved from Bing.
  • Infinite precision for basic arithmetic operations (addition, subtraction, multiplication, division) so that calculations never lose precision.

Getting started


  • Your computer must be running Windows 10, version 1809 or newer. Windows 11 is recommended.

  • Install the latest version of Visual Studio (the free community edition is sufficient).

    • Install the "Universal Windows Platform Development" workload.
    • Install the optional "C++ Universal Windows Platform tools" component.
    • Install the latest Windows 11 SDK.

    Visual Studio Installation Screenshot

  • Install the XAML Styler Visual Studio extension.

  • Get the code:

    git clone
  • Open src\Calculator.sln in Visual Studio to build and run the Calculator app.

  • For a general description of the Calculator project architecture see

  • To run the UI Tests, you need to make sure that Windows Application Driver (WinAppDriver) is installed.


Want to contribute? The team encourages community feedback and contributions. Please follow our contributing guidelines.

If Calculator is not working properly, please file a report in the Feedback Hub. We also welcome issues submitted on GitHub.


For information regarding Windows Calculator plans and release schedule, please see the Windows Calculator Roadmap.

Graphing Mode

Adding graphing calculator functionality is on the project roadmap and we hope that this project can create a great end-user experience around graphing. To that end, the UI from the official in-box Windows Calculator is currently part of this repository, although the proprietary Microsoft-built graphing engine, which also drives graphing in Microsoft Mathematics and OneNote, is not. Community members can still be involved in the creation of the UI, however developer builds will not have graphing functionality due to the use of a mock implementation of the engine built on top of a common graphing API.

Diagnostic Data

This project collects usage data and sends it to Microsoft to help improve our products and services. Read our privacy statement to learn more. Diagnostic data is disabled in development builds by default, and can be enabled with the SEND_DIAGNOSTICS build flag.

Currency Converter

Windows Calculator includes a currency converter feature that uses mock data in developer builds. The data that Microsoft uses for the currency converter feature (e.g., in the retail version of the application) is not licensed for your use. The mock data will be clearly identifiable as it references planets instead of countries, and remains static regardless of selected inputs.

Reporting Security Issues

Please refer to


Copyright (c) Microsoft Corporation. All rights reserved.

Licensed under the MIT License.