IP 주소 변환기

IPv4 주소를 10진 정수·16진수·2진수로 변환하고, 정수에서 IPv4로 역변환합니다. 입력하면 즉시 결과가 표시됩니다.

IPv4 주소를 입력하면 결과가 즉시 표시됩니다.
0 ~ 4294967295 사이의 정수를 입력하면 IPv4 주소로 변환됩니다.
모든 변환은 브라우저에서 처리되며 입력값은 저장·전송되지 않습니다. 부호 없는 32비트(>>>0) 연산으로 정확하게 계산합니다.
IPv6 주소를 입력하면 전체(full)·축약(compressed) 표기로 변환됩니다.
IPv6는 128비트 주소로, 연속된 0 그룹을 ::로 한 번 축약할 수 있습니다.

IP 주소 변환기 사용법

위쪽 칸에 IPv4 주소(예: 192.168.0.1)를 입력하면 10진 정수, 16진수, 2진수(옥텟 구분) 형태로 즉시 변환되어 표시됩니다. 반대로 아래쪽 칸에 정수(예: 3232235521)를 입력하면 해당하는 IPv4 주소로 역변환됩니다. 각 결과 줄의 복사 버튼으로 값을 클립보드에 담을 수 있습니다.

IP 주소와 정수 변환 원리

IPv4 주소는 점으로 구분된 4개의 옥텟으로 표시되지만 실제로는 하나의 32비트 숫자입니다. 각 옥텟(0~255)은 8비트를 차지하며, 첫 옥텟이 최상위 바이트가 됩니다. 이를 하나로 이어 붙이면 부호 없는 32비트 정수(0 ~ 4294967295)가 되고, 16진수로는 8자리(예: 0xC0A80001)로 표현됩니다.

  • 10진 정수: 데이터베이스 IP 저장·범위 비교·정렬에 유용
  • 16진수: 저수준 네트워크 프로그래밍·패킷 분석에서 사용
  • 2진수: 서브넷·비트 마스크 이해에 도움

IPv6 표기 변환

세 번째 칸에서는 IPv6 주소를 전체 표기축약 표기로 정리해 줍니다. IPv6는 128비트를 16비트씩 여덟 그룹으로 나눠 16진수로 적는데, 같은 주소를 여러 방식으로 쓸 수 있어 비교할 때 혼란이 생깁니다. 예를 들어 2001:db8::1의 전체 표기는 2001:0db8:0000:0000:0000:0000:0000:0001입니다. 축약은 값이 0인 그룹이 두 개 이상 연달아 있을 때 가장 긴 구간 한 곳만 ::로 줄이는 규칙이며, 이 도구도 같은 규칙으로 계산합니다. 로그나 설정 파일에 적힌 주소가 같은 것인지 확인할 때 전체 표기로 맞춰 보면 편합니다.

자주 쓰는 IP 정수 대응표

IPv410진 정수비고
0.0.0.00최솟값
10.0.0.0167772160사설 대역 시작
127.0.0.12130706433루프백
172.16.0.02886729728사설 대역 시작
192.168.0.13232235521공유기 기본 대역
255.255.255.2554294967295최댓값

정수 변환을 쓰는 곳

  • 데이터베이스 저장 — 문자열 대신 정수로 저장하면 공간이 줄고 비교가 빨라집니다. MySQL의 INET_ATON('192.168.0.1')은 3232235521을, INET_NTOA(3232235521)는 원래 주소를 돌려줍니다.
  • 대역 비교 — 시작 주소와 끝 주소를 정수로 바꿔 두면 특정 IP가 그 대역에 들어가는지 부등호 하나로 판별할 수 있습니다. 접속 차단 목록이나 지역 판별 테이블이 이런 방식으로 동작합니다.
  • 정렬 — 문자열로 정렬하면 10.0.0.29.0.0.1보다 앞에 오지만, 정수로 정렬하면 실제 순서대로 놓입니다.
  • 서브넷 이해 — 2진수 표기를 보면 넷마스크가 앞쪽 몇 비트를 고정하는지 눈으로 확인할 수 있습니다.

자주 하는 실수와 주의점

  • 192.168.0.01처럼 옥텟 앞에 0을 붙이면 8진수로 해석될 여지가 있어 이 도구는 유효하지 않은 입력으로 처리합니다.
  • IPv4 정수는 부호 없는 32비트입니다. 자바의 int처럼 부호 있는 32비트 타입에 담으면 첫 옥텟이 128 이상일 때 음수가 되므로, long이나 부호 없는 타입을 쓰세요.
  • 0 ~ 4294967295 범위를 벗어난 값은 IPv4로 바꿀 수 없습니다.
  • IPv6는 128비트라 일반 정수 타입에 담기지 않습니다. 정수로 다루려면 큰 정수 타입이 필요하며, 이 도구는 IPv6의 정수 변환은 제공하지 않고 표기 변환만 지원합니다.
  • ::는 주소 하나에 한 번만 쓸 수 있습니다. 두 번 이상 나오면 원래 그룹 수를 복원할 수 없어 잘못된 주소입니다.

자주 묻는 질문

IP 주소를 정수로 변환하면 어떤 값이 되나요?

IPv4 주소는 4개의 옥텟(각 0~255)으로 이루어진 32비트 값입니다. 각 옥텟을 8비트씩 이어 붙여 하나의 부호 없는 32비트 정수로 표현합니다. 예를 들어 192.168.0.1은 192×16777216 + 168×65536 + 0×256 + 1 = 3232235521이 됩니다. 데이터베이스 저장이나 대역 비교에 자주 사용됩니다.

IP 정수 값의 범위는 어떻게 되나요?

IPv4는 32비트이므로 정수로 표현하면 0(0.0.0.0)부터 4294967295(255.255.255.255)까지의 부호 없는 값을 가집니다. 이 범위를 벗어나는 정수는 IPv4 주소로 변환할 수 없습니다.

16진수 IP 표기는 어디에 쓰나요?

16진수 표기(예: 0xC0A80001)는 8자리로 IPv4 전체를 간결하게 나타내며, 각 두 자리가 하나의 옥텟에 대응합니다. C++·C 등 저수준 네트워크 프로그래밍이나 패킷 분석 도구에서 IP 주소를 다룰 때 활용됩니다.

선행 0이 붙은 옥텟도 입력할 수 있나요?

아니요. 192.168.0.01처럼 선행 0이 붙은 옥텟은 8진수로 해석될 여지가 있어 모호하므로 이 도구에서는 유효하지 않은 입력으로 처리합니다. 각 옥텟은 0~255 사이의 일반 10진수로 입력하세요.

데이터베이스에서는 어떻게 변환하나요?

MySQL에서는 INET_ATON 함수가 IPv4를 정수로, INET_NTOA 함수가 정수를 IPv4로 되돌립니다. INET_ATON('192.168.0.1')의 결과는 3232235521로 이 도구의 값과 같습니다. 정수로 저장하면 저장 공간이 줄고 대역 비교와 정렬이 빨라집니다.

IPv6 축약 표기는 어떤 규칙인가요?

값이 0인 그룹이 두 개 이상 연달아 있을 때 가장 긴 구간 한 곳만 콜론 두 개로 줄일 수 있습니다. 한 주소에 두 번 이상 쓰면 원래 그룹 수를 복원할 수 없어 잘못된 주소가 됩니다. 이 도구는 전체 표기와 축약 표기를 함께 보여 줍니다.

IPv6도 정수로 바꿀 수 있나요?

IPv6는 128비트라 일반 정수 타입에는 담기지 않고 큰 정수 타입이 필요합니다. 이 도구는 IPv6의 정수 변환은 제공하지 않고 전체 표기와 축약 표기 변환만 지원합니다.