Flake8 is a free Python code checker for Linux that brings style and quality checks together in a command-line tool. It runs pycodestyle, pyflakes, and McCabe, which are installed by default, and can add community or locally configured plugins. When Flake8 runs, it presents warnings in merged output organized by file. Users can choose which error codes to report or ignore and set exceptions for individual files. Projects can keep settings in INI format in setup.cfg, tox.ini, or .flake8. Flake8 can also be used as a pre-commit hook; its README lists Git and Mercurial hooks. Plugin developers have guidance for creating or maintaining extensions, while users have a guide to using the tool. Flake8 supports custom rules and CI, but does not provide autofix, security rules, or IDE support. Third-party plugin accuracy and reliability can vary, and plugins are not guaranteed to work with Flake8 3.0.
Who it is for
Flake8 suits Python developers who want command-line style and quality checks, configurable error selection, and project-level settings. Its plugin support and developer guidance also suit people who need to extend or maintain checks.
What is good
- Free, open-source command-line tool for Python.
- Combines pycodestyle, pyflakes, and McCabe checks.
- Supports community and locally configured plugins.
- Allows error-code selection and per-file ignores.
- Can run with pre-commit, Git, and Mercurial hooks.
- Supports CI and custom rules.
What to know first
- No autofix, security rules, or IDE support.
- Third-party plugin accuracy and reliability can vary.
- Third-party plugins are not guaranteed to work with Flake8 3.0.
Verdict
Choose Flake8 for free, configurable Python checks from the command line, especially when plugins or version-control hooks fit your workflow. Look elsewhere if you need autofix, security rules, or IDE support.
Get started with Flake8
- Open the Flake8 website.
- Install Flake8 with pip for the Python version you intend to use.
- Choose a project configuration file: setup.cfg, tox.ini, or .flake8.
- Set INI options, including error codes to select or ignore and any per-file ignores.
- Run Flake8 from the command line, or add it as a pre-commit hook.
Questions about Flake8
How much does Flake8 cost?
Flake8 is free. Its listed plan is 0.00 USD per free.
Which platforms does Flake8 support?
Linux is the listed platform. Flake8 runs from the command line.
Can I extend or customize Flake8?
Yes. Flake8 supports community plugins, local check and reporting plugins, and custom rules. Project settings can select or ignore error codes and apply per-file ignores.
Does Flake8 support CI or IDEs?
CI support is listed; IDE support is none. Flake8 also has no autofix or security rules.
How do I install Flake8?
The quickstart directs users to install it with pip for the Python version they intend to use.
Can I use Flake8 with hooks?
Flake8 can be included as a pre-commit hook, and its README lists Git and Mercurial hooks.
Flake8 plans and pricing
All plansCompared on linters
- Free plan
- Yes
- Languages supported
- 1
- Autofix
- No
- Custom rules
- Yes
- Security rules
- No
- IDE support
- none
- CI support
- Yes



