# DJLint / DJade : Thoughts? Similar but different?

**URL:** <https://forum.djangoproject.com/t/djlint-djade-thoughts-similar-but-different/44925>\
**Category:** Templates & Frontend\
**Created:** [April 16, 2026, 1:02pm UTC](https://forum.djangoproject.com/t/djlint-djade-thoughts-similar-but-different/44925 "2026-04-16T13:02:19Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![hannylicious](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/hannylicious/32/29866_2.png) [@hannylicious](https://forum.djangoproject.com/u/hannylicious)\
**Post date:** [April 16, 2026, 1:02pm UTC](https://forum.djangoproject.com/t/djlint-djade-thoughts-similar-but-different/44925/1 "2026-04-16T13:02:19Z")

</div>

Curious to which people prefer, really.

I’ve been using DjLint lately and have not been unhappy with it - but then stumbled across Djade again in some googling and was reminded of it’s ability to ‘upgrade’ template bits that are deprecated.

I used the two on a project I’ve been working on and found a couple difference that made me wonder: what does everyone else use and/or prefer?

I like the fact that Djade alphabetizes the load tag in the templates and that it places a space before blocks. Djlint doesn’t alphabetize the load tag (which is unimportant to me), but Djlint removes spaces before blocks (which I don’t care for as much).

Otherwise they seem to both do the job and do it well.

I was curious if others have specific use cases where they prefer one or the other and why.

---

<div class="post-metadata">

**Author:** ![stuartmaxwell](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.djangoproject.com/stuartmaxwell/32/1135_2.png) [@stuartmaxwell](https://forum.djangoproject.com/u/stuartmaxwell)\
**Post date:** [April 16, 2026, 10:26pm UTC](https://forum.djangoproject.com/t/djlint-djade-thoughts-similar-but-different/44925/2 "2026-04-16T22:26:35Z")

</div>

I really like djLint and use it in all my projects. I think it’s more opinionated that Djade which you may or may not like.

I create a `djlint.toml` in my project folders, usually with something like this:

```toml
format_css = true
format_js = true
ignore = "H021,H031,H030"
indent = 2
max_line_length = 120

```

And then I hit save and just let the formatter format my template based on the rules.

The first time you use it, the formatter will probably aggressively change your template to match the rules, which can be a bit jarring. But after a while you get used to it and let it make the formatting decisions for you.

One of the more niche features that comes in handy with djLint is that you can configure custom blocks, so if you’re using a plugin or template tag that implements its own block type, then djLint won’t break the formatting of this.
