Shard Detail

kemal v0.12.0

Fast, Effective, Simple Web Framework
crystal kemal web-framework websocket api fast simple

Install & Use

Add the following code to your project's shard.yml under:

dependencies to use in production
- OR -
development_dependencies to use in development

  github: kemalcr/kemal
  version: 0.12.0


# Kemal [![Build Status](](

Join the chat at

Lightning Fast, Super Simple web framework for Crystal. Inspired by Sinatra but with superior performance and built-in WebSocket support.

Super Simple ⚡️

require "kemal"

# Matches GET "http://host:port/"
get "/" do
  "Hello World!"

# Creates a WebSocket handler.
# Matches "ws://host:port/socket"
ws "/socket" do |socket|
  socket.send "Hello from Kemal!"

Start your application!

crystal src/

Go to http://localhost:3000

Check documentation or samples for more.

Super Fast 🚀

Numbers speak louder than words.

Framework Request Per Second Avg. Response Time
Kemal (Production) 100238 395.44μs
Sinatra (Thin) 2274 43.82ms

These results were achieved with wrk on a Macbook Pro Late 2013. (2Ghz i7 8GB Ram OS X Yosemite)


  • Support all REST verbs
  • Websocket support
  • Request/Response context, easy parameter handling
  • Middlewares
  • Built-in JSON support
  • Built-in static file serving
  • Built-in view templating via Kilt


You can read the documentation at the official site


Thanks to Manas for their awesome work on Frank.