Cross-Platform C SDK
NAppGUI is a professional SDK to build cross-platform desktop applications using The C Programming Language (ANSI C90). NAppGUI has built as a lightweight layer on top of the operating system native APIs, that allows create portable programs extremelly fast and small without any external dependency.
Download the SDK
You can start by testing the demo applications on Windows, macOS, and Linux. If you are a brave person and want to create your own applications, you can download the precompiled version of the SDK, or compile it yourself from the source code.
All platforms, all compilers
NAppGUI supports all Visual Studio versions since 2005 and Xcode since 3.0 (2007). Programs will run in Windows XP, Mac OSX Leopard and above. The SDK detects modern compilers and operating systems, using the newest features when are available. All compatible compilers and build systems here.
Updated to macOS Tahoe (Xcode 26), Raspberry Pi OS 12 (arm64), Ubuntu 24.04 LTS (gcc13), VS2026 and Windows ARM.
Widely documented
We have made a great effort to provide NAppGUI with extensive documentation in English and Spanish languages. You can start with the Quick Start and Demos sections, where will find several easy to understand coding examples. If you want go deeper in NAppGUI knowledge, go to User's Guide and Library Reference.
Dynamic interfaces in Unicode
NAppGUI uses UTF-8 for all texts, which ensures translation into any language in the world. It also provides its own interface composer based on Layouts, which adjusts the texts in real time without the need to reopen the application.
static void i_OnLangPopUp(Ctrl *ctrl, Event *e)
{
const EvButton *params = event_params(e, EvButton);
static const char_t *LANGS[] = { "en_US", "es_ES", "pt_PT", "it_IT", "vi_VN", "ru_RU", "ja_JP" };
gui_language(LANGS[params->index]);
}
No .NET, no .DLLs, no MFC, no VC++ Redist, no Runtime environments, no Swift
NAppGUI only calls the Win32 API and GDI+. Doesn't use .NET, MFC, ATL and any other kind of redundant technology. The static linking will produce self-contained small binaries. NAppGUI neither use STL, only a small subset of The Standard C Library that also will be linked to the final product, so any VC++ Redistributable package will be required.
Your C program will compile without changes in modern Macs, taking advantage of latests Apple SDKs without porting them to Swift or Objective-C.
Licensing
NAppGUI is an OpenSource project and is distributed under MIT license. Please contact us for more information.
© 2015-2026 Francisco García Collado - All rights reserved

