Skip to content

Getting started

Hi and welcome to Crystal's Reference Book!

First, let's make sure to install the compiler so that we may try all the examples listed in this book.

Once installed, the Crystal compiler should be available as crystal command.

Let's try it!

Crystal version

We may check the Crystal compiler version. If Crystal is installed correctly then we should see something like this:

$ crystal --version Crystal 1.18.2 [635ca37a6] (2025-10-21) LLVM: 18.1.8 Default target: x86_64-unknown-linux-gnu 

Great!

Crystal help

Now, if we want to list all the options given by the compiler, we may run crystal program without any arguments:

$ crystal Usage: crystal [command] [switches] [program file] [--] [arguments] Command:  init generate a new project  build build an executable  docs generate documentation  env print Crystal environment information  eval eval code from args or standard input  play starts Crystal playground server  run (default) build and run program  spec build and run specs (in spec directory)  tool run a tool  help, --help, -h show this help  version, --version, -v show version Run a command followed by --help to see command-specific information, ex:  crystal <command> --help 

More details about using the compiler can be found on the manpage man crystal or in our compiler manual.

Hello Crystal

The following example is the classic Hello World. In Crystal it looks like this:

hello_world.cr
puts "Hello World!" 

We may run our example like this:

$ crystal hello_world.cr Hello World! 

Note

The main routine is simply the program itself. There's no need to define a "main" function or something similar.

Next you might want to start with the Introduction Tour to get acquainted with the language.

Here we have two more examples to continue our first steps in Crystal: