Fork me on GitHub

Efficient and expressive programming.

Nim is a systems and applications programming language. Statically typed and compiled, it provides unparalleled performance in an elegant package.

  • High-performance garbage-collected language
  • Compiles to C, C++ or JavaScript
  • Produces dependency-free binaries
  • Runs on Windows, macOS, Linux, and more
# Compute average line length
  sum = 0
  count = 0

for line in stdin.lines:
  sum += line.len
  count += 1

echo("Average line length: ",
     if count > 0: sum / count else: 0)

Recent articles

Nim Community Survey 2018 Results

We have recently closed the 2018 Nim Community Survey. I am happy to say that we have received exactly 771 responses, huge thanks to all the people that took the time to respond. We’re incredibly thankful for this very valuable feedback.

Welcome our new team member, Arne Döring!

We are glad that Arne Döring joined us as a fulltime core Nim developer.

All articles

Featured projects


SPA framework

Karax is a framework for developing single page applications in Nim. Leverage Nim's macro system to produce a framework that allows for the development of applications that are boilerplate free.

Reel Valley


Reel Valley is a unique and highly entertaining game with gorgeous graphics. It mixes Slots with a City Builder.


Ethereum client

Nimbus aims to be a sharding client for Ethereum 2.0 Blockchain. Ethereum will potentially be on embedded systems, Nimbus will be designed to perform well on IoT and personal mobile devices.

Looking for the GitHub repository?

The Nim compiler and tools are all written in Nim and licensed under the MIT license, with most development taking place on GitHub. Be sure to watch the repository to get updates on Nim's development, or star it to give us some brownie points.

Now available.

The first Nim book, Nim in Action, is now available for purchase as an eBook or printed soft cover book.* Learn the basics such as Nim's syntax and advanced features including macros, and gain practical experience with the language by being led through multiple application development examples.

  • Teaches the basics including the syntax of Nim.
  • Explains how to use the Nimble package manager.
  • Includes step-by-step instructions and explanations of how to develop various applications, including a chat program, a Twitter clone and more.

* Printed soft cover book is out now!

Learn more

Support Nim

Join the 100+ companies and individuals that support Nim

The Nim project is developed globally by a group of volunteers. We welcome recurring donations, which enable us to spend more time working on Nim.

Top sponsors

See more



Threaded communication

GitHub issues

Bug reports





Learn Nim today

Build command-line applications, games, web servers, kernels and everything else in between. Nim has a low barrier to entry and offers powerful features you won't find in many mainstream programming languages.