tsconfig Editor
Edit common tsconfig.json options in a form and export clean JSON.
Checkboxes: checked writes true, unchecked removes the key (inherit the default). Empty text fields also remove the key.
How to use it
- Paste your tsconfig.json into the top panel. Line comments, block comments and trailing commas are tolerated — they are stripped before parsing.
- Click Load config to fill the form with the current values.
- Change the options you care about: target, module, jsx, strict, esModuleInterop, outDir, rootDir, baseUrl and paths.
- Click Export JSON. The form values overwrite the matching keys, every other key in your file is preserved, and empty fields remove their key.
- Copy or download the result. Checkboxes write true when checked and delete the key when unchecked, which inherits the default.
Common use cases
- Fixing a broken strict setting — load a config, tick strict, export, and keep every custom key intact.
- Switching module target — move a project from CommonJS to ESNext or NodeNext without hand-editing JSON.
- Setting up path aliases — fill in baseUrl and paths together; the editor warns when paths is set without baseUrl.
- Normalizing output folders — set outDir and rootDir when splitting sources from builds.
Why it stays private
Parsing and serialization run entirely in your browser's memory. tsconfig files describe your project layout and build pipeline, and none of it is uploaded.
FAQ
Q: What happens to keys the form does not cover? A: They are preserved exactly as they were in your file. The editor only rewrites the nine options in the form, so include, exclude, files, references and plugins survive untouched.
Q: Why does an unchecked checkbox delete the key instead of writing false? A: Absence inherits the default (or the value from an extended config), while an explicit false overrides it. Deleting the key is the behavior most configs want; write false by hand in the exported JSON if you truly need it.
Q: How is paths validated? A: The field must be a JSON object whose values are arrays of strings, and the export warns when paths is set without baseUrl, because TypeScript resolves path patterns relative to baseUrl. The warning does not block the export.
Your data stays on this device
tsconfig Editor runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.
Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.