diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index ce830eff6d3dacfd6c12fbd1b79af888642e6c3e..a5ed4f0dc7465280c29e47d5458de972dba437fc 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -30,3 +30,25 @@ jobs:
         run: ln -s ./docs/site-example ./site
       - name: Lint shell code
         run: make lint-sh
+
+  editorconfig:
+    name: Editorconfig
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v1
+      - name: Install Dependencies
+        run: sudo apt install curl tar
+      - name: Install editorconfig-checker
+        env:
+          VERSION: 2.6.0
+          OS: linux
+          ARCH: amd64
+        run: |
+          curl -O -L -C - https://github.com/editorconfig-checker/editorconfig-checker/releases/download/$VERSION/ec-$OS-$ARCH.tar.gz
+          tar xzf ec-$OS-$ARCH.tar.gz
+          sudo mv ./bin/ec-$OS-$ARCH /usr/bin/editorconfig-checker
+          sudo chmod +x /usr/bin/editorconfig-checker
+      - name: Install example site
+        run: ln -s ./docs/site-example ./site
+      - name: Lint editorconfig
+        run: make lint-editorconfig
diff --git a/Makefile b/Makefile
index 565a32a08d9579ac8ec3210b93e2389aef62b61d..695b1bc73cf43c0cdfb86d776f0f45d6883bfca2 100644
--- a/Makefile
+++ b/Makefile
@@ -151,7 +151,10 @@ list-targets: FORCE
 		echo "$$target"
 	done
 
-lint: lint-lua lint-sh
+lint: lint-editorconfig lint-lua lint-sh
+
+lint-editorconfig: FORCE
+	@scripts/lint-editorconfig.sh
 
 lint-lua: FORCE
 	@scripts/lint-lua.sh
diff --git a/scripts/lint-editorconfig.sh b/scripts/lint-editorconfig.sh
new file mode 100755
index 0000000000000000000000000000000000000000..997ddd173c57d10ad9131bda6985103ced8850d1
--- /dev/null
+++ b/scripts/lint-editorconfig.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+set -e
+
+editorconfig-checker .github contrib docs package scripts targets tests ./*.* .luacheckrc .editorconfig