Official Resources


Tutorial, part 1

A guide about basic and advanced built-in types, statements, control flow, and procedures.

Tutorial, part 2

How to use Object Oriented Programming in Nim, exceptions, generics, and templates.

Macro tutorial

Learn about meta-programming and macros.


Nim in Action

Learn Nim from one of the main developers of the language. A tour through the standard library, a guide on writing your own packages and applications, interfacing with C and JavaScript, and much more.


Official Nim Playground

Compile and run Nim snippets in your browser. playground (unofficial)

Multi-language playground with lots of options.


Standard Library

Provides a listing and description of all the modules in the standard library.

Language Manual

The Nim programming language specification.

Searchable index

All Nim documents and modules in one place. Use Ctrl/Cmd+F.

Nim Style Guide

The stylistic conventions that Nim's official projects adhere to.

Nimble Package Directory

Search for available Nimble packages.

Documenting, profiling and debugging guide

Learn how to document your code using reST syntax, how to use Nimprof for profiling, and how to debug with GDB/LLDB.

Community resources


Nim basics

For programming beginners. Covers all the basic topics, enough to make your first programming steps.

How I Start: Nim

Write an interpreter for the BrainF#@% programming language in Nim.

Nim by Example

A series of short examples covering the most common topics.

Nim Days

Building mini applications with Nim.

Learn Nim in Y minutes

A 5-minute tour through Nim.

Nim Notes

A collection of Nim snippets with brief notes.

Nim memory model

Tutorial explaining essentials of how Nim stores data in memory.

Nim for...

... C programmers

... Python programmers

... TypeScript/JavaScript programmers


Goran Krampe

OOP in Nim, Arduino and Nim, and more.


NES emulator in Nim, SDL2 platformer, writing small binaries, etc.

Peter's DevLog

Options, File handling, stack vs heap (ref) objects, etc.

Nim Planet

Aggregated feed of Nim blogs.


Learn Nim by solving short challenges.

Rosetta Code

Rosetta Code tasks solved in Nim.