入力
出力
16進数エンコードについて
16進数 (hex) エンコードは、各文字を0-9とA-Fを使った2桁の基数16の値として表します。プログラミング、Web開発のカラーコード、暗号、データ表現でよく使われ、バイナリより読みやすく、バイト値との対応も明確です。
16進数テキスト変換の完全ガイド
無料オンライン テキスト→Hex変換 & Hex→テキスト変換
テキストを16進数 (hex) に変換、またはhexをプレーンテキストへすぐにデコードできます。開発者、プログラマー、Webデザイナー、hexカラーコードやバイナリデータ、低レベルプログラミングを扱う方に最適です。無料、高速、完全プライベートで、データはブラウザ外へ送信されません。
主な機能
🔐 テキストからHexへエンコード
- 任意のテキストを16進数へ変換
- 入力しながらリアルタイム変換
- ASCII文字に対応
- Unicode文字に対応
- コンパクトな2桁hexペア
🔓 Hexからテキストへデコード
- hexを読みやすいテキストへ変換
- 自動バリデーション
- エラー検出とメッセージ表示
- 入力内のスペースを処理
- 大文字/小文字を区別しないデコード
⚡ リアルタイム処理
- 入力に合わせて即時変換
- パフォーマンスのため300msデバウンス
- ボタンクリック不要
- ライブフィードバック
- 文字数を追跡
📊 統計
- 入力文字数
- 出力文字数
- サイズ比率のパーセンテージ
- リアルタイム更新
- 変換効率の指標
💾 エクスポート
- .txtファイルでダウンロード
- .htmlファイルでエクスポート
- .json形式で保存
- ワンクリックでクリップボードへコピー
- 複数形式に対応
🔄 便利な機能
- 入力と出力をすぐに入れ替え
- サンプルテキスト
- すべてクリア
- モード切り替え
- ダークモード対応
このHexコンバーターを使う理由
100%無料・無制限: 登録、サブスクリプション、制限なしで、テキストとhexを何度でも変換できます。
完全なプライバシー: 変換はすべてJavaScriptでブラウザ内だけで実行されます。データはサーバーへアップロードされず、保存もされません。
即時処理: 入力や貼り付けに合わせて、自動でリアルタイムにエンコード/デコードします。
開発者向け: 入れ替え、サンプルデータ、複数エクスポート形式、ライブ統計など、開発作業に便利な機能を備えています。
エラー検出: デコード時に無効なhex文字列を自動検証し、原因が分かるエラーメッセージを表示します。
モバイル対応: デスクトップ、タブレット、スマートフォンで使いやすく動作します。
テキストをHexへ変換する方法
- テキスト→Hexモードを選択: 「テキスト→Hex」ボタンをクリックしてエンコードモードに切り替えます。
- テキストを入力: 入力欄にプレーンテキストを貼り付けるか入力します。
- 自動エンコード: ツールがリアルタイムでテキストを16進数へ変換します。
- 出力を確認: 出力パネルでhex結果と文字数を確認できます。
- コピーまたはダウンロード: 「コピー」または「ダウンロード」でTXT、HTML、JSONとして保存できます。
Hexをテキストへ変換する方法
- Hex→テキストモードを選択: 「Hex→テキスト」ボタンをクリックしてデコードモードに切り替えます。
- Hex文字列を貼り付け: 入力欄に16進数文字列を貼り付けます。スペースは自動的に除去されます。
- 自動デコード: ツールがhex文字列を検証し、読みやすいテキストへ変換します。
- エラー確認: hexが無効な場合は、問題の内容を示すエラーメッセージが表示されます。
- 結果を利用: デコードされたテキストをコピーするか、好みの形式でダウンロードできます。
16進数エンコードとは?
16進数 (hex) は16個の記号を使う基数16の数値体系です。0-9は0から9、A-F (またはa-f) は10から15を表します。テキストをhexへエンコードすると、各文字は対応するASCIIまたはUnicode値に変換され、16進数で表現されます。
16進数の桁:
10進数 0-9: hexでは0-9で表します
10進数 10: A (またはa) で表します
10進数 11: B (またはb) で表します
10進数 12: C (またはc) で表します
10進数 13: D (またはd) で表します
10進数 14: E (またはe) で表します
10進数 15: F (またはf) で表します
Example: 文字「A」のASCII値は65で、16進数では41です。
Example: 「Hello」はhexで「48656c6c6f」になります。
16進数のよくある用途
Web開発 - カラーコード: Hexカラーコード (#FF5733) はCSS、HTML、デザインツールで色を定義します。各ペアが赤、緑、青の値を表します。
プログラミング - メモリアドレス: C、C++、アセンブリ言語のメモリアドレスは、バイナリより読みやすい16進数で表示されることが一般的です。
データ表現: バイナリファイル、チェックサム、ハッシュ値 (MD5, SHA)、暗号鍵は16進数で表示されることがよくあります。
デバッグ: Hexダンプは、バイナリデータ、メモリ内容、ネットワークパケットを人が読める形で調べるのに役立ちます。
文字エンコード: URLエンコード (スペースは%20)、文字列のエスケープシーケンス (\x41は「A」)、Unicodeコードポイント (U+0041) などで使われます。
MACアドレス: ネットワーク機器のアドレスはhex形式で書かれます (例: 00:1A:2B:3C:4D:5E)。
ファイルシグネチャ: ファイル形式を識別するマジックナンバーはhexで表されます (例: PNGファイルは89 50 4E 47で始まります)。
こんな方に最適
- 色を扱うWeb開発者
- コードをデバッグするソフトウェアエンジニア
- システム管理者
- サイバーセキュリティ担当者
- ネットワークエンジニア
- データアナリスト
- ゲーム開発者
- 組み込みシステムプログラマー
- プログラミング学習者
- QAテスター
- リバースエンジニア
- デジタルフォレンジック担当者
16進数と他の数値体系の違い
Hex vs バイナリ: Hexはバイナリよりコンパクトで読みやすい形式です。1桁のhexは4ビットを表すため、8ビット (1バイト) は2桁のhexになります。バイナリ11111111 = Hex FFです。
Hex vs 10進数: 10進数は日常で使う形式ですが、hexはバイト境界やバイナリ表現と相性がよいためコンピューティングでよく使われます。
Hex vs 8進数: 8進数は以前よく使われましたが、16は2の累乗で現代のバイト単位の計算に合うため、hexが標準的になりました。
Hex vs Base64: Base64はバイナリデータを送信用テキストとして表す形式です。Hexはシンプルですが効率は低く、Base64の約33%増に対してhexは約100%増になります。
サイズ増加の理解
サイズの増加: Hexエンコードではデータサイズが2倍になります。各バイト (8ビット) が2文字のhexになるため、1バイトは2文字になります。
なぜ増えるのか: 1バイトには256通りの値 (0-255) があり、それを表すには2桁のhexが必要です。1桁のhex (0-F) では16通りしか表せません。
例: 「Hi」(2バイト) は「4869」(4文字) になり、元のサイズのちょうど200%になります。
16進数変換のプロ向けヒント
- セキュリティ用途ではない: Hexエンコードは暗号化ではありません。誰でもテキストへ戻せます。機密データには適切な暗号化を使ってください。
- 大文字/小文字は区別しない: Hex値は大文字小文字を区別しません。「4A」と「4a」は同じで、どちらも10進数74を表します。
- 偶数長が必要: 有効なhex文字列は偶数個の文字で構成されます (各バイト = 2桁)。奇数長はエラーや欠落を示します。
- スペースは使用可能: デコード時はhexペア間のスペースを自動的に無視するため、「48 65 6C 6C 6F」も処理できます。
- カラーコード: Webカラーコードは#RRGGBB形式のhex値です。RR=赤、GG=緑、BB=青です (例: #FF0000 = 純赤)。
- 先頭ゼロ: 10進数で16未満の値は、バイト表現のために「0A」のような先頭ゼロが必要です。
- デバッグに便利: Hexダンプは、バイナリプロトコル、ファイル形式、低レベルのデータ構造を調べる際に非常に役立ちます。
- エスケープシーケンス: プログラミングではhexエスケープに\xプレフィックスを使います。例: "\x48\x65\x6C\x6C\x6F" = "Hello"。
- Unicode文字: ASCIIを超えるUnicode文字は、UTF-8では3-4バイト (6-8桁のhex) になることがあります。
16進数の主な利用例
CSS & HTMLカラー: Hexカラー表記 (#RRGGBB) はWebカラーの標準です。同じ桁が繰り返される色では短縮形 (#RGB) も使えます。例: #FF0000 → #F00。
メモリダンプ: デバッガーやメモリビューアは、生のバイトやデータ構造を調べやすくするためにメモリ内容をhex形式で表示します。
ハッシュ値: MD5、SHA-1、SHA-256のハッシュは、読みやすさのためhex文字列として表示されます (例: "5d41402abc4b2a76b9719d911017c592")。
IPv6アドレス: IPv6アドレスは16進表記を使います (例: 2001:0db8:85a3:0000:0000:8a2e:0370:7334)。
アセンブリ言語: アセンブリプログラミングでは、機械語命令やメモリアドレスが16進数で書かれます。
URLエンコード: URL内の特殊文字は%XX形式でエンコードされます。XXはASCII値のhexです (例: スペース = %20)。
ベストプラクティス
- 入力を検証: デコード前にhex文字列を必ず検証し、エラーやセキュリティ問題を防ぎます。
- ケースを統一: hexは大文字小文字を区別しませんが、コードベース内では通常小文字などに統一すると読みやすくなります。
- エンコード方式を明記: hex変換時は、テキストがUTF-8、ASCII、その他のどのエンコードかを明確にしてください。
- エラーを適切に処理: 無効なhex文字列でアプリがクラッシュしないよう、適切なエラーハンドリングを実装します。
- 適切なツールを使う: 大きなhexダンプには、専用のhexエディタやxxd、hexdumpなどのコマンドラインツールが向いています。
- 代替手段を検討: データ送信では、Base64の方がhexより効率的です (約33%増 vs 100%増)。
- エッジケースをテスト: 特殊文字、Unicode、絵文字、非常に長い入力でテストし、堅牢性を確認してください。
よくあるエラーの解決
「無効な文字」エラー: 入力にhex文字 (0-9, A-F, a-f) 以外が含まれています。無効な文字を削除または置換してください。
「無効な長さ」エラー: Hex文字列は偶数個の文字である必要があります。欠落した桁や途中で切れた文字列がないか確認してください。
文字化けする: デコード結果が正しく見えない場合、元のデータがASCIIまたはUTF-8でエンコードされていたか確認してください。文字エンコードの違いが原因になることがあります。
予期しない文字: 制御文字 (0x00-0x1F) は正しく表示されない場合があります。実際のバイト値はhexエディタで確認してください。
クイックリファレンス: よく使うASCII文字のHex
🔒 100%プライバシー保証
すべての16進数エンコード/デコードは、JavaScriptを使ってブラウザ内だけで実行されます。データはサーバーへアップロード、保存、ログ記録、第三者送信されません。すべてがお使いの端末上で完結するため、機密情報も安全に扱えます。
16進数についてさらに学ぶ
16進数を基礎から理解したいですか?Hex表記、hex/decimal/binaryの変換、hexカラー、メモリアドレス、実用例をまとめた開発者向けガイドをご覧ください。
読む: 16進数とは?