tool

TypeScript Formatter & Validator

Format TypeScript and TSX with Prettier and catch syntax errors before they reach your build.

input
0 characters
1
result

paste your code and choose format

Format TypeScript and TSX online with Prettier

Paste TypeScript from a pull request, a Stack Overflow answer, a generated API client or an old project and get clean, consistently formatted code back. This tool uses Prettier with the official TypeScript parser, so it understands interfaces, generics, enums, decorators, satisfies, type assertions and React .tsx components. Click validate to check the code for syntax errors and get the exact line and column of the first problem. Your code is processed in your browser and never uploaded.

What can you do?

  1. 1. Format .ts and .tsx files
    One formatter for both plain TypeScript and TSX. JSX inside React components is detected automatically, and older <Type>value assertions in .ts code still work.
  2. 2. Prettier's standard TypeScript style
    Two-space indentation, a 100-character line width, semicolons, double quotes and trailing commas, which is the style most TypeScript projects already use.
  3. 3. Syntax validation with line numbers
    Find missing brackets, misplaced type annotations and other parse errors before you run tsc or your bundler, with a message such as “Line 1, column 29: ',' expected.”
  4. 4. Type and line counts
    See how many interfaces and type aliases the code declares, which helps when reviewing a large types file.

Why format TypeScript before you share or commit it?

TypeScript adds a lot of syntax on top of JavaScript: long generic signatures, union types, mapped types and nested object types. Without consistent formatting, a single function signature can stretch across the screen and make code reviews painful.

Running code through the same formatter your project uses removes style noise from diffs, so reviewers see what actually changed. And because the code has to parse before it can be formatted, you also get a quick syntax check without setting up a project.

How to format TypeScript online

  1. 1. Paste your code
    Paste a function, a component, a types file or a whole module into the input editor.
  2. 2. Click format
    The code is validated and then formatted. The first time you use the tool, the TypeScript parser loads in a moment; after that it's instant.
  3. 3. Fix any reported error
    If the code doesn't parse, the message shows the line and column. Correct it and format again.
  4. 4. Copy the result
    Copy the formatted code back into your editor or pull request.

Example: compressed TypeScript before and after

TSInput
interface User{id:number;name:string;roles?:Array<'admin'|'editor'>}
export const isAdmin=(u:User):boolean=>u.roles?.includes('admin')??false
TSFormatted output
interface User {
  id: number;
  name: string;
  roles?: Array<"admin" | "editor">;
}
export const isAdmin = (u: User): boolean => u.roles?.includes("admin") ?? false;

Syntax validation vs type checking

It's important to know what an online validator can and can't tell you. This tool checks that your code is valid TypeScript syntax. It doesn't run the TypeScript compiler's type checker, which needs your whole project, its tsconfig.json and installed type definitions.

Comparison of syntax validation in this tool and type checking with tsc
ProblemExampleCaught here?Caught by tsc?
Missing bracket or parenthesisfunction f(a: string {YesYes
Invalid type annotationconst a: = 1YesYes
Unclosed JSX tag in .tsx<div><p>Hi</div>YesYes
Wrong type assignedconst n: number = "5"NoYes
Missing import or unknown nameuseState()NoYes
Property that doesn't existuser.nmaeNoYes

Use this tool to clean up and sanity-check snippets quickly, and rely on tsc --noEmit or your editor for full type safety in a real project.

Frequently asked questions

Can I format TSX and React components?

Yes. JSX inside TypeScript is recognised automatically, so you can paste a whole .tsx component, including props interfaces and hooks with generic types.

Will formatting change how my code behaves?

No. Prettier only changes layout: whitespace, line breaks, quotes, semicolons and trailing commas. It doesn't rename anything, reorder statements or change types.

Can I change the indentation or quote style?

The tool uses one fixed, widely used style: two spaces, double quotes, semicolons and a 100-character line width. For project-specific settings, run Prettier with your own .prettierrc in your editor or CI.

Is there a TypeScript minifier?

Not here, on purpose. TypeScript isn't sent to browsers directly: it's compiled to JavaScript first, and your bundler (Vite, Next.js, esbuild, webpack) minifies that JavaScript. Minifying the .ts source itself has no practical use.

Why does it report an error for valid JavaScript-style code?

Some patterns mean something different in TypeScript. For example, a <Type>value cast inside JSX can be read as a tag. Use the value as Type syntax instead, which works in both .ts and .tsx code.

Is my code uploaded?

No. Prettier and the TypeScript parser run inside your browser, so your code never leaves your device.

Generating types from an API response? Try the JSON to TypeScript converter. Working in plain JavaScript? The JavaScript formatter also lints and minifies.