DocumentosImagensMídiaFerramentas PDF

Converter TypeScript para JavaScript Online

Transpile TypeScript para JavaScript no seu navegador. Sem instalar Node.js ou tsc. Ideal para aprender TS e compartilhar código.

function greet(user: User) {
  const greeting = "Hello, " + user.name;
  return greeting;
}

const users: User[] = [
  { name: "John", age: 30, active: true },
];
Processed in your browser

TypeScript para JavaScript: sem instalar nada

Sem Node.js nem npm

Transpile TypeScript diretamente no navegador. Sem instalar tsc, sem tsconfig.json, sem dependências.

Compilador oficial

Usa o compilador TypeScript da Microsoft compilado para WebAssembly — mesmo resultado que o tsc local.

Aprenda TypeScript

Entenda exatamente o que o compilador gera a partir dos seus tipos, interfaces e genéricos.

Compartilhe código

Compartilhe snippets JavaScript com equipes ou ambientes que não têm TypeScript configurado.

Três passos, sem complicação

1

Cole seu código TypeScript

Cole seu código .ts: interfaces, tipos, genéricos, enums, decorators ou qualquer recurso do TypeScript que você queira converter para JavaScript puro.

2

Transpilação instantânea

O compilador oficial do TypeScript (compilado para WebAssembly) remove as anotações de tipo e transpila para JavaScript ES2015 ou superior em milissegundos.

3

Copie o JavaScript resultante

Obtenha o JavaScript equivalente pronto para executar no navegador, no Node.js ou para compartilhar com equipes que não usam TypeScript.

Ficou com dúvidas?

O transpilador remove todos os elementos exclusivos do TypeScript sem representação em JavaScript: anotações de tipo como string, number, boolean e T[], interfaces (interface User), aliases de tipo (type ID = string), genéricos com T e T extends U, modificadores de acesso como public, private, protected e readonly em classes, enumerações (enum Direction é convertida para objeto JavaScript), o operador as de type assertion, a palavra-chave declare para declarações ambientais e decorators experimentais como @Component e @Injectable. Estruturas de controle, funções, classes (a parte de valor, não a de tipo), módulos import/export e toda a lógica do programa são preservados exatamente.

O transpilador online usa o compilador oficial do TypeScript (desenvolvido pela Microsoft, publicado como open source em outubro de 2012, atualmente na versão 5.x) com configuração target ES2015 ou ES2017. Para produção real, o fluxo correto é instalar o TypeScript com npm install typescript, configurar o tsconfig.json com rigor adequado (strict: true é a prática recomendada desde o TypeScript 2.3) e executar o tsc ou usar bundlers como Vite, esbuild, SWC ou webpack com ts-loader. A vantagem de um transpilador online é a velocidade para exploração, aprendizado ou compartilhamento de snippets — ele não substitui o toolchain de produção com verificação de tipos, source maps e otimizações de bundle.

O TypeScript tem dois sistemas de decorators: os legacy (--experimentalDecorators, disponíveis desde o TypeScript 1.5 em 2015, usados por Angular, NestJS e inversify) e os decorators TC39 Stage 3 (implementados no TypeScript 5.0, março de 2023, seguindo a proposta ECMAScript). O transpilador online suporta ambos por meio da configuração correspondente. Decorators legacy geram código JavaScript com chamadas __decorate() e __metadata(); os decorators TC39 Stage 3 geram código mais limpo seguindo a proposta ECMAScript padrão.

O TypeScript suporta JSX (a sintaxe de templates do React) via arquivos .tsx. A configuração jsx do compilador controla como o JSX é transformado: react (transforma para React.createElement(), comportamento clássico), react-jsx (transforma usando o novo JSX transform do React 17 ou superior, importando de react/jsx-runtime), react-native (deixa o JSX sem transformar) e preserve (deixa o JSX para outro transpilador como o Babel processar). Para projetos React com TypeScript, o fluxo recomendado é usar o Vite (que usa esbuild internamente para TSX) ou CRA/Next.js que incluem transpilação de TSX por padrão.

Sim. Imports e exports de módulos ES6 são preservados por padrão quando o target é ES2015 ou superior. O TypeScript também remove imports que são apenas de tipos (import type), pois não têm representação em tempo de execução. Quando o target é CommonJS (module: commonjs no tsconfig), imports/exports são transformados para require()/module.exports, o sistema de módulos do Node.js. Para uso no navegador com módulos ES nativos, o target ES2015 com module: ESNext é o mais adequado.

Sim. O TypeScript foi criado por Anders Hejlsberg — também criador de C# e Turbo Pascal — na Microsoft e publicado como open source em outubro de 2012. A definição oficial é que o TypeScript é JavaScript tipado com escala para aplicações grandes. Todo JavaScript válido é TypeScript válido — você pode renomear qualquer arquivo .js para .ts sem alterações. O TypeScript adiciona o sistema de tipos (anotações, interfaces, genéricos), enumerações, decorators experimentais e alguns recursos de estágios avançados do ECMAScript. O compilador tsc foi o primeiro transpilador moderno de JavaScript com grande adoção, precursor do ecossistema atual de Babel, esbuild, SWC e Vite.

TypeScript para JavaScript online: transpile TS sem instalar Node.js ou tsc

TypeScript é uma linguagem de programação desenvolvida pela Microsoft e publicada como open source em outubro de 2012. Foi criada por Anders Hejlsberg — também responsável pelo design de C# (2000) e Turbo Pascal (1983) — com o objetivo de escalar JavaScript para aplicações grandes por meio de um sistema de tipos estático opcional. TypeScript é um superconjunto sintático de JavaScript (ECMAScript): todo JavaScript válido é TypeScript válido, e o compilador tsc (TypeScript Compiler) gera JavaScript padrão como saída. O TypeScript 5.x (a branch de versões maiores iniciada com o TypeScript 5.0 em março de 2023) é uma das linguagens mais usadas segundo o Stack Overflow Developer Survey 2024, com adoção massiva em ecossistemas como Angular (que exige TypeScript desde a versão 2 em 2016), NestJS, Next.js e praticamente todo projeto frontend de grande escala. A necessidade de um transpilador online surge em vários cenários: exploração rápida de como o TypeScript compila um recurso específico sem configurar um projeto local, aprendizado interativo do sistema de tipos, compartilhamento de código com desenvolvedores ou equipes que trabalham com JavaScript puro e prototipagem rápida de snippets.

O processo de transpilação de TypeScript para JavaScript consiste essencialmente em erasure de tipos (type erasure): o compilador analisa o código TypeScript, verifica a consistência do sistema de tipos (em modo de verificação completa, não disponível na transpilação pura) e emite JavaScript removendo todas as informações de tipo sem representação em tempo de execução. Os elementos removidos são: anotações de tipo em variáveis, parâmetros de função e tipos de retorno; interfaces e aliases de tipo completos (não existem em JavaScript); modificadores de acesso em classes (public/private/protected são exclusivos do TypeScript); parâmetros de tipo em genéricos; type assertions (as Type, e o operador de ângulo); e declarações ambientais (declare). Os elementos que são transformados — e não apenas removidos — são: enumerações (enum), convertidas para objetos JavaScript com mapeamento bidirecional (valor para nome e nome para valor); decorators legacy com --experimentalDecorators, que geram código auxiliar __decorate() e __metadata(); e recursos ECMAScript em estágios avançados que o TypeScript implementa antes de estarem disponíveis em todos os motores.

O ecossistema de ferramentas de transpilação do TypeScript evoluiu significativamente. O compilador original tsc (escrito em TypeScript, disponível como pacote npm typescript desde 2012) é a referência de comportamento e o que oferece verificação de tipos completa. Para velocidade de build em projetos grandes, surgiram alternativas que priorizam a velocidade de transpilação em detrimento da verificação de tipos: esbuild (Evan Wallace, 2020, escrito em Go, de 10 a 100 vezes mais rápido que o tsc), SWC (2019, escrito em Rust, usado pelo Next.js e Vercel) e o transformador TypeScript do Babel (@babel/plugin-transform-typescript, 2018). Essas ferramentas realizam type erasure sem verificar tipos — para verificação de tipos em CI/CD, o tsc --noEmit é executado em paralelo. O Vite (Evan You, 2020) usa esbuild para transpilação de TypeScript em desenvolvimento e Rollup para produção. O Convertir.ai usa o compilador oficial TypeScript compilado para WebAssembly para garantir fidelidade exata com o comportamento do tsc, executando todo o processo no seu navegador sem enviar o código a nenhum servidor.