React Formatter
Format React components written in JSX or TSX.
React Formatter – Clean Up React Components
The React formatter formats complete React components — imports, hooks, event handlers, and JSX — in one pass. Choose JavaScript (JSX) or TypeScript (TSX) and Prettier prints the component the same way it would in a Create React App, Next.js, or Vite project.
Why format React code?
Components grow over time: a hook here, a conditional there, an inline handler that keeps getting longer. Consistent formatting keeps them readable and makes code reviews focus on logic instead of whitespace. It is also the quickest way to understand a component someone pasted into a chat or an issue as a single line.
What the formatter handles
- Function and class components, arrow components,
forwardRefandmemowrappers. - Hooks such as
useState,useEffect, and custom hooks with long dependency arrays. - JSX with conditional rendering, lists rendered with
.map(), fragments, and spread props. - TypeScript prop interfaces, generics, and typed event handlers in TSX mode.
Options
Pick indentation, line width, semicolons, quotes, and trailing commas. The defaults (2 spaces, double quotes, semicolons, trailing commas everywhere) match Prettier's own defaults, which most React projects use unchanged.
Tips
Format before you commit and you will never see whitespace-only diffs again. If the formatter reports an error, check for a missing closing tag or a JSX expression without braces — these are the most common causes. Only want to check syntax? The JavaScript Validator has an Allow JSX switch and points to the exact position of the problem.
Related tools
For markup-heavy snippets try the JSX Formatter; for non-React TypeScript the TypeScript Beautifier; and for stylesheets that belong to your components, the CSS Beautifier or SCSS Beautifier.
Frequently Asked Questions
Does it work with Next.js and React Native code?
Yes. Both use standard JSX or TSX syntax. Framework-specific imports and components are just JavaScript to the formatter.
Can it sort my imports or remove unused ones?
No. Prettier only formats; it never adds, removes, or reorders code. Use ESLint rules or an import-sorting plugin for that.
Which option should I pick for .tsx files?
Choose TypeScript (TSX) in the Language menu. Typed props, generics, and type assertions then parse correctly.