Awesome Elm

A community driven list of useful Elm tutorials, libraries and software.

Inspired by the awesome list thing. Feel free to improve this list.

Awesome Build Status

Table of Contents


Some good apps written in Elm.

  • Official list - Examples from basic to big-project in official website.
  • Builtwithelm - Web site built with elm with list of projects and apps built with Elm.
  • Elm Joust17 6 — a two-player fighting game written in Elm.
  • Vessel25 6 - A "tunnel" game written in Elm!
  • Sliding Puzzle47 1 - Configurable sliding puzzle game written in Elm.
  • TodoMVC832 297 - Proper implementation of the TodoMVC app.
  • TodoMVC with JSON API4 1 - Bare-bones, modular, heavily-documented todo app with JSON API persistence.
  • TodoMVC/Firebase50 8 - Fork of TodoMVC demonstrating start-app, The Elm Architecture4k 899 and Firebase as backend.
  • 27 3 – Minimal example of a custom element.
  • Elm Playground - Tiny Elm projects implemented for the sake of learning by example.
  • TodoMVC in Electron69 18 - Documented and tested implementation of the Elm TodoMVC app in Electron.
  • Gipher215 15 - A Tinder-like application for gifs built with elm and firebase!
  • Elm Architecture in Android37 6 - An example Android application implemented with the Elm Architecture using the Kotlin programming language and Anko library.
  • Collection of examples112 6 - A collection of examples with advanced techniques for real-world Elm apps.
  • Elm Flatris225 30 - A Flatris clone in Elm language v0.18.
  • Elm + Phoenix + Webpack - A minimal Elm + Phoenix setup, using webpack instead of Brunch.
  • Elm SPA Example - Full stack Elm app w/ CRUD operations, Auth, routing, pagination and more. Code1k 112 / Article
  • Spotify Mapper - Elm app integrated with Spotify Api to search and explore new artists.
  • Elm Hangman - The game of Hangman written in Elm.
  • Pokelmon - Elm project consuming PokéAPI.
  • JWT auth with Django + Elm - JSON Web Token (JWT) authentication using Django (backend) and Elm (frontend).
  • Bitcoin BR Chrome Extension - Chrome extension built in Elm that shows the bitcoin value in all Brazilian exchanges.
  • Elmstagram3 1 - Basic UI Clone of Instagram / Articles - Part 1 Part 2 Part 3
  • Kanban Board in Elm - A kanban board (trello-alike) built with Elm and HTML5 Drag & Drop API

⬆️ back to top


Learn what this awesome thing is.

⬆️ back to top


Read the essentials. Check the official Elm blog:

⬆️ back to top


Watch great talks about Elm

⬆️ back to top


Listen to podcasts about Elm

⬆️ back to top


  • QML You can use .js files to create native desktop and phone applications for all platforms with GPU acceleration and easy to code animations.


Useful helpers to build apps.

  • core1k 378 - Elm Core Libraries.
  • html244 75 - Use HTML in Elm, based on the idea of a "virtual DOM".
  • elm-test288 47 - A unit testing framework for Elm.
  • elm-router109 14 - Easy routing in Elm.
  • http58 28 - Make HTTP requests in Elm.
  • elm-http-builder84 10 - Build and handle JSON requests more naturally than with low-level elm-http.
  • elm-console55 15 - Elm library to read and write to the console in Node.
  • lazy13 4 - Lazy Evaluation in Elm.
  • elm-ui568 33 - UI Library in Elm.
  • elm-mdl752 128 - Material Design component library in Elm. With demo.
  • elmfire188 13 - Use Firebase as backend. For higher level API: elmfire-extra15 2 .
  • elm-bootstrap152 33 - Comprehensive Bootstrap 4 library for Elm. Docs site.
  • elm-vega66 3 - Declarative visualization for Elm (Vega/Vega Lite integration)

⬆️ back to top


Tools around Elm platform.

  • elm-compiler4k 388 - Compiler for the Elm programming language.
  • elm-make132 63 - A build tool for Elm projects.
  • elm-reactor395 83 - Interactive development tool that makes it easy to develop and debug Elm programs.
  • elm-live363 19 - A flexible dev server for Elm. Live reload included!
  • elm-repl156 47 - A REPL for Elm.
  • elm-package172 75 - CLI to share Elm libraries.
  • elm-format837 98 - Automatic Elm code formatter adhering to Elm Style Guide.
  • grunt-elm18 10 - Grunt plugin that compiles Elm files to JavaScript.
  • elm-webpack-loader269 42 - Webpack loader for the Elm programming language.
  • servelm - A project enabling server-side use of Elm.
  • elm-oracle128 10 - Query for information about values in elm source files. Used by most editor plugins.
  • html-to-elm - Convert HTML to Elm Html. Useful when porting an app to Elm.
  • elm-instant - atom package to try your elm code from the editor. Provides a visual REPL and a preview pane.
  • elm-analyse191 19 - Linter for the Elm programming language.
  • run-elm4 1 — Run Elm code from the command line
  • type-o-rama23 2 - JS type systems interportability.

⬆️ back to top

Editor plugins

Tools to support Elm in code editors.

⬆️ back to top

Package managers

Place to share Elm libraries.

  • elm-package172 75 - Command line tool to share Elm libraries.

⬆️ back to top


Good starting point for a new Elm project.

  • elm-webpack-starter571 98 - A simple Webpack setup for writing Elm apps.
  • elm-app-boilerplate100 28 - A fully-featured base project for Elm apps: Webpack, HMR, ES6, JS and Elm tests, Semantic UI, sample code and more.
  • elmkit37 5 - A lightweight Brunch based setup for web app. Includes Brunch, Hot Module Replacement, Elm, Scss, Elm tests.
  • elm-boilerplate - A simple Makefile able to create Elm app.
  • create-elm-app787 95 - Create Elm apps with no build configuration.
  • elm-init10 2 - Interactive setup for new Elm projects.
  • elm-new58 2 - Generate initial project scaffolding based on a template.

⬆️ back to top


Everything that you need to see.

  • Elm Search - Search Elm documentation for operators, function signatures, etc.
  • Try Elm - Write and compile elm code online!
  • 404 Elm Street142 8 - A fun WebGL game built with Elm.
  • Debug Elm - Debug elm code online.
  • Haskell to Elm56 6 - Collection of examples on places where Elm is different to Haskell, targeted at Elm beginners coming from Haskell backgrounds.
  • - A place to share and run Elm code.
  • Ellie - The Elm Live Editor
  • Online REPL - The ELM Online REPL

⬆️ back to top


Where to find help.

  • Mailing list - Google discussion group.
  • Reddit - Elm board on reddit.
  • IRC - Ask questions on elm freenode.
  • Slack - Elm slack community.

⬆️ back to top

Who to follow

Follow for fresh updates for free. Use #elmlang or #elm hashtag.

Official ElmEvan CzaplickiRichard FeldmanNoah HallElm Weekly

⬆️ back to top

More awesome

Discover other amazingly awesome lists.

Awesome Elm is just a part of awesome thing, get more here:

⬆️ back to top



To the extent possible under law, @isRuslan has waived all copyright and related or neighboring rights to this work.