borkdude/clj2el

Transpile Clojure to Emacs Lisp!

Clojure

85

41 commits

updated Jul 21, 2026

See the code

README

clj2el

The clj2el tool transpiles Clojure to Emacs Lisp. It is currently incomplete, but contributions are welcome. It is targeted at folks who know Clojure better than Emacs Lisp.

See the interactive web page here.

CLI

There's also a tiny babashka CLI: clj2el. The CLI can be installed with bbin:

bbin install io.github.borkdude/clj2el --latest-sha

And used like this:

$ cat source.clj
(defn foo [x & xs] xs)

(inc 2)

(map inc [1 2 3])
$ cat source.clj | clj2el
(defun foo (x &rest xs) xs)

(1+ 2)

(mapcar #'1+ (vector 1 2 3))

Note that you can replace a region with clj2el in emacs with C-u M-|.

Using clj2el.el from Doom Emacs

;; packages.el
(package! clj2el :recipe (:host github :repo "borkdude/clj2el" :files ("*.el")))

;; config.el
(use-package! clj2el)
clojure
elisp
transpiler

Contributors

borkdude

37 commits

teodorlu

2 commits

anonimitoraf

1 commits

ikappaki

1 commits

borkdude/clj2el

Transpile Clojure to Emacs Lisp!

Clojure

85

41 commits

updated Jul 21, 2026

See the code

README

clj2el

The clj2el tool transpiles Clojure to Emacs Lisp. It is currently incomplete, but contributions are welcome. It is targeted at folks who know Clojure better than Emacs Lisp.

See the interactive web page here.

CLI

There's also a tiny babashka CLI: clj2el. The CLI can be installed with bbin:

bbin install io.github.borkdude/clj2el --latest-sha

And used like this:

$ cat source.clj
(defn foo [x & xs] xs)

(inc 2)

(map inc [1 2 3])
$ cat source.clj | clj2el
(defun foo (x &rest xs) xs)

(1+ 2)

(mapcar #'1+ (vector 1 2 3))

Note that you can replace a region with clj2el in emacs with C-u M-|.

Using clj2el.el from Doom Emacs

;; packages.el
(package! clj2el :recipe (:host github :repo "borkdude/clj2el" :files ("*.el")))

;; config.el
(use-package! clj2el)
clojure
elisp
transpiler

Contributors

borkdude

37 commits

teodorlu

2 commits

anonimitoraf

1 commits

ikappaki

1 commits

Languages

Clojure

60.5%

Emacs Lisp

35.5%

HTML

4.1%