There's probably no such thing as "perfect", but there are programs like " black " that ensure the code is formatted "correctly". Answer from JamzTyson on reddit.com
🌐
freeCodeCamp
freecodecamp.org › news › alternatives-to-prettier
Alternatives to Prettier – Popular Code Linting and Formatting Tools
March 15, 2023 - In this guide, we will talk about the Prettier code formatter. We will also talk about alternatives to Prettier like JsFmt, StandardJS, EsLint + EditorConfig, and Beautifier.
🌐
StackShare
stackshare.io › prettier › alternatives
What are some alternatives to Prettier?
1,377 stacks0 votes59 followersCompare Prettier vs JSHint → ... It is a python tool that glues together pycodestyle, pyflakes, mccabe, and third-party plugins to check the style and quality of some python code.
🌐
Prettier
prettier.io › docs › comparison
Prettier vs. Linters · Prettier
How does it compare to ESLint/TSLint/stylelint, etc.?
🌐
StackShare
stackshare.io › stackups › eslint-vs-pylint
ESLint vs Pylint | What are the differences? | StackShare
In summary, ESLint and Pylint differ in terms of language support, configurability, plugin ecosystem, integration with build systems, rule sets, and community adoption. These differences make them better suited for their respective programming languages and use cases.Read more · Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge. ... Scenario: I want to integrate Prettier in our code base which is currently using ESLint (for .js and .scss both).
🌐
DZone
dzone.com › coding › languages › the ultimate guide to code formatting: prettier vs eslint vs biome
The Guide to Code Formatting: Prettier vs ESLint vs Biome
May 29, 2025 - If you are already using or have ever used Prettier and feel that it's enough for you, I would recommend that you definitely try Biome for more speed, flexibility and code linting.
🌐
DEV Community
dev.to › g_abud › prettier-and-the-beauty-of-opinionated-code-formatters-pfg
Prettier and the Beauty of Opinionated Code Formatters - DEV Community
June 25, 2020 - If you are purely a frontend team, you can use husky and lint-staged. If you are working on a full-stack or multi-language team, you can use the pre-commit Python package to run Prettier as a pre-commit hook.
🌐
ProductHunk
jiyushe.com › producthunk › best-prettier-alternatives-and-competitors.html
10 Best Prettier Alternatives and Competitors in 2024 | ProductHunk
With its opinionated approach and focus on readability, Black has gained popularity among Python developers and is a strong alternative to Prettier for Python projects. ... JSHint is a widely used JavaScript code quality tool that also provides some code formatting capabilities. While it is primarily used for detecting potential errors and coding mistakes, JSHint can also be configured to enforce certain code formatting rules. While not as feature-rich as ESLint or Prettier, JSHint can still be a viable alternative for developers who prefer a simpler tool.
Find elsewhere
Top answer
1 of 2
456

UPDATE 2023: ESLint is deprecating formatting rules and recommend you use a source code formatter instead.

tl;dr: Use eslint-config-prettier in eslint, and run prettier separately. You can ignore the rest.

From v8.53.0 onwards, you will see a deprecation warning if those formatting rules are enabled in your config. You should still use eslint-config-prettier to disable conflicting rules until the rules are removed in a new major release.

ESLint contains many rules and those that are formatting-related might conflict with Prettier, such as arrow-parens, space-before-function-paren, etc. Hence using them together will cause some issues. The following tools have been created to use ESLint and Prettier together.

prettier-eslint eslint-plugin-prettier eslint-config-prettier
What it is A JavaScript module exporting a single function. An ESLint plugin. An ESLint configuration.
What it does Runs the code (string) through prettier then eslint --fix. The output is also a string. Plugins usually contain implementations for additional rules that ESLint will check for. This plugin uses Prettier under the hood and will raise ESLint errors when your code differs from Prettier's expected output. This config turns off formatting-related rules that might conflict with Prettier, allowing you to use Prettier with other ESLint configs like eslint-config-airbnb.
How to use it Either calling the function in your code or via prettier-eslint-cli if you prefer the command line. Add it to your .eslintrc. Add it to your .eslintrc.
Is the final output Prettier compliant? Depends on your ESLint config Yes Yes
Do you need to run prettier command separately? No No Yes
Do you need to use anything else? No You may want to turn off conflicting rules using eslint-config-prettier. No

For more information, refer to the official Prettier docs.

It's the recommended practice to let Prettier handle formatting and ESLint for non-formatting issues, prettier-eslint is not in the same direction as that practice, hence prettier-eslint is not recommended anymore. You can use eslint-plugin-prettier and eslint-config-prettier together.

2 of 2
3
  • Use eslint-config-prettier to turn-off eslint rules that are unnecessary or might conflict with Prettier. See 1st line in readme: eslint-config-prettier.
  • Use eslint-plugin-prettier to run Prettier as an Eslint-rule. See 1st line in readme: eslint-plugin-prettier
  • Use both to take advantage of both tools. See recommended configuration: eslint-plugin-prettier. This way you use plugin to run Prettier as an Eslint-rule, and config to turn-off eslint rules that are unnecessary or might conflict with Prettier.
  • You can ignore prettier-eslint
🌐
Sonatafy Technology
sonatafy.com › home › biomejs: an alternative to prettier and eslint
BiomeJS: An Alternative to Prettier and ESLint
August 30, 2024 - BiomeJS is a fast, next-generation tool for formatting, linting, and maintaining JavaScript code. It combines the functionality of tools like Prettier and ESLint into a single package, offering developers a streamlined way to enforce coding ...
Top answer
1 of 5
182

In my experience, the best combination is all 3, and here's why:

EditorConfig: This helps your editor produce code that looks like your style guide as you go. While this isn't strictly necessary in order to achieve your goals, it's nice if you're always looking at code that follows the same coding styles. Otherwise if you don't have EditorConfig, as you're typing your editor will auto-format differently to the rest of the code base, which is confusing. Of course if you've set up prettier it'll fix it before it goes into your code base, but still, why would you want to look at it in one format while you're writing it and then have it switch when you go to commit? Might as well be consistent.

Prettier: Automatically formats your code. I like to set it up to do this when I stage my files for a commit, so that it's physically impossible for me to commit code that doesn't match my style guide.

ESLint: So why would you want a linter too? Because ESLint does more than just style. It picks up when you declare variables you don't use, or reference things that aren't defined, amongst a few other niceties. So while its role diminishes somewhat compared to the days before prettier, it's still useful to have in a project to catch the other errors.

2 of 5
33

Prettier

It removes all original styling and ensures that all outputted code conforms to a consistent style.

  • It changes your code after writing your code.
  • For example
    • on save with the Visual Studio Code editor
    • with a CLI like prettier --write .

Editorconfig

EditorConfig helps maintain consistent coding styles for multiple developers working on the same project across various editors and IDEs.

  • It applies your rules before writing code
    • For example
      • When you press TAB, it leaves four spaces.

ESLint

ESLint statically analyzes your code to quickly find problems.

  • ESLint finds problems in your code

To summarize:

  • EditorConfig changes your editor settings.
  • Prettier updates your code with your rules to reshape your code.
Finally:
  • They have some common features in order to do the same things.
  • I also agree with KevinBrownTech to use three of them. Especially if you are working with a team.

Useful sources for who want to dive into:

  • Feross Aboukhadijeh: Write Perfect Code With Standard And ESLint - JSConf.Asia 2018
  • JavaScript Standard Style

Also look at the React framework's repository:

🌐
Prettier
prettier.io › docs › integrating-with-linters
Integrating with Linters · Prettier
Linters usually contain not only code quality rules, but also stylistic rules. Most stylistic rules are unnecessary when using Prettier, but worse – they might conflict with Prettier!
🌐
Reddit
reddit.com › r/javascript › prettier alternatives or configuration
r/javascript on Reddit: Prettier alternatives or configuration
June 18, 2018 - Is there an alternative to prettier or is it possible to configure prettier itself to match my styling guidelines? ... Best bet is to go with a linter with built-in fixers, such as eslint.
🌐
GitHub
github.com › prettier › plugin-python
GitHub - prettier/plugin-python: Prettier Python Plugin
Prettier Python Plugin. Contribute to prettier/plugin-python development by creating an account on GitHub.
Starred by 521 users
Forked by 37 users
Languages   JavaScript 72.2% | Python 27.8%
🌐
DEV Community
dev.to › thatanjan › i-replaced-eslint-prettier-with-this-fkn
I Replaced ESLint & Prettier with This ⚡ - DEV Community
November 4, 2025 - Biome is a single tool that replaces both ESLint and Prettier, offering faster performance, simpler configuration, and native multi-language support.
🌐
GitHub
github.com › prettier › prettier-eslint
GitHub - prettier/prettier-eslint: Code `prettier` `eslint --fix` Formatted Code :sparkles: · GitHub
This is great if you want to use prettier, but override some of the styles you don't like using eslint --fix. An alternative approach is to use different tools for different concerns. If you provide prettierLast: true, it will run eslint --fix first, then prettier.
Author   prettier
🌐
LogRocket
blog.logrocket.com › home › modern, faster alternatives to eslint
Modern, faster alternatives to ESLint - LogRocket Blog
June 4, 2024 - Like Prettier, Babel isn’t an alternative to ESLint but can leverage ESLint’s linting features to provide our application with a much more robust set of features.
🌐
Libhunt
js.libhunt.com › prettier-alternatives
prettier Alternatives - JavaScript QA Tools | LibHunt
Based on the "QA Tools" category. Alternatively, view prettier alternatives based on common mentions on social networks and blogs. 9.4 9.7 L1 prettier VS ESLint · Find and fix problems in your JavaScript code. 9.4 4.7 prettier VS husky · Git hooks made easy 🐶 woof!
🌐
LibHunt
libhunt.com › compare-prettier-vs-black
prettier vs black - compare differences and reviews? | LibHunt
These requirements are not too uncommon. I have seen many projects with similar setup, with alternatives such as tox instead of nox, or black and pylint instead of ruff, etc. ... Use black and isort for formatting.