tsconfig.json Generator
Generate a custom tsconfig.json: ES target, module, strict, paths, JSX, declaration and more. Validation against invalid options. Everything in your browser.
Getting target and module to agree
Starting a TypeScript project usually means copying a tsconfig from another repo, which drags in settings from a different setup (Next, Vite, plain Node) and gets tsc complaining about options you never chose. This page keeps the surface small: target, module, moduleResolution and jsx in selects, plus four flags (strict, declaration, esModuleInterop, skipLibCheck). The JSON renders as you click, already wired with outDir ./dist, rootDir ./src and an include on src.
The combinations are not free, and that is where most people get stuck. moduleResolution bundler only works when module is ESNext or preserve, so CommonJS plus bundler gives you a compiler error instead of a build. module NodeNext has to be paired with moduleResolution NodeNext. This generator does not block those pairs, it writes whatever you pick. Also, strict is not one flag: it is a shortcut that switches on eight, noImplicitAny and strictNullChecks included.
The paths are hardcoded: outDir ./dist and rootDir ./src. If your code lives in app/ or lib/, edit them after pasting. There is no field for paths, lib or noEmit, which matters on a Vite or Next project where the bundler does the transpiling and you usually want noEmit true (outDir then becomes decoration). Save the output as tsconfig.json at the repo root. Everything is built in the browser and nothing you pick is uploaded.
Frequently asked questions
Which target should I pick?
Can tsconfig.json have comments?
Do I need declaration turned on?
Related Tools
tsconfig Strict Generator
Generate a strict tsconfig.json.
tsconfig Base Generator
Generate a basic tsconfig.json for JS-to-TS migration.
package.json Generator
Build a minimal package.json: name, version, description, scripts, license, repository, type (module/commonjs). Everything in your browser.