Skip to content

進数変換ツール — 2進数・16進数・10進数・8進数

無料オンライン進数変換ツール。2進数、8進数、10進数、16進数および任意の基数(2-36)間で数値を瞬時に変換。BigInt対応で桁数制限なし。登録不要・サーバー送信なし、すべての処理がブラウザ内で完結。コピーボタンやコードリテラル出力で開発作業を効率化。

トラッキングなし ブラウザで動作 無料
2進数(基数2)
-
8進数(基数8)
-
10進数(基数10)
-
16進数(基数16)
-
カスタム基数
-
コードリテラル
-
グループ化2進数
-
数学的精度とBigInt精度を確認済み — Go Toolsエンジニアリングチーム · Mar 22, 2026

進数変換ツールとは?

進数変換ツールは、異なる位取り記数法間で値を変換するツールです。各記数法は基数(ラディックス)によって定義されます。Knuthの『The Art of Computer Programming』Vol. 2「Seminumerical Algorithms」で解説されているように、基数は使用される固有の数字の個数を表します。すべての記数法は位取り方式であり、桁の値はその数値内の位置に依存します。基数は各位置の乗数を決定します。10進数では位置が10の累乗を表し、16進数では16の累乗を表します。進数変換ツールは、ある基数から別の基数への値の変換計算を自動化します。

コンピューティングで最もよく使われる4つの基数は、2進数(基数2)、8進数(基数8)、10進数(基数10)、16進数(基数16)です。2進数はプロセッサのネイティブ言語であり、データを0と1の列で表現します。8進数は3ビットグループに対応し、Unixファイルパーミッションで使用されます。10進数は人間にとって読みやすいデフォルトの形式です。16進数は4ビットを1文字に圧縮し、メモリアドレス、CSSカラーコード、バイトレベルのデータ検査の標準となっています。特殊なコンテキストでは他の基数も使われます。例えば、64進数はデータエンコーディングで使用されます(この用途についてはBase64エンコーダーをご覧ください)。

16進数は現代のコンピューティングにおける主要な表現形式です。メモリデバッガはアドレスを16進数で表示し(例:0x7FFF5FBFF8C0)、CSSやグラフィックデザインツールはカラーを16進数トリプレットで表現し(例:#FF5733)、ネットワークのMACアドレスは6つの16進数で区切られたオクテットで記述され、バイナリファイル形式にはファイルタイプを識別するマジックナンバーと呼ばれる16進数シグネチャが埋め込まれています。その理由は明確です:各16進数桁が正確に4ビット(ニブル)に対応するため、1バイトは常に2桁の16進数で表現でき、コンパクトで曖昧さがなく、読みやすいのです。

このツールは2〜36の任意の整数基数をサポートし、10を超える基数には数字0-9と文字A-Zを使用します。JavaScriptの BigInt を搭載しており、桁数に上限のない任意精度の演算が可能です。浮動小数点表現については、IEEE 754規格が2進数と16進数の形式から、事実上すべての現代プロセッサで使用される内部表現へのマッピングを定義しています。すべての処理は完全にブラウザ内で実行され、データがサーバーに送信されることはありません。暗号鍵や機密識別子などのセンシティブな値も安心してご利用いただけます。

進数変換は暗号ツールの出力を理解するうえでも基本的です。例えば、[MD5やSHAハッシュ生成ツール](/tools/md5-hash-generator)は16進数の出力を生成し、[UUID識別子](/tools/uuid-generator)は32桁の16進数を8-4-4-4-12のパターンでフォーマットしたものです。

// Convert decimal 255 to other bases
console.log((255).toString(2));  // → '11111111'  (binary)
console.log((255).toString(8));  // → '377'       (octal)
console.log((255).toString(16)); // → 'ff'        (hexadecimal)

// Parse binary/hex strings back to decimal
console.log(parseInt('11111111', 2)); // → 255
console.log(parseInt('ff', 16));      // → 255

// JavaScript code literals (same value, different syntax)
const bin = 0b11111111; // 255  (binary literal)
const oct = 0o377;      // 255  (octal literal)
const hex = 0xff;       // 255  (hex literal)

この進数変換ツールの主な機能

リアルタイム複数基数同時変換

2進数、8進数、10進数、16進数の結果を同時に表示。入力と同時にすべてのフィールドが即座に更新されます。

カスタム基数対応(2-36)

数字0-9と文字A-Zを使用して、2〜36の任意の基数間で変換できます。

BigIntによる任意精度演算

入力数値のサイズ制限なし。数百桁の値でも精度を失わずに変換できます。

コードリテラル出力

JavaScript、Python、Go、Rust、Cで即座に使えるプログラミング言語リテラル(0b、0o、0x)として値をコピーできます。

グループ化2進数表示

2進数出力はニブルグルーピング(4ビットグループ)で表示され、視覚的に確認しやすくなっています。

100%ブラウザ処理

すべての処理はブラウザ内でローカルに実行されます。サーバーへの送信、トラッキング、Cookieは一切なく、データが端末の外に出ることはありません。

進数変換の例

2進数から10進数 — ASCII文字コード

1000001
65

2進数 1000001 は10進数 65 に等しく、大文字 'A' のASCIIコードです。このマッピングを理解することは、コンピュータにおけるテキストエンコーディングの基本です。

10進数から2進数 — サブネットマスク

255
11111111

10進数 255 は2進数 11111111 に変換されます。すべてのビットが1のオクテットです。これは 255.255.255.0 のようなサブネットマスクの構成要素であり、クラスフルネットワーキングでは各オクテットがすべて1かすべて0になります。

10進数から16進数 — RGBカラーチャネル

255
FF

10進数 255 は16進数で FF であり、単一のRGBカラーチャネルの最大値を表します。CSSカラー #FF5733 はチャネルごとに2桁の16進数を使用します:FF(赤)、57(緑)、33(青)。

16進数カラーから2進数

FF5733
1111 1111 0101 0111 0011 0011

CSSの16進数カラーコードを2進数表現に変換し、個々のビットパターンを確認します

16進数から10進数 — メモリアドレス

1A3F
6719

16進数アドレス 0x1A3F は10進数 6719 に等しくなります。デバッガやメモリインスペクタは2進数への変換が容易なため16進数でアドレスを表示しますが、ポインタ演算やオフセット計算では10進数値が必要になることがあります。

Unixパーミッションから10進数

755
493

8進数のUnixファイルパーミッション(rwxr-xr-x)を10進数に変換します

2進数IPオクテットから10進数

11000000
192

2進数のIPアドレスオクテットを10進数に変換します — 192.168.x.x の最初のオクテットです

大きな数値の36進数表現

1000000
LFLS

大きな10進数をコンパクトな36進数文字列にエンコードします。短縮URLサービスなどでよく使用されます

よく使われる進数変換

最も頻繁に使用される進数変換のクイックリファレンス。

2進数から16進数への変換方法

2進数(基数2) 16進数(基数16)

2進数の桁を右から4桁ずつグループ化し、各グループを16進数に対応させます。例えば、1010 1111 は AF になります。16進数を2進数に戻すには、各16進数桁を4ビットの2進数に展開します。

10101111 AF

各16進数桁は正確に4ビットに対応します。0-Fの対応表を覚えれば、変換は瞬時にできるようになります。

上のツールで試してみてください — 数値を入力すると即座に結果が表示されます。

2進数から10進数への変換方法

2進数(基数2) 10進数(基数10)

各2進数桁にその位置の2の累乗(右端から0で開始)を掛けて、すべてを合計します。例えば、1011 = 1×8 + 0×4 + 1×2 + 1×1 = 11。10進数を2進数に変換するには、2で繰り返し割って余りを下から読みます。

1011 11

2の累乗を覚えておくと便利です:1、2、4、8、16、32、64、128、256、512、1024。

上のツールで試してみてください — 数値を入力すると即座に結果が表示されます。

16進数から10進数への変換方法

16進数(基数16) 10進数(基数10)

各16進数桁にその位置の16の累乗を掛けて合計します。例えば、FF = 15×16¹ + 15×16⁰ = 240 + 15 = 255。10進数を16進数に変換するには、16で繰り返し割って余りを16進数桁に対応させます。

FF 255

16進数では A=10、B=11、C=12、D=13、E=14、F=15 であることを覚えておきましょう。

上のツールで試してみてください — 数値を入力すると即座に結果が表示されます。

10進数から8進数への変換方法

10進数(基数10) 8進数(基数8)

10進数を8で繰り返し割り、余りを収集します。余りを下から上へ読むと8進数の結果になります。例えば、255 ÷ 8 = 31 余り7、31 ÷ 8 = 3 余り7、3 ÷ 8 = 0 余り3 で、377 となります。8進数を10進数に変換するには、各桁に 8^位置 を掛けて合計します。

255 377

8進数はUnixファイルパーミッションでよく使われます:7=rwx、5=r-x、4=r--。

上のツールで試してみてください — 数値を入力すると即座に結果が表示されます。

8進数から16進数への変換方法

8進数(基数8) 16進数(基数16)

最も簡単な方法は、まず8進数を2進数に変換し(各8進数桁 = 3ビット)、次に4ビットのニブルに再グループ化して16進数にすることです。例えば、8進数 755 → 2進数 111 101 101 → 再グループ化 0001 1110 1101 → 16進数 1ED。逆方向は、16進数を2進数にしてから3ビットの8進数グループに再グループ化します。

755 1ED

2進数を中間ステップとして経由するのが、8進数と16進数間の変換では最も速い方法です。

上のツールで試してみてください — 数値を入力すると即座に結果が表示されます。

8進数から2進数への変換方法

8進数(基数8) 2進数(基数2)

各8進数桁を3ビットの2進数に置き換えます。例えば、8進数 17 → 001 111 → 2進数 1111(先頭のゼロを除去)。2進数を8進数に変換するには、ビットを右から3つずつグループ化し、各グループを8進数桁に対応させます。

17 1111

8 = 2³ であるため、各8進数桁は正確に3ビットに対応します。この変換は単純な対照表の参照で完了します。

上のツールで試してみてください — 数値を入力すると即座に結果が表示されます。

進数変換ツールの使い方

  1. 1

    変換元の基数を選択

    ドロップダウンメニューから入力数値の基数を選択します:2進数(2)、8進数(8)、10進数(10)、16進数(16)、または2〜36の任意のカスタム基数。

  2. 2

    数値を入力

    入力欄に変換したい数値を入力または貼り付けてください。ツールは選択された基数に対してリアルタイムで入力を検証します。

  3. 3

    変換結果を確認

    入力欄の下に2進数、8進数、10進数、16進数の変換値が即座に表示されます。入力と同時にすべての変換結果が更新されます。

  4. 4

    コピーまたはコードリテラルを使用

    各出力の横にあるコピーボタンをクリックして値をコピーできます。コードリテラルセクションでは 0xFF、0b1010、0o17 などのプログラミング言語対応の形式を取得できます。

進数変換の活用シーン

メモリアドレスのデバッグ
16進数のメモリアドレスを2進数や10進数に変換し、ポインタ演算やメモリレイアウトのデバッグに活用します。
CSSカラーコードの変換
#FF5733 などの16進数カラーコードを10進数のRGB値や2進数のビットパターンに変換します。
Unixファイルパーミッション
8進数のパーミッションコード(755、644)と10進数・2進数表現を相互変換します。
ネットワークサブネットマスク
サブネットマスクを2進数、10進数、16進数間で変換し、ネットワーク設定やCIDR計算に活用します。
短縮URLエンコーディング
大きな数値IDをコンパクトな36進数文字列にエンコードし、より短く共有しやすいURLを生成します。
教育・学習用途
コンピュータサイエンスや離散数学の授業における手動進数変換の計算結果を検証します。

技術仕様

BigInt精度
JavaScriptの BigInt を使用した任意精度の整数演算により、Number型の53ビット制限を解消しています。
基数範囲
2〜36の任意の基数間の変換をサポートし、拡張基数には数字0-9と文字A-Zを使用します。
ブラウザ内処理
すべての変換はクライアントサイドのJavaScriptで実行され、ネットワーク通信はゼロです。データがブラウザの外に出ることはありません。

進数変換のベストプラクティス

既知の値で検証する
進数変換を学ぶ際は、小さな既知の値(255 = FF = 11111111 など)から始めて直感を養いましょう。
バイトデータには16進数を使用
バイトレベルのデータを扱う際は、可読性のために2進数よりも16進数を使いましょう。各バイトは常に2桁の16進数で表現されます。
桁の妥当性を確認する
入力する数字が選択した基数に対して有効であることを確認してください。例えば、8進数では数字 0-7 のみが使用可能です。

進数変換に関するよくある質問

基数(進数)とは何か、プログラミングでなぜ重要なのか?
基数(ラディックス)は、位取り記数法で使用される固有の数字の個数を定義するものです。10進数(基数10)は数字 0-9 を使用し、2進数(基数2)は 0 と 1 を使用し、16進数(基数16)は 0-9 と A-F を使用します。プログラミングでは、2進数は生のマシンデータを表現し、8進数はUnixファイルパーミッション(例:chmod 755)で使用され、16進数はメモリアドレス、カラーコード(#FF5733)、バイトレベルのデータ検査の標準です。基数の理解は、デバッグ、ネットワーキング、低レベルプログラミングに不可欠です。
進数変換を手動で行う方法は?
任意の基数から10進数に変換するには、各桁にその位置の冪乗を掛けて合計します(右から左へ、0から開始)。例えば、2進数 1011 = 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8+0+2+1 = 11 です。10進数から他の基数に変換するには、目標の基数で繰り返し割り算し、余りを逆順に並べます。例えば、10進数 255 を16進数に変換する場合:255÷16 = 15 余り 15 で、FF となります。
この進数変換ツールを使用する際、データは安全ですか?
はい、完全に安全です。すべての変換はブラウザ内でJavaScriptを使用してローカルに実行されます。データがサーバーに送信されることは一切ありません。ネットワークリクエスト、Cookie、入力データの追跡、いかなるデータ保存も行いません。数値が端末の外に出ることはありません。メモリアドレスや機密性の高いバイトシーケンスの変換にも安心してご利用いただけます。
36進数とは何か、どこで使われるのか?
36進数は最大の英数字基数であり、数字 0-9 と文字 A-Z を使用します(A=10 から Z=35)。短縮URL(例:YouTubeの動画ID)、コンパクトな一意識別子、データベースの主キー、大きな数値を短い人間可読文字列にエンコードする用途で広く使われています。例えば、10進数 1,000,000 は36進数で LFLS となり、はるかに短く共有しやすくなります。36進数は大文字・小文字を区別しないためURLやショートコードに最適で、Web開発におけるスラッグ対応の識別子生成で特に人気があります。
符号付き数値と符号なし数値の違いは?
符号なし数値は非負の値(0と正の数)のみを表現します。符号付き数値は正と負の両方の値を表現でき、コンピュータでは通常2の補数エンコーディングを使用します。2の補数では、最上位ビットが符号を示します:0が正、1が負です。例えば、8ビット符号なしの場合、範囲は 0〜255 です。8ビット符号付き(2の補数)の場合、範囲は -128〜127 となります。
プログラマが2進数ではなく16進数を使うのはなぜ?
16進数は2進数データのコンパクトな表現です。16進数の各桁は正確に4ビット(ニブル)に対応します。これにより、長い2進数文字列よりもはるかに読み書きが容易になります。例えば、2進数値 11111111 00001010 は16進数では単に FF0A です。16進数はメモリアドレス、CSSカラーコード(#FF5733)、MACアドレス(00:1A:2B:3C:4D:5E)、UUIDのフォーマットにおける標準です。
このツールは非常に大きな数値を扱えますか?
はい。このツールはJavaScriptの BigInt を使用した任意精度の整数演算を行うため、桁数に上限はありません。数百桁、さらには数千桁の数値でも、2〜36の任意の基数間で精度を失うことなく変換できます。JavaScriptのネイティブ Number 型は53ビット整数(最大 9,007,199,254,740,991)に制限されていますが、BigInt はこの制限を完全に取り除きます。暗号ハッシュ、大規模なデータベースID、科学計算など、あらゆる用途に正確に対応します。
2進数を16進数に手動で変換するには?
最も簡単な方法は4ビットグルーピング法です。最右ビットから始めて、2進数を4桁ずつのグループ(ニブル)に分割します。最左グループが4桁未満の場合は先頭にゼロを補います。次に各グループを16進数に変換します:0000=0、0001=1、0010=2、0011=3、0100=4、0101=5、0110=6、0111=7、1000=8、1001=9、1010=A、1011=B、1100=C、1101=D、1110=E、1111=F。例えば、2進数 10101111 は 1010 と 1111 に分割でき、それぞれ A と F に対応するため、16進数 AF となります。16 は 2 の累乗(16 = 2⁴)であるため、各16進数桁が正確に4ビットを表します。
負の数を基数間で変換するには?
コンピュータにおける負の数は通常、2の補数で表現されます。このシステムでは、最上位ビット(MSB)が符号ビットとして機能します:0が正、1が負です。2の補数を求めるには、すべてのビットを反転(0を1に、1を0に)し、1を加えます。例えば、8ビットで -5 を表現するには:5(00000101)から始め、反転して 11111010 を得て、1を加えて 11111011 となります。つまり、8ビット2の補数における -5 は2進数で 11111011、16進数で FB です。nビット2の補数の範囲は -2^(n-1) から 2^(n-1)-1 です。このツールは数値の絶対値を変換します。符号付き表現には2の補数を手動で適用する必要があります。
16進数と10進数の違いは?
10進数(基数10)は10種類の数字(0-9)を使用する、人間が最も慣れ親しんだ日常の記数法です。16進数(基数16)は16種類の記号(0-9 と A-F)を使用する、コンピューティングで推奨される形式です。主な違いは桁の重みです。10進数では各桁が10の累乗(1、10、100、1000…)を表し、16進数では各桁が16の累乗(1、16、256、4096…)を表します。例えば、10進数 255 は16進数で FF です。15×16 + 15×1 = 255 だからです。16進数は2進数へのマッピングが正確で、各16進数桁が正確に4ビットを表すため、メモリアドレス、カラーコード、バイトレベルのデータに最適です。
コンピュータが10進数ではなく2進数を使うのはなぜ?
コンピュータが2進数(基数2)を使用するのは、基本的な構成要素であるトランジスタがオン(1)とオフ(0)の2つの状態を持つ電子スイッチとして動作するためです。これは2進数の桁に完全に対応します。10進数を表現するには、10種類の異なる電圧レベルを確実に区別できる回路が必要となり、2つの状態を区別するよりもはるかに複雑でエラーが発生しやすくなります。2進数はブール論理(真/偽)とも自然に一致し、これがすべてのコンピュータ演算の基盤となっています。初期のコンピュータでは3進法や10進法も試みられましたが、2進数が電子回路におけるシンプルさ、信頼性、ノイズ耐性の最良の組み合わせを提供するため、主流となりました。
Unixのファイルパーミッションが8進数で表されるのはなぜ?
Unixのファイルパーミッションは、所有者、グループ、その他の3つのカテゴリを使用し、それぞれ読み取り(r=4)、書き込み(w=2)、実行(x=1)の3つのパーミッションビットを持ちます。3ビットで 0-7 の値を表現できるため、各カテゴリが1桁の8進数に完全に対応します。例えば、パーミッション 755 は、所有者が rwx(7 = 4+2+1)、グループが r-x(5 = 4+0+1)、その他が r-x(5 = 4+0+1)を意味します。8進数は各桁が正確に1つのパーミッショングループをエンコードするため、最適な選択です。2進数では 755 は 111 101 101 であり、rwxビットパターンを直接示します。この3ビットから1桁への対応が、chmodが8進数表記を使用する理由です。
16進数カラーはWeb開発でどのように使われますか?
Web開発では、カラーは一般的に #RRGGBB の16進数形式で指定されます。各16進数のペアが1つのカラーチャネル(赤、緑、青)を表します。各チャネルの範囲は 00(0、無強度)から FF(255、最大強度)です。例えば、#FF5733 は赤=FF(255)、緑=57(87)、青=33(51)で、鮮やかなオレンジレッドを生成します。#F00 は #FF0000(純赤)に展開される省略表記もあります。モダンCSSでは #RRGGBBAA でアルファ透明度もサポートされ、AA は 00(完全透明)から FF(完全不透明)の範囲です。2桁の16進数が1バイト(0-255)を完全に表現するため、カラー値のコンパクトで読みやすい形式として16進数が使用されています。
ネットワーキングにおける進数変換の実用的な応用は?
進数変換は、IPアドレス、サブネットマスク、MACアドレスの扱いにおいてネットワーキングに不可欠です。IPv4アドレス(192.168.1.1 など)は10進数で記述されますが、サブネット計算には2進数が必要です。例えば、/24 サブネットマスクは2進数で 11111111.11111111.11111111.00000000、10進数では 255.255.255.0 です。ネットワークエンジニアはIPアドレスとサブネットマスクを2進数でAND(ビット演算)してネットワークアドレスを求めます。MACアドレスは16進数表記(例:00:1A:2B:3C:4D:5E)を使用し、各16進数ペアが1バイトを表します。進数変換の理解は、サブネット計算、ルーティングのトラブルシューティング、パケットキャプチャの分析に役立ちます。
このツールとプログラミング言語の組み込み変換関数との違いは?
プログラミング言語には組み込みの変換関数があります — JavaScriptの parseInt() と toString()、Pythonの bin()、oct()、hex()、int() など。しかし、このツールにはいくつかの利点があります。リアルタイム更新ですべての一般的な基数に同時変換でき、コーディングのセットアップが不要で、1つのインターフェースで2〜36の任意の基数をサポートし、一部の言語のデフォルトを超える任意精度のために BigInt を使用します。クイックルックアップ、コード出力の検証、進数変換の視覚的な学習、言語組み込み関数で直接サポートされていない基数の操作に最適です。本番コードには言語のネイティブ関数を使用し、探索やデバッグにはこのツールがより高速で便利です。

画像圧縮ツール — JPEG・PNG・WebP を無料でオンライン圧縮

単位変換

無料オンライン画像圧縮ツール。JPEG、PNG、WebP 画像をブラウザ上で最大 80% 縮小。サーバーへのアップロード不要で完全プライベート。最大 20 枚の一括圧縮、品質調整、圧縮前後の比較機能を搭載。登録不要ですぐに使えます。

長さ単位変換ツール — メートル法・ヤードポンド法・天文単位対応

単位変換

1インチ = 2.54 cm、1フィート = 0.3048 m、1マイル = 1.609 km。メートル法・ヤードポンド法・海里・天文単位を含む16種類の長さ単位を即時変換。無料、ブラウザ完結、データ送信なし。

温度変換 — 摂氏・華氏・ケルビン・ランキン

単位変換

摂氏・華氏・ケルビン・ランキンを瞬時に変換。変換公式、ステップ解説、早見表付きの無料オンラインツール。100%ブラウザ処理でデータはサーバーに送信されません。

体積・液量換算ツール — 15単位対応

単位変換

リットル・mL・ガロン・カップ・大さじ・小さじなど15種類の体積・容量単位をブラウザ上で即座に換算。メートル法・米国慣用・英国式・料理単位に対応。無料、登録不要、100%プライバシー保護。

重さ変換ツール — kg・ポンド・オンス・グラム・ストーンなど全13単位

単位変換

kg⇔ポンド、オンス⇔グラムなどメトリック・ヤードポンド法・トロイ系の全13単位を即時変換。換算表・計算式・身近な目安付き。ブラウザ完結でデータ送信なし。

Base64エンコーダー&デコーダー

エンコーディングとフォーマット

Base64のデコード・エンコードが無料でオンラインで行えます。リアルタイム変換、UTF-8・絵文字対応。100%ブラウザ上で動作しデータは外部に送信されません。登録不要。