16진수 변환기

값 입력
예:
22진수
11111111.01010111111010110100
88진수
377.25765515602517626145
1010진수
255.3434342
1616진수
ff.57eb4dc153f2c65b9983

무료 온라인 진법 변환기. 16진수, 10진수, 2진수, 8진수 및 2-36진수 간 즉시 상호 변환을 지원합니다. 소수를 지원하며 Decimal.js 고정밀 알고리즘을 사용하고, 회원가입 없이 브라우저에서 로컬로 실행됩니다.

관련 추천

16진수 변환기란 무엇인가요?

16진수 변환기는 서로 다른 기수법(진법) 간에 숫자를 변환하는 도구입니다. 가장 일반적인 것은 16진수(base-16), 10진수(base-10), 2진수(base-2), 8진수(base-8) 간의 상호 변환입니다.

16진수는 16개의 기호를 사용합니다: 0-9는 값 0~9를, A-F는 값 10~15를 나타냅니다. 16진수 1자리는 2진수 4자리(니블)에 정확히 대응하므로 컴퓨팅에서 널리 사용됩니다. 16진수 2자리는 1바이트(00~FF = 0~255)를 나타냅니다.

2진수(base-2)는 0과 1만 사용하며 컴퓨터의 기본 언어입니다. 8진수(base-8)는 0-7을 사용합니다. 10진수(base-10)는 인간이 일상적으로 사용하는 표준 숫자 체계입니다.

이 변환기는 2진수부터 36진수까지 모두 지원합니다. 10을 초과하는 진법에서는 a-z 문자를 숫자로 사용하며, 음수와 소수도 지원하고 고정밀 연산을 사용합니다。

사용 사례

  • #FF5733 같은 16진수 색상 코드를 RGB 10진수 값으로 변환(웹 개발)
  • 디버깅 시 메모리 주소와 16진수 덤프를 읽기 쉬운 10진수로 변환
  • 네트워크 패킷의 바이너리 데이터를 16진수나 10진수로 변환하여 프로토콜 분석
  • 컴퓨터 과학 수업에서 진법 변환 학습 및 연습
  • 프로그래밍 로그의 16진수 값을 10진수나 2진수로 변환
  • Unix 파일 권한의 8진수와 10진수 chmod 값 간 빠른 변환

이용 방법

  1. 페이지 상단 입력 상자에 숫자를 입력
  2. 드롭다운에서 입력 숫자의 진법(기수)을 선택(2진수부터 36진수까지)
  3. 2진수, 8진수, 10진수, 16진수 등 모든 진법의 변환 결과를 즉시 확인
  4. 결과 카드를 클릭하면 해당 진법으로 입력이 전환되어 계속 변환 가능
  5. 결과 카드 우상단 복사 아이콘으로 해당 진법 값을 클립보드에 복사
  6. '다른 진법(2-36)'을 펼치면 2부터 36진수까지 모든 결과 확인 가능

주요 기능

  • 2진수부터 36진수까지 지원: 2진수(2), 8진수(8), 10진수(10), 16진수(16) 등
  • Decimal.js 기반 고정밀 계산으로 정수와 소수 모두 정확하게 변환
  • 입력 즉시 실시간 결과 표시, 버튼 클릭 불필요
  • 각 진법 결과마다 원클릭 복사 버튼 제공
  • 음수와 소수 지원, 소수부는 최대 20자리
  • 브라우저에서 완전히 로컬 실행, 데이터 업로드 없음, 회원가입 불필요

진법 인코딩 비교: 어떤 것을 써야 할까?

2진수, 8진수, 10진수, 16진수, Base64는 각각 적합한 용도가 다릅니다. 잘못 고르면 용량이 두 배가 되거나, 오타가 늘거나, URL 호환성 문제가 생깁니다. 먼저 「누구에게 보여줄지, 어디에 둘지, 얼마나 압축할지」를 정한 뒤 구체적인 인코딩을 선택하세요.

2진수 vs 8진수 vs 10진수 vs 16진수: 대표 사용 시나리오

4가지 주요 진법은 각각 쓰임새가 있습니다. 「대표 시나리오 / 압축도 / 사람 가독성 / 주의사항」 기준으로 판단하는 것이 숫자 자체보다 더 확실합니다.

진법대표 시나리오압축도사람 가독성주의사항
2진수 (base-2)저수준 하드웨어, 비트 마스크, 불리언 프로토콜, 프로토콜 필드매우 낮음 (1 bit / 문자)매우 나쁨 (사람이 식별하기 어려움)사용자에게 직접 보여주지 않고, 하위 계층에서 16진수로 대체되는 경우가 많음
8진수 (base-8)Unix 파일 권한 (chmod 755), 역사적 PDP-11 어셈블리낮음 (3 bit / 문자)보통 (짧은 숫자는 읽기 쉽고, 길이는 약간 김)현대 응용에서는 거의 쓰이지 않음; Python 2의 `0o755`는 Python 3에서도 쓸 수 있지만 더 이상 주류가 아님
10진수 (base-10)사용자 입출력, 비즈니스 로직, 설정 파라미터중간 (약 3.32 bit / 문자)최고 (인간의 자연 언어)압축률은 16진수보다 낮음; 바이너리 데이터를 디버깅할 때에는 먼저 변환해야 함
16진수 (base-16)색상 코드, 메모리 주소, 바이트 스트림, MAC/UUID, 바이트코드높음 (4 bit / 문자, 1 바이트 = 2 문자)좋음 (압축 + 바이트 경계 정렬)대소문자 일관성 (A-F vs a-f)과 0x 접두사의 모호성에 주의

16진수 vs Base64 인코딩: 어떤 것을 쓸까?

16진수와 Base64는 모두 바이트의 텍스트 표현이지만, 적합한 용도는 완전히 다릅니다. 「대상 매체 / 압축도 / 사람 가독성 / URL 호환성」 기준으로 판단하면 많은 재작업을 피할 수 있습니다.

차원16진수Base64
문자 집합0-9 + A-F (16개)A-Z + a-z + 0-9 + + / (64개)
바이트당 문자 수2 문자 / 바이트약 1.33 문자 / 바이트
압축도중간 (1 바이트 → 2 문자)높음 (3 바이트 → 4 문자)
URL 안전성✓ 완전하게 URL 안전✗ 표준 Base64는 +와 /를 포함하므로, URL-safe Base64 변형이 필요
사람 가독성좋음 (디버깅, 바이너리 덤프에 친화적)나쁨 (무작위 문자열로 경계 식별이 어려움)
적합한 시나리오색상 코드, 메모리 주소, MAC, UUID, 디버그 로그, 바이너리 파일 미리보기데이터 URI, 이메일 첨부파일 (MIME), API 토큰, JWT, CSS/HTML에 이미지 임베드
부적합한 시나리오URL 파라미터가 너무 길어짐 (base64url 사용), 데이터 URI (용량 2배)디버그 로그 (필드 경계가 보이지 않음), 색상 코드 (CSS에 직접 전달 불가)

Best Practices

16진수 알파벳의 대소문자는 통일해야 한다 (A-F vs a-f)

같은 프로젝트 내에서 16진수 알파벳은 모두 대문자이거나 모두 소문자여야 하며, **절대 섞어 쓰면 안 됩니다**. C/C++/Go/HTML 색상 코드는 대문자 A-F 관행; JSON, URL, UUID (RFC 4122), 이더리움 주소, JavaScript 문자열은 소문자 a-f 관행입니다. 대소문자를 섞어도 값은 같지만, 언어 간 파싱 (예: `int('FF', 16)` vs `int('ff', 16)`)과 사람의 가독성에서 문제가 됩니다——로그의 「FF5733」과 「ff5733」은 눈으로 구분하기 어렵고, 디버깅 중 오독하기 쉽습니다.

16진수란 무엇인가요?

0x 접두사를 명시하거나, 부호 없는 10진수임을 문서화한다

JSON, URL 파라미터, API 필드의 숫자는 기본적으로 10진수입니다. JSON의 문자열 '100'은 10진수 100이지만, '0x100'은 16진수 256입니다. **반드시** 0x 접두사를 명시하거나 (또는 필드명에 `hex` 접미사를 붙여야 합니다), 그렇지 않으면 백엔드가 10진수로 파싱해 잘못된 결과를 얻습니다 (100 vs 256으로 2.56배 차이). 여러 공급사의 API를 일괄 연동할 때에는, 프로토콜 문서에 「모든 hex 필드는 0x 접두사 필수」로 고정할 것을 강력히 권장합니다.

왜 16진수 이상에서는 문자를 사용하나요?

바이트 순서 (Big/Little-endian) 변환 시 반드시 명시적으로 지정한다

네트워크 프로토콜, 파일 포맷, 하드웨어 레지스터는 거의 대부분 바이트 순서를 강제합니다——네트워크 바이트 순서는 빅 엔디안이고, x86/ARM CPU의 기본은 리틀 엔디안입니다. **읽기와 쓰기 시에는 반드시 바이트 순서를 명시적으로 지정**하세요. 그렇지 않으면 같은 16진수 `0x1234`가 바이트 순서에 따라 `0x1234` 또는 `0x3412`로 해석되어 4배 차이가 납니다. Python은 `int.from_bytes(b, 'big')` / `'little'`, Go는 `binary.BigEndian` / `binary.LittleEndian`, C는 `htonl/htons/ntohl/ntohs`를 사용하고, 직관으로 작성하지 마세요.

10진수를 16진수로 어떻게 변환하나요?

MAC 주소, UUID, 해시 값은 소문자로 통일한다

RFC 4122는 UUID를 반드시 소문자로 규정; IEEE 802 MAC 주소 표준은 소문자 관행; 이더리움 주소, git commit hash, TLS 지문, 파일 SHA-256 해시는 거의 모두 소문자가 기본입니다. **16진수 식별자를 일괄 출력할 때 소문자로 통일**하면 Linux/Mac/Windows 간 복사-붙여넣기 차이 (Windows 클립보드는 가끔 대소문자를 변경함)를 피할 수 있습니다. 로그 시스템, CMS, 설정 관리 시스템은 모두 소문자 기준으로 중복 제거와 인덱싱을 하므로, 대소문자가 섞이면 서로 다른 항목으로 취급됩니다.

RFC 4122 - UUID 표준

색상 코드 변환 시 알파 채널 포함 여부를 주의한다

CSS 색상 코드 `#FF5733`은 6자리 RGB; `#FF573380`은 8자리 RGBA (마지막 두 자리 80 = alpha 50%); 짧은 형식 `#F53`은 `#FF5533`과 동일합니다. 본 도구의 변환은 숫자 부분만 처리하므로, **알파 채널은 별도로 처리해야 합니다**. 디자인 색상을 일괄로 코드에 적용할 때에는, 먼저 길이별로 그룹화 (6자리 vs 8자리) 한 뒤 8자리 RGBA를 6자리 RGB로 오인하지 마세요 (alpha가 손실되어 투명색이 불투명색이 됨).

RGB/HEX 색상 변환기

IPv6 주소와 MAC 주소 변환 시 구분자를 잃지 않도록 한다

IPv6 주소는 32자리 16진수 + 7개의 콜론 그룹 (`2001:0db8:85a3:0000:0000:8a2e:0370:7334`), MAC 주소는 12자리 16진수 + 5개의 콜론 또는 하이픈 (`00:1A:2B:3C:4D:5E`)입니다. **본 도구로 원시 16진수 문자열을 변환할 때**:`20010db8...`을 10진수로 변환하면 거대한 숫자가 되고 (IPv6 전체 주소는 약 3.4×10³⁸), 복원할 때에는 4자리/2자리씩 다시 그룹화하고 콜론을 붙여야 합니다. IPv6/MAC를 일괄 처리하는 시나리오에는 전용 도구 (`/other/color-convert/` 옆 네트워크 도구)를 사용하고, 본 도구로 종단간 변환을 직접 수행하지 마세요.

어떤 진법(기수)을 지원하나요?

16진수 문자열을 비밀번호나 민감한 자격 증명으로 사용하지 않는다

「32자리 16진수」는 고강도 비밀번호처럼 보이지만 (`a3f8b9c2d1e0f7a6b5c4d3e2f1a0b9c8`), 실제 엔트로피는 16 바이트 = 128 bit에 불과하며, **16진수 표현이 곧 키/토큰 자체인 경우가 많습니다**——API Key, JWT secret, 대칭 암호화 키, TOTP secret, 암호화폐 지갑 개인 키, HMAC key는 모두 16진수 문자열입니다. 이 값이 한 번 유출되면 그대로 노출된 것이며, **절대로** 티켓, Slack, 이메일, 스크린샷에 붙여서는 안 되고, (로컬 처리를 주장하더라도) 온라인 도구로 변환해서도 안 됩니다. 본 도구는 형식 변환 도구이며, 키 의미를 가진 16진수 문자열을 처리하는 데에는 적합하지 않습니다.

데이터가 안전한가요? 서버로 전송되나요?

자주 묻는 질문

어떤 진법(기수)을 지원하나요?

2진수(base-2)부터 36진수(base-36)까지 모든 정수 진법을 지원합니다. 2진수, 8진수, 10진수, 16진수는 바로가기 카드로 표시됩니다。

16진수를 10진수로 어떻게 변환하나요?

드롭다운에서 16진수(base-16)를 선택하고 16진수 값(예: FF)을 입력하면 10진수 결과가 즉시 표시됩니다. 예: FF = 255。

10진수를 16진수로 어떻게 변환하나요?

10진수(base-10)를 선택하고 10진수(예: 255)를 입력하면 16진수 결과가 즉시 표시됩니다. 예: 255 = FF。

2진수를 16진수로 어떻게 변환하나요?

2진수(base-2)를 선택하고 2진수 문자열(예: 11111111)을 입력하면 16진수 결과가 즉시 표시됩니다. 2진수 4자리가 16진수 1자리에 해당합니다。

소수 변환을 지원하나요?

네. 3.14나 FF.8 같은 소수를 지원합니다. 소수부는 Decimal.js 고정밀 알고리즘으로 최대 20자리까지 계산됩니다。

음수를 지원하나요?

네. 숫자 앞에 마이너스 기호(-)를 붙이면 됩니다。

16진수와 Base64의 차이는 무엇인가요?

16진수는 16개 기호를 사용하며 바이트당 2문자를 생성하고, Base64는 64개 기호를 사용해 더 압축적입니다。

프로그래밍에서 왜 16진수를 사용하나요?

바이너리 데이터를 사람이 읽기 쉽게 표현하기 때문입니다. 16진수 1자리=4비트, 2자리=1바이트로 메모리 주소나 색상 코드를 읽기 쉽습니다。

데이터가 안전한가요? 서버로 전송되나요?

안전합니다. 모든 변환은 브라우저에서 JavaScript로 로컬 실행되며 데이터가 기기를 떠나지 않습니다。

'진법(기수)'이란 무엇인가요?

진법(기수)은 숫자 체계에서 사용하는 고유한 숫자의 개수입니다. 2진수는 2개, 10진수는 10개, 16진수는 16개 기호를 사용합니다。

왜 16진수 이상에서는 문자를 사용하나요?

진법이 10을 넘으면 0-9로는 기호가 부족해 a-z 문자를 추가로 사용합니다. 16진수에서 A=10~F=15입니다。

큰 숫자도 정밀도가 유지되나요?

네. Decimal.js의 임의 정밀도 연산을 사용하여 JavaScript 부동소수점 정밀도 문제를 피합니다。

Privacy & Security

모든 진법 변환은 브라우저에서 완전히 로컬로 실행되며, 입력한 숫자는 어떤 서버로도 전송되지 않습니다. 데이터를 저장, 기록, 분석하지 않으며 페이지 로드 후 오프라인에서도 사용할 수 있습니다.