トランスパイルとは、あるプログラミング言語で書いたコードを、別のプログラミング言語のコードへ変換することです。
代表例はTypeScriptです。TypeScriptで書いたコードは、多くの場合JavaScriptへ変換され、ブラウザやNode.jsで実行されます。

トランスパイルは「別の言語へ変換する」と覚えると、コンパイルとの違いが見えやすくなります。
この記事では、トランスパイルの意味、コンパイルとの違い、TypeScriptの例、Babelの位置づけ、初心者が混同しやすいポイントを整理します。親記事としてコンパイルとは?も合わせて読むと理解しやすいです。
まず結論:トランスパイルは別の言語へ変換すること
コンパイルは広い意味ではコードを別の形へ変換することです。その中でも、ある高水準の言語から別の高水準の言語へ変換する場合を、トランスパイルと呼ぶことがあります。
次の図で見るポイントは、TypeScriptがJavaScriptへ変換され、実行環境で動く流れです。

コンパイルとの違い
コンパイルとトランスパイルは、会話の中では混ざって使われることがあります。初心者のうちは、変換先で分けると理解しやすいです。
次の比較図で見るポイントは、コンパイルが実行環境向けの形へ近づけるのに対し、トランスパイルは別のプログラミング言語へ変換する点です。

| 用語 | 変換先 | 例 |
|---|---|---|
| コンパイル | 実行環境が扱いやすい形 | Java -> bytecode |
| トランスパイル | 別のプログラミング言語 | TypeScript -> JavaScript |
| ビルド | 成果物を作る一連の作業 | 変換、圧縮、テストなど |
TypeScriptで見る例
TypeScriptは、JavaScriptに型の仕組みを足したように使われる言語です。多くの環境では、TypeScriptをそのままブラウザで実行するのではなく、JavaScriptへ変換してから動かします。
// TypeScript
const age: number = 20;
console.log(age);
// 変換後のJavaScriptのイメージ
const age = 20;
console.log(age);
この例では、TypeScript側にある: numberのような型注釈は、実行用のJavaScriptには残らないことがあります。開発時に型を確認し、実行時はJavaScriptとして動かす、という流れです。
Babelもトランスパイルで出てくる
Babelは、新しいJavaScriptの書き方を、古い環境でも動きやすいJavaScriptへ変換する場面で使われることがあります。これも、JavaScriptからJavaScriptへの変換ですが、別の書き方へ変換するという意味でトランスパイルとして説明されます。
ただし、初心者が最初に覚えるべきなのはツール名の暗記ではありません。大事なのは、手元で書いたコードと、実際に実行されるコードが同じとは限らないという点です。
なぜトランスパイルするのか
Web開発では、トランスパイルはビルドの一部として実行されることが多いです。ビルド全体の意味はビルドとは?の記事で整理できます。
初心者がつまずきやすいポイント
| つまずき | 整理 |
|---|---|
| TypeScriptがそのまま動くと思う | 多くの場合JavaScriptへ変換して動く |
| コンパイルと完全に別物だと思う | 広い意味では変換工程の一種 |
| 型チェックと実行を混ぜる | 型は主に開発時の確認に効く |
| 変換後のコードを見ない | デバッグ時は変換後も意識する |
まとめ
トランスパイルを理解すると、手元のコードと実際に動くコードの間に変換工程があることを意識できるようになります。
トランスパイルが現場で必要になる場面
トランスパイルは、便利な書き方と実行環境の差を埋めるために使われます。開発者はTypeScriptや新しいJavaScript構文で書き、実際にはブラウザやNode.jsが読めるJavaScriptへ変換して動かす、という流れです。
このとき、手元で書いたコードとブラウザで実行されるコードが完全に同じとは限りません。型注釈が消えたり、新しい構文が古い構文へ変換されたり、複数ファイルがまとめられたりします。
そのため、エラーが出たときには、開発中のソースコードだけでなく、変換後のコード、ソースマップ、ビルド設定を見る必要が出ることがあります。初心者の段階では、まず「書いたコード」と「実際に動くコード」の間に変換があると意識することが大切です。
| 場面 | 変換前 | 変換後 | 目的 |
|---|---|---|---|
| TypeScript | 型付きのTS | JavaScript | 型チェックと実行環境対応 |
| 新しいJS構文 | 最新の書き方 | 古い環境でも動くJS | 対応ブラウザを広げる |
| JSX | HTML風の記法 | JavaScript | UIコードを実行可能にする |
| 複数ファイル | 分割されたソース | まとめられた成果物 | 配信しやすくする |
コンパイルという言葉との付き合い方
TypeScriptのコマンド名にはtscというコンパイラが出てきます。そのため、TypeScriptをJavaScriptに変換する処理をコンパイルと呼ぶこともあります。
一方で、説明上はトランスパイルと呼んだ方が、機械語やバイトコードへの変換と区別しやすい場面があります。実務では厳密な言葉の境界よりも、何から何へ変換しているのかを把握することが重要です。
会話で混乱したら、「変換前は何か」「変換後は何か」「実行するのは誰か」を確認すると整理できます。TypeScriptなら変換前はTypeScript、変換後はJavaScript、実行するのはブラウザやNode.jsです。
デバッグで困らないためのポイント
トランスパイルを使う環境では、エラー行が変換前のソースと変換後のコードでずれることがあります。そこでソースマップという仕組みが使われ、ブラウザの開発者ツールなどで元のファイルに近い形で確認できるようにします。
また、型チェックで止まっているのか、変換後のJavaScript実行時に落ちているのかも分けて見る必要があります。型エラーは開発時に直す問題、実行時エラーは実際の入力や環境で起きている問題として切り分けます。
変換後コードを意識するメリット
トランスパイルを使うと、開発者が書くコードと実際に配信されるコードの間に差が生まれます。この差を意識していないと、ブラウザでエラーが出たときに、どの元ファイルを見ればよいのか分からなくなることがあります。
ソースマップが有効なら、開発者ツール上で元のTypeScriptや元のファイルに近い形で確認できます。一方、本番環境ではソースマップを出さない設定にしている場合もあり、エラー監視やビルド設定の理解が必要になることがあります。
また、トランスパイルは型チェックだけではありません。対象ブラウザに合わせた構文変換、複数ファイルのまとめ上げ、不要コードの削除、圧縮などと同じビルド工程に含まれることがあります。どこまでをトランスパイルと呼び、どこからをバンドルや最適化と呼ぶかはツールによって変わります。
初心者はまず、変換前、変換後、実行環境の3点をセットで見る習慣を持つとよいです。これだけで、TypeScript、Babel、ビルド、実行時エラーの話がかなり整理しやすくなります。
この用語を覚えるときの軸
最後に、この用語は単独で暗記するより、コンパイル、ビルド、実行、エラー調査の流れの中で見ると定着しやすくなります。トランスパイルは、あるプログラミング言語のコードを別のプログラミング言語のコードへ変換することとして理解する。
初心者の段階では、細かい内部仕様をすべて覚える必要はありません。まずは、いつ起きる話なのか、何を入力として何を出力するのか、失敗したときにどのログやファイルを見るのかを押さえることが大切です。
この視点を持っておくと、記事を読み終えた後に別の環境や別の言語で似た言葉が出てきても、完全に新しい概念としてではなく、既に知っている開発工程の一部として整理できます。

用語を説明できるようにするだけでなく、実際にログを見たときに「今どの段階の問題なのか」を判断できる状態を目標にすると、学習内容が実務の調査に結びつきます。
