Skip to content
A curated list of useful Elm tutorials, libraries and software. Inspired by awesome list. Feel free to contribute. 🚀
Branch: master
Clone or download
Latest commit 6579864 Feb 28, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.travis.yml [ci] white list linkedin Oct 27, 2016 welcome Apr 23, 2015 Merge pull request #162 from dillonkearns/patch-1 Feb 28, 2019 pattern matching Jul 25, 2016

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.

⬆️ 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

Beyond the DOM

  • QML You can use .js files to create native desktop and phone applications for all platforms with GPU acceleration and easy to code animations.
  • iOS A POC for using Elm 0.18 for native iOS Applications
  • elmish-wasm A POC for compiling elm to Web Assembly
  • elm-serverless Run Elm 0.18 on Cloud Functions using the Serverless Frameworks


Useful helpers to build apps.

  • core - Elm Core Libraries.
  • html - Use HTML in Elm, based on the idea of a "virtual DOM".
  • elm-test - A unit testing framework for Elm.
  • elm-router - Easy routing in Elm.
  • http - Make HTTP requests in Elm.
  • elm-http-builder - Build and handle JSON requests more naturally than with low-level elm-http.
  • elm-console - Elm library to read and write to the console in Node.
  • lazy - Lazy Evaluation in Elm.
  • elm-ui - UI Library in Elm.
  • elm-mdl - Material Design component library in Elm. With demo.
  • elmfire - Use Firebase as backend. For higher level API: elmfire-extra.
  • elm-bootstrap - Comprehensive Bootstrap 4 library for Elm. Docs site.
  • elm-vega - Declarative visualization for Elm (Vega/Vega Lite integration)
  • style-elements - A new way to generate web UI that makes it easier to deal with layout and stylings. Guide.
  • dillonkearns/elm-graphql - Generate code to build guaranteed correct, type-safe API requests to your GraphQL API.

⬆️ back to top


Tools around Elm platform.

  • elm-compiler - Compiler for the Elm programming language.
  • elm-make - A build tool for Elm projects.
  • elm-reactor - Interactive development tool that makes it easy to develop and debug Elm programs.
  • elm-live - A flexible dev server for Elm. Live reload included!
  • elm-repl - A REPL for Elm.
  • elm-package - CLI to share Elm libraries.
  • elm-format - Automatic Elm code formatter adhering to Elm Style Guide.
  • grunt-elm - Grunt plugin that compiles Elm files to JavaScript.
  • elm-webpack-loader - Webpack loader for the Elm programming language.
  • servelm - A project enabling server-side use of Elm.
  • elm-oracle - 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-analyse - Linter for the Elm programming language.
  • run-elm — Run Elm code from the command line
  • type-o-rama - JS type systems interportability.
  • Dependabot - Automatic update PRs for your elm-package.json.

⬆️ back to top

Editor plugins

Tools to support Elm in code editors.

⬆️ back to top

Package managers

Place to share Elm libraries.

  • elm-package - Command line tool to share Elm libraries.

⬆️ back to top


Good starting point for a new Elm project.

  • elm-webpack-starter - A simple Webpack setup for writing Elm apps.
  • elm-app-boilerplate - A fully-featured base project for Elm apps: Webpack, HMR, ES6, JS and Elm tests, Semantic UI, sample code and more.
  • elmkit - 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-app - Create Elm apps with no build configuration.
  • elm-init - Interactive setup for new Elm projects.
  • elm-new - Generate initial project scaffolding based on a template.
  • elm-webpack-4-starter - Elm webpack 4 starter template.
  • elm-webpack-starter-kid - A very very basic elm + webpack 4 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 Street - A fun WebGL game built with Elm.
  • Debug Elm - Debug elm code online.
  • Haskell to Elm - 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
  • Elm on Alpine - The full working Docker image of Elm language built on top of Alpine. An easy way to start with Elm. No any system-wide dependencies except for Docker.

⬆️ back to top


Where to find help.

  • Discourse - Elm Discourse instance (official forum).
  • 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 Elm Evan Czaplicki Richard Feldman Noah Hall Elm 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.

You can’t perform that action at this time.