.clj

What is a .clj file?

Clojure is a modern Lisp for the JVM — functional, immutable by default, and designed for concurrent programming.

Use caution
Type Code
By Rich Hickey
MIME text/x-clojure

Drop any file to identify it

No upload. No signup. No sending your file halfway across the internet.
We tell you what it is, right here in your browser.

What is it

Clojure is what happens when a pragmatist designs a Lisp. Rich Hickey created it to bring Lisp's power — homoiconicity, macros, REPL-driven development — to the JVM ecosystem, with immutable data structures and built-in concurrency primitives. The result is a language that's surprisingly practical despite the parentheses.

Immutability is the default. Data structures don't change — you create new versions. This eliminates entire categories of concurrency bugs and makes state management predictable. Clojure's persistent data structures use structural sharing, making immutable operations efficient. The REPL-driven workflow (evaluate code interactively, build programs incrementally) is addictive once experienced.

Clojure's ecosystem includes ClojureScript (compiles to JavaScript), Datomic (an immutable database by the same creator), and a mature set of libraries. Companies like Nubank (Latin America's largest fintech), Walmart, and Cisco use Clojure in production. The community is small but deeply knowledgeable — Clojure developers tend to be experienced programmers who chose the language deliberately.

Technical details
Full Name
Clojure Source
MIME Type
text/x-clojure
Developer
Rich Hickey
Magic Bytes
N/A
Safety
.clj requires caution. Source code file. Safe to read.
What opens it
IntelliJ IDEA (+ Cursive)
FREE Windows / Mac / Linux
VS Code (+ Calva)
FREE Windows / Mac / Linux
Emacs (+ CIDER)
FREE Windows / Mac / Linux
FAQ
Why use Clojure instead of Java?
Clojure offers immutable data structures, REPL-driven development, and dramatically less boilerplate than Java. It runs on the JVM and uses Java libraries seamlessly. The tradeoff: smaller community, steeper learning curve, and those parentheses.
Are the parentheses a problem?
Surprisingly, no. With proper editor support (structural editing, rainbow brackets), parentheses become invisible. The uniform syntax enables powerful macros and makes code manipulation trivially easy.
Related formats