Home › Developer Tools › TypeScript to JavaScript

TypeScript to JavaScript

Paste TypeScript or TSX and get readable JavaScript in milliseconds: type annotations, interfaces and type imports are removed while your code, comments and formatting stay as they were. Keep JSX for a .jsx file or compile it for React.

Last updated:

Converts automatically as you type. Your code never leaves your browser.
Advertisement
Advertisement

How to use the TypeScript to JavaScript

  1. Paste your TypeScript or TSX code, upload a .ts/.tsx file, or click Sample.
  2. Choose the JSX output: keep JSX for a .jsx file, or compile it to React.createElement or the automatic runtime.
  3. Pick the target and module format: modern syntax or ES2019, ES modules or CommonJS.
  4. Read the JavaScript on the right; it updates as you type and shows syntax errors with their line.
  5. Copy or download the result as a .js or .jsx file.

What gets removed and what gets compiled

TypeScriptJavaScript output
let n: number = 1let n = 1
interface User { … }, type Id = stringRemoved completely
import type { X } from './x'Removed; imports used only as types are dropped too
function f<T>(x: T): Tfunction f(x)
value as string, obj!, x satisfies Tvalue, obj, x
constructor(private db: Db) {}constructor(db) { this.db = db; }
enum Dir { Up, Down }A plain object with Dir.Up === 0 and reverse mapping Dir[0] === "Up"
public, private, readonly, abstract, declareModifiers removed

Example

// TypeScript
export function total(items: { price: number; qty?: number }[]): number {
  return items.reduce((sum, i) => sum + i.price * (i.qty ?? 1), 0);
}

// JavaScript
export function total(items) {
  return items.reduce((sum, i) => sum + i.price * (i.qty ?? 1), 0);
}

Strip types or compile?

Most TypeScript tooling today, including esbuild, Babel, SWC, Vite and Sucrase, converts TypeScript by stripping types file by file, without type-checking. That is what this tool does, which is why it is fast and keeps your code readable. The official tsc compiler also type-checks and can down-level code to very old targets such as ES5, which needs helper functions and changes the code much more. If you only want the JavaScript version of a file, for example to paste into a browser console, a CodePen or a project that does not use TypeScript, stripping types is the cleanest option.

  • For a file with JSX, choose Keep JSX to get a .jsx file you can drop into a React project.
  • Choose CommonJS for older Node.js scripts that use require() instead of import.
  • Generic arrow functions in TSX need a trailing comma or constraint, such as <T,>(x: T) => x, so they are not read as JSX tags.

Frequently asked questions

How do I convert TypeScript to JavaScript?

Paste the code into the left box. The converter parses it and removes everything that only exists for the type checker: annotations such as : string, interfaces, type aliases, generic parameters, as and satisfies casts, non-null assertions (!) and import type statements. The remaining code is valid JavaScript.

Does it check my types?

No. Like Babel, esbuild and Sucrase in a build pipeline, it only removes types and does not report type errors. Use tsc --noEmit or your editor to type-check. Syntax errors, such as a missing bracket, are reported with their line and column.

What is the difference between keeping JSX and compiling it?

Keep JSX converts .tsx to .jsx: the markup stays as <div>…</div> for a bundler to handle. Classic compiles each element to React.createElement(...) calls, which run directly in the browser with React loaded. Automatic uses the React 17+ runtime and adds an import from react/jsx-runtime.

Which ES target should I choose?

Modern keeps the syntax you wrote, which every current browser and Node.js 14+ understands. ES2019 rewrites optional chaining (a?.b), nullish coalescing (a ?? b) and class fields into older equivalents for legacy environments.

What happens to enums?

TypeScript enums have runtime values, so they are compiled to a plain JavaScript object with the same keys and values. Each file is converted on its own, like the isolatedModules setting, so const enums are emitted as regular enums.

Is my code uploaded anywhere?

No. The Sucrase compiler is downloaded once and then runs entirely in your browser, so your source code never leaves your device.

Are all the tools on FreeToolCabin tested for quality and accuracy?

Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.

Related tools

JSON to TypeScriptGenerate TypeScript interfaces or types from JSON, with nested types and optional fields.JavaScript BeautifierFormat and beautify messy or minified JavaScript, or minify it.JavaScript MinifierMinify JavaScript with Terser: compress, mangle and see how many bytes you save.HTML to JSX ConverterConvert HTML to valid React JSX: className, htmlFor, style objects, self-closing tags and events.JavaScript Online CompilerWrite and run JavaScript in your browser with a console, timing, error lines and share links.JSON to Excel ConverterTurn JSON into a styled .xlsx spreadsheet; nested arrays become their own linked sheets.JSON to CSVConvert JSON data to CSV for spreadsheets.CSV to JSONConvert CSV data to JSON with live preview.Excel to CSVConvert XLSX spreadsheets to CSV.CSV ViewerOpen a CSV or TSV file as a sortable, filterable table.Excel Viewer (XLSX / XLS)Open XLSX, XLS and ODS spreadsheets in your browser without Excel.Line Ending ConverterConvert text and files between CRLF, LF and CR line endings.Markdown to HTMLConvert Markdown to clean HTML with a live editor.XML to JSONConvert XML to JSON with validation.Text Encoding ConverterDetect and convert text file encodings like UTF-8, UTF-16 and Latin-1.JSON ViewerExplore JSON as a collapsible tree, search keys and values and copy any node's path.TTF to WOFF2 ConverterConvert TTF and OTF fonts to WOFF2 or WOFF and get a ready @font-face CSS snippet.Chmod CalculatorConvert Linux file permissions between checkboxes, octal (755) and symbolic (rwxr-xr-x) notation.Morse Code TranslatorTranslate text to Morse code and back, then play it as sound or a blinking light, or save a WAV.HTML Table GeneratorBuild HTML tables in an editable grid with styles, header rows, CSV import and live preview.Hex to Text ConverterConvert hex to text and text to hex with UTF-8 support and space, 0x, \x or comma formats.JSON to XML ConverterConvert JSON to well-formed XML with attributes, arrays and pretty print.JSON to YAML ConverterConvert JSON to clean YAML as you type, with indent, quoting and sort options.YAML to JSON ConverterConvert YAML to pretty or minified JSON, with errors pinned to the exact line.HTML to Markdown ConverterTurn HTML or pasted rich text into clean Markdown with tables and live preview.Markdown Table GeneratorBuild Markdown tables in a grid or paste from Excel/CSV, with alignment and preview.JSON ValidatorCheck JSON with the exact line and column of each error, fix tips and one-click auto-fix.Image to Base64Convert images to Base64 data URIs, CSS backgrounds and HTML img tags in your browser.Base64 to ImagePaste a Base64 string or data URI to preview, identify and download the image.JSON CompareCompare two JSON documents and see every added, removed and changed path.Hex to DecimalConvert hex to decimal instantly with steps and signed mode.Decimal to HexConvert decimal to hex instantly with steps and signed mode.Binary to DecimalConvert binary to decimal instantly with steps and signed mode.Decimal to BinaryConvert decimal to binary instantly with steps and signed mode.Two's Complement CalculatorDecimal to two's complement binary and back for 4-64 bits, with invert-and-add-1 steps.XML to CSV ConverterConvert XML to CSV: detects repeating records, flattens nested data, pick your columns.CSV to XML ConverterConvert CSV to well-formed XML with custom root and row names, escaping and pretty print.TOML to JSON ConverterConvert TOML to JSON and JSON to TOML with a full v1.0 parser and clear error lines.CSV to YAML ConverterConvert CSV rows to a YAML list of mappings with type inference and delimiter detection.Endianness ConverterSwap byte order of 16, 32 and 64-bit hex values and see big- and little-endian integers and floats.Excel to SQL ConverterTurn an Excel sheet into CREATE TABLE and INSERT statements for MySQL, PostgreSQL, SQLite or SQL Server.Excel to VCF ConverterTurn an Excel contact list into a vCard .vcf file for iPhone, Android, Google or Outlook.File to C ArrayConvert any file into a C or C++ byte array header, like xxd -i, with const and PROGMEM options.Image to C ArrayConvert images to monochrome, RGB565 or RGB888 C arrays for OLED, LCD and TFT displays.JSON Merge ToolDeep-merge two or more JSON objects with array concat, replace or union and a conflict rule.JSONL to CSV ConverterConvert JSON Lines / NDJSON to CSV with flattened columns; streams large files locally.PHP Unserialize OnlineDecode PHP serialize() strings to JSON, a tree or print_r, and serialize JSON back to PHP.SQL Dialect ConverterTranslate SQL between MySQL, PostgreSQL, SQLite, SQL Server, Oracle, BigQuery and more.TSV to JSON ConverterTurn tab-separated data pasted from Excel or Sheets into a JSON array or keyed object.XLS to XLSX ConverterConvert old Excel 97-2003 .xls workbooks to modern .xlsx files in your browser, several at once.XML to Excel ConverterTurn repeating XML elements into an .xlsx spreadsheet with attributes and nested data as columns.XSD to XML Sample GeneratorGenerate a sample XML document from an XSD schema, with types, attributes and namespaces.YAML to CSV ConverterTurn a YAML list of objects into CSV with dot-notation columns, custom column order and download.DOCX to Markdown ConverterConvert Word .docx to clean Markdown with headings, lists, tables, links and images in a ZIP.ES6 to ES5 ConverterTranspile modern JavaScript (ES2015+) to ES5 with Babel: targets, module format and loose mode.JavaScript Object to JSONTurn JS object literals and Python dicts into valid JSON: quotes keys, fixes commas and values.JSON Graph VisualizerSee JSON as an interactive node graph with zoom, collapse and search; export PNG or SVG.KML ViewerOpen KML and KMZ files on an interactive map: placemarks, paths, polygons, folders, export.MySQL to PostgreSQL ConverterConvert MySQL dumps and CREATE TABLE statements to PostgreSQL: types, AUTO_INCREMENT, ENUMs, quotes.Text to CSV ConverterTurn space-aligned, fixed-width, pipe or tab separated text into clean CSV with a live preview.VCF File ViewerOpen vCard .vcf files as contact cards with photos, search and duplicate check, export CSV.XML ViewerBrowse XML as a collapsible tree with search, XPath of any node, attributes and big-file support.JSON to Go StructTurn JSON into Go structs with inferred types, nested structs and json tags.JSON to Python ClassGenerate Python dataclasses, Pydantic models or TypedDicts with type hints from JSON.JSON to C# ClassConvert JSON to C# classes or records with System.Text.Json or Newtonsoft attributes.JSON SorterSort JSON keys A-Z recursively, sort arrays by value or by a key, then pretty-print or minify.JSON to HTML TableConvert a JSON array of objects into clean HTML table code with CSS styles and a live preview.CSV to SQL ConverterConvert CSV to SQL CREATE TABLE and INSERT statements for MySQL, PostgreSQL, SQLite or SQL Server.
See all 129 Data & File Format Converters →