Skip to main content


Formatting rules now live in eslint-stylistic. @stylistic/ts/no-extra-semi is the replacement for this rule.
See Deprecating Formatting Rules for more information.

Disallow unnecessary semicolons.


Some problems reported by this rule are automatically fixable by the --fix ESLint command line option.

This rule extends the base eslint/no-extra-semi rule. It adds support for class properties.

Note that this rule is classified as a "Suggestion" rule instead of a "Layout & Formatting" rule because adding extra semi-colons actually changes the AST of the program. With that said, modern TypeScript formatters will remove extra semi-colons automatically during the formatting process. Thus, if you use a formatter, then enabling this rule is probably unnecessary.


See eslint/no-extra-semi options.

How to Use

module.exports = {
"rules": {
// Note: you must disable the base rule as it can report incorrect errors
"no-extra-semi": "off",
"@typescript-eslint/no-extra-semi": "error"
Try this rule in the playground ↗


Taken with ❤️ from ESLint core