내 User Agent 확인

브라우저가 보내는 User Agent(유저 에이전트)를 분해해 보고, Windows 11이 Windows 10으로 표시되는 것처럼 브라우저가 고정해 버린 값의 실제 정보를 확인하세요. 문자열을 붙여넣거나 크롤러가 진짜인지 검증할 수도 있습니다.

브라우저와 브라우저가 보낸 헤더에서 읽음 · Client Hints · Google, OpenAI, Anthropic 등의 크롤러 IP 목록 · 저장하지 않음
예시
내 브라우저읽는 중…페이지를 연 시점에 읽음

브라우저를 읽는 중…

내 User Agent 분해고정됨: 브라우저가 더 이상 업데이트하지 않는 고정 값

문자열이 말하는 값과 실제 값

  • 1브라우저
  • 2엔진
  • 3운영체제
  • 4기기
  • 5CPU
  • 6폼 팩터

User Agent란 무엇이고 왜 Mozilla/5.0으로 시작할까요?

User Agent는 브라우저가 모든 요청과 함께 보내는 한 줄의 텍스트로, 브라우저와 엔진, 실행 중인 시스템이 무엇인지 알려 줍니다.

서버는 User Agent 문자열을 읽어 브라우저별 문제를 우회하고 방문자를 집계합니다. 제품 토큰과 주석이 중요한 순서대로 나열된 목록이며, 역사적인 이유로 Mozilla/5.0으로 시작합니다. 이 토큰은 “Mozilla 호환”을 뜻하고 거의 모든 브라우저가 보냅니다.

브라우저들은 사이트에서 차단당하지 않으려고 다른 엔진의 이름을 계속 덧붙였고, 그래서 오늘날의 Chrome은 Mozilla, WebKit, KHTML, Gecko, Safari를 모두 언급합니다. 오른쪽부터 읽으세요. 마지막 브라우저 토큰이 진짜 브라우저입니다.

오늘날 Chrome 문자열의 층별 구조
  1. 19981MozillaMozilla/5.0Netscape의 소스 코드로 Mozilla 프로젝트가 시작됩니다.
  2. 20012WebKit(KHTML, like Gecko)WebKit은 KDE의 KHTML 엔진에서 출발했습니다.
  3. 20133BlinkAppleWebKit/537.36Google의 Blink가 WebKit을 대체했지만 토큰은 그대로 남았습니다.
  4. 20204SafariMac OS X 10_15_7Safari가 macOS 버전을 10.15로 고정합니다.
  5. 20225Chrome 101~107Chrome/141.0.0.0Chrome이 마이너 버전을 고정한 뒤 플랫폼까지 고정합니다.
  6. 20256Safari 26iPhone OS 18_6Safari가 iOS 버전도 고정합니다.
오늘의 Chrome
Mozilla/5.011998(Windows NT 10.0; Win64; x64)52022AppleWebKit/537.3632013(KHTML, like Gecko)22001Chrome/141.0.0.052022Safari/537.3622001
문자열의 각 부분에 그 유래가 된 단계의 번호를 붙였습니다. 날짜는 Mozilla, WebKit, Chromium 블로그, WebKit 버그 트래커 기준이며, Chrome 141은 최신 버전을 대표하는 예시입니다.
내 User Agent 확인 화면: Chrome User Agent 문자열을 분해하고 고정된 토큰과 실제 Windows 11 버전을 나란히 표시내 User Agent 확인 화면: Chrome User Agent 문자열을 분해하고 고정된 토큰과 실제 Windows 11 버전을 나란히 표시하나의 판정브라우저와 시스템을 한 줄로 보여 주고, 문자열에서 여섯 항목 중 몇 개가 고정되었는지 알려 줍니다.분해한 문자열각 토큰의 이름을 붙이고 종류별로 색을 입혔습니다. 점선은 고정된 토큰이며, 그 아래에 실제 값이 적혀 있습니다.문자열 값 vs 실제 값항목마다 한 줄씩 문자열의 값, 실제 값, 출처(문자열, Client Hints, 터치 확인)를 보여 줍니다.서버에 보낸 값 vs JavaScript서버가 받은 헤더와 JavaScript가 보고하는 값을 나란히 보여 줍니다. 차이가 있으면 확장 프로그램이나 재정의가 둘 중 하나를 바꾼 것입니다.
이 페이지가 읽은 Windows 11의 Chrome 141 예시입니다. 문자열을 분해하고 고정된 각 부분의 실제 값, 서버가 받은 값과 JavaScript가 보고하는 값을 나란히 보여 줍니다. 번호를 선택하면 각 부분이 무엇을 보여 주는지 확인할 수 있습니다.

Windows 11인데 User Agent에는 왜 Windows 10으로 나올까요?

브라우저가 문자열의 그 부분을 더 이상 업데이트하지 않기 때문입니다. Windows 10과 Windows 11은 모두 Windows NT 10.0을 보내며, Microsoft는 이 문자열을 바꾸지 않겠다고 밝혔습니다.

Mac(10_15_7에 고정, Apple 실리콘도 Intel로 표시), Android(Chrome에서 모든 휴대폰이 Android 10; K를 전송), iOS 26의 Safari(18_6 또는 18_7)도 마찬가지입니다. 숫자가 바뀌면 사이트가 깨졌기 때문에 브라우저들이 값을 고정했습니다.

실제 값은 Client Hints에 있습니다. Windows에서는 Sec-CH-UA-Platform-Version이 13 이상이면 Windows 11입니다. Chrome, Edge, Opera는 이 값을 보내지만 Firefox는 보내지 않으므로 Firefox에서는 어떤 사이트도 구분할 수 없습니다.

문자열에서는 고정, Client Hints에서는 실제 값
사용 환경문자열 값고정 시점실제 값의 위치
Windows 11Windows NT 10.011에 맞춰 업데이트된 적 없음Sec-CH-UA-Platform-Version13.0.0 이상
ARM 기반 WindowsWin64; x64Chrome과 Firefox의 고정 토큰Sec-CH-UA-Arch"arm"
macOS 11~26Intel Mac OS X 10_15_7Safari 2020 · Firefox 87 · Chrome 107Sec-CH-UA-Platform-VersionChromium 브라우저만
Apple 실리콘IntelFirefox 87 · Chrome 107Sec-CH-UA-Arch"arm" · Chromium 브라우저만
Android 11~16Android 10; KChrome 110 (2023년 2월)Sec-CH-UA-Platform-Version · Sec-CH-UA-Model"16.0.0" · "SM-S931B"
iOS 26iPhone OS 18_7Safari 26 (2025)Version/26.0Safari 자체 버전
Windows의 Sec-CH-UA-Platform-Version
0Windows 7 · 8 · 8.11~12Windows 1013 이상Windows 1119.0.0
Microsoft의 기준(샘플 코드): 13 이상은 Windows 11, 1~12는 Windows 10, 0은 그 이전 버전입니다. Edge 가이드에서는 기준선을 14로 잡습니다.

지금 어떤 브라우저를 사용하고 있나요?

맨 위의 도구가 알려 줍니다. User Agent와 브라우저가 공유하는 Client Hints를 바탕으로 브라우저, 전체 버전, 그 밑의 엔진을 보여 줍니다.

문자열을 직접 읽으려면 오른쪽부터 보세요. 마지막 브라우저 토큰이 브라우저의 이름이고, 그 앞의 토큰들은 오래된 사이트가 브라우저를 거부하지 않도록 넣은 것입니다. Edg/는 Edge, OPR/는 Opera, SamsungBrowser/는 Samsung Internet, CriOS/는 iPhone의 Chrome, FxiOS/는 iPhone의 Firefox입니다.

Brave와 Vivaldi는 Chrome과 똑같은 문자열을 보냅니다. Brave는 대신 자체 navigator.brave.isBrave() 확인을 쓰도록 사이트에 안내하며, 이 페이지가 그 확인을 실행합니다.

브라우저마다 이름을 알려 주는 토큰
브라우저이름을 알려 주는 토큰엔진Client Hints
ChromeChrome/141.0.0.0Blink
EdgeEdg/141.0.0.0Blink
OperaOPR/124.0.0.0Blink
Samsung InternetSamsungBrowser/28.0Blink
Brave없음: Chrome의 문자열Blink
FirefoxFirefox/144.0Gecko
SafariVersion/26.0 … Safari/605.1.15WebKit
iPhone의 ChromeCriOS/141.0.7390.96WebKit확인 안 함
iPhone의 FirefoxFxiOS/144.0WebKit확인 안 함
버전은 예시입니다. Client Hints: Chrome은 89부터, Samsung Internet은 23부터 전송하며 Firefox와 Safari는 보내지 않습니다.

User-Agent Client Hints란 무엇인가요?

Client Hints는 User Agent의 정보를 별도의 헤더로 나눠 보내는 방식으로, 세부 정보는 요청한 사이트에만 전달됩니다. Chromium 브라우저는 고정된 문자열이 더 이상 알려 주지 않는 정보를 이것으로 공유합니다.

브랜드 목록, 휴대폰 여부, 플랫폼 세 가지는 요청하지 않아도 모든 사이트에 전달됩니다. 더 많은 정보가 필요한 사이트는 Accept-CH를 보내고, 브라우저는 이후 요청에 해당 힌트를 추가합니다. 스크립트도 navigator.userAgentData.getHighEntropyValues()로 요청할 수 있습니다.

브랜드 목록에는 사이트가 허용 브라우저 목록을 만들지 못하도록 일부러 가짜 이름(GREASE) 하나를 넣습니다. 힌트는 HTTPS에서만 전송되며, Firefox와 Safari는 아무것도 보내지 않습니다.

이 페이지가 실제 Windows 버전을 얻는 과정
  1. 1
    GET /what-is-my-user-agent→
    Sec-CH-UA: "Google Chrome";v="141", "Chromium";v="141", "Not?A_Brand";v="8"Sec-CH-UA-Mobile: ?0Sec-CH-UA-Platform: "Windows"
    요청하지 않아도 모든 사이트에 전송 · "Not?A_Brand"는 가짜 브랜드
  2. 2
    ←200 OK
    Accept-CH: Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Model, Sec-CH-UA-Full-Version-List
    페이지가 더 많은 정보를 요청
  3. 3
    GET /api/user-agent→
    Sec-CH-UA-Platform-Version: "19.0.0"Sec-CH-UA-Arch: "x86"Sec-CH-UA-Bitness: "64"Sec-CH-UA-Model: ""
    이후 요청에 힌트가 포함됨: 19는 Windows 11
  4. 4
    navigator.userAgentData.getHighEntropyValues([…])
    { platformVersion: "19.0.0", architecture: "x86", bitness: "64", model: "" }
    또는 스크립트가 요청 없이 직접 조회
전송하는 브라우저Chrome89+EdgeOperaSamsung Internet23+FirefoxSafari
Windows 11의 Chrome 141 기준 값입니다. 사이트의 힌트 요청은 브라우저가 해당 사이트 데이터를 지울 때까지 유지됩니다.

내 iPad가 왜 Mac으로 표시될까요?

iPadOS 13부터 iPad의 Safari가 웹사이트에 Mac으로 자신을 소개하기 때문입니다. Mac의 User Agent를 글자 그대로 보내며, iPad의 Firefox도 마찬가지입니다.

Apple이 iPad에서 데스크톱 사이트를 보여 주기 위해 그렇게 했고, 사이트에는 문자열 대신 기능 확인을 쓰도록 권장합니다. 페이지는 추측만 할 수 있습니다. navigator.maxTouchPoints는 화면이 지원하는 터치 포인트 수를 알려 주는데, Mac의 화면은 터치를 지원하지 않습니다.

이 페이지는 Mac 문자열에 터치 화면이 함께 올 때 아마도 iPad라고 표시하며, 사실이 아니라 터치 확인으로 표시합니다. Safari는 Client Hints를 공유하지 않으므로 iPadOS 버전은 알 수 없습니다.

하나의 문자열, 두 기기
iPadmaxTouchPoints5navigator.platform"MacIntel"
MacmaxTouchPoints0navigator.platform"MacIntel"
둘 다 전송Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.0 Safari/605.1.15
iPad와 Mac에서 가져온 예시 값입니다. 데스크톱급 iPad 브라우저를 다룬 Apple의 WWDC 2019 세션은 사이트에 기능 감지를 사용하도록 요청합니다.

User Agent는 어떻게 바꾸나요?

데스크톱 브라우저에서는 개발자 도구로 바꿉니다. Chrome과 Edge는 Network conditions, Firefox는 반응형 디자인 모드, Safari는 개발자용 메뉴를 사용합니다. 휴대폰에서는 데스크톱 사이트를 요청하는 방법뿐입니다.

단, 사이트가 보는 것은 문자열만이 아닙니다. Chrome과 Edge의 패널에서는 Client Hints도 맞춰 설정할 수 있고, 그대로 두면 여전히 실제 브라우저를 알려 주며 이 페이지는 그 불일치를 보여 줍니다.

헤더를 바꾸는 확장 프로그램은 더 적게 바꿉니다. 스크립트는 여전히 실제 navigator.userAgent를 읽습니다. 또한 사이트가 내가 주장하는 브라우저용 페이지를 보내 줄 수도 있습니다.

  1. 1Network conditions 열기Chrome DevTools에서
  2. 2“Use browser default” 체크 해제목록과 입력란이 활성화됩니다
  3. 3브라우저를 고르거나 문자열 입력그런 다음 “User agent client hints”를 열어 맞추세요
  4. 4이 페이지 새로고침헤더와 navigator.userAgent가 바뀝니다
EdgeCtrl+Shift+P → Show Network conditions → “Use browser default” 해제
FirefoxCtrl+Shift+M (반응형 디자인 모드) → 기기 선택
Mac의 SafariSettings → Advanced → “Show features for web developers” 선택 후 Develop → User Agent
Android의 Chrome⋮ → Desktop site (한 페이지) · Settings → Site settings → Desktop site (모든 페이지)
iPhone의 Safari페이지 메뉴 → Request Desktop Website
메뉴 이름은 Chrome, Edge, Firefox, Apple의 공식 도움말에 나오는 영문 그대로입니다.

Googlebot과 AI 크롤러는 어떻게 검증하나요?

User Agent가 아니라 IP를 확인하세요. 누구나 Googlebot의 문자열을 보낼 수 있습니다. 운영사마다 자체 확인 방법을 공개하며, 위의 크롤러 검증 모드가 이를 실행합니다.

Google, Bing, Apple, Yandex는 DNS로 두 단계에 걸쳐 확인합니다. 먼저 IP의 역방향 이름을 조회하세요. 진짜 Googlebot의 이름은 googlebot.com, google.com, googleusercontent.com으로 끝납니다. 그다음 그 이름을 조회해 같은 IP를 가리켜야 하며, 그렇지 않으면 역방향 이름이 위조된 것입니다.

Google, OpenAI, Anthropic, Perplexity, Apple은 크롤러의 IP 범위를 JSON 목록으로도 공개합니다. 봇 패턴만으로는 아무것도 증명되지 않으며, 만든 쪽에서도 User Agent를 믿지 말라고 권고합니다.

터미널
$ host 66.249.66.1
1.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.✓ Google의 이름
$ host crawl-66-249-66-1.googlebot.com
crawl-66-249-66-1.googlebot.com has address 66.249.66.1✓ 같은 IP
GoogleGooglebot, GoogleOther, Google-InspectionToolDNSIP 목록common-crawlers.json
Microsoft BingbingbotDNSsearch.msn.com · JSON 목록은 2024년 1월 자료
OpenAIGPTBot, OAI-SearchBot, ChatGPT-UserIP 목록gptbot.json · searchbot.json · chatgpt-user.json
AnthropicClaudeBot, Claude-User, Claude-SearchBotIP 목록claude.com/crawling/bots.json
PerplexityPerplexityBot, Perplexity-UserIP 목록perplexitybot.json · perplexity-user.json
AppleApplebotDNSIP 목록*.applebot.apple.com · applebot.json
터미널은 Google 문서의 예시를 보여 줍니다. 이 도구는 각 목록을 하루 이내의 최신 상태로 읽어 옵니다.

User Agent는 개인정보 위험이 될까요?

작은 위험입니다. 방문하는 모든 사이트가 User Agent를 보지만, 그것만으로는 나 자신이 아니라 브라우저와 시스템만 알 수 있습니다.

IP 주소, 스크립트가 측정할 수 있는 값과 합쳐지면 브라우저를 다시 알아보는 핑거프린트가 되기 때문에 브라우저들이 이를 고정하고 있습니다. 핑거프린팅을 완전히 없애는 기술적 방법은 없습니다.

User Agent만 바꾸면 오히려 눈에 띌 수 있습니다. 나머지 브라우저 정보는 실제와 그대로 일치하고, 그렇게 드문 조합은 더 쉽게 눈에 띕니다. VPN은 IP를 바꾸지만 User Agent는 바꾸지 않습니다. 이 페이지는 브라우저가 보낸 값을 보여 줄 뿐 아무것도 저장하지 않습니다.

웹사이트가 방문할 때마다 읽을 수 있는 정보
모든 요청과 함께 전송
User Agent브라우저와 시스템
IP 주소네트워크와 대략적인 위치
Accept-Language설정한 언어
페이지의 스크립트가 읽음
화면 크기너비, 높이, 픽셀 비율
시간대시계에 설정된 시간대
Client Hints실제 OS 버전, 모델
글꼴설치된 글꼴
Canvas와 WebGL그래픽이 그려지는 방식
나머지 정보와 어긋나는 가짜 User Agent
User Agent
iPhone Safari
화면
1536 × 864 · 데스크톱
터치 포인트
0
Client Hints
"Windows" · Chrome 141
눈에 띔
W3C의 핑거프린팅 지침은 User Agent를 사이트가 공짜로 받는 헤더로 꼽고, EFF는 User Agent를 바꾸면 오히려 브라우저를 식별하기 쉬워질 수 있다고 경고합니다.

자주 묻는 질문

내 User Agent는 무엇인가요?

User Agent는 브라우저가 모든 요청과 함께 보내는 한 줄의 텍스트로, 브라우저와 버전, 엔진, 실행 중인 시스템을 알려 줍니다. 이 페이지는 열리는 순간 내 User Agent를 분해해 복사 버튼과 함께 보여 줍니다. 문자열의 일부는 고정되어 있어서, 실제 값은 브라우저의 Client Hints도 읽어 확인합니다.

내 브라우저는 무엇이고, 브라우저에서 User Agent는 어떻게 확인하나요?

이 페이지 맨 위의 판정에 브라우저, 전체 버전, 시스템이 표시됩니다. 원본 문자열을 직접 보려면 브라우저의 개발자 도구에서 Console을 열고 navigator.userAgent를 입력하세요. 확장 프로그램이 헤더를 바꾸면 브라우저가 보내는 헤더는 이 값과 다를 수 있으며, “브라우저가 서버에 보낸 값” 패널이 둘을 비교합니다.

Windows 11인데 User Agent에는 왜 Windows 10으로 나오나요?

브라우저가 그 토큰을 업데이트한 적이 없습니다. Windows 11도 Windows 10과 똑같이 Windows NT 10.0을 보내며, Microsoft는 이 문자열을 바꾸지 않겠다고 밝혔습니다. Chrome, Edge, Opera는 Sec-CH-UA-Platform-Version Client Hint로 실제 버전을 공유하고, 13 이상이면 Windows 11입니다. Firefox는 공유하지 않아 사이트에서 구분할 수 없습니다.

User Agent에 macOS 10.15.7이 나오는 이유는 무엇인가요?

Safari, Firefox, Chrome 모두 macOS 버전을 10.15.7로 고정했고, Apple 실리콘 Mac도 여전히 Intel로 표시합니다. “macOS 11”에서 사이트가 깨지자 WebKit이 2020년에 고정했고 다른 브라우저들도 따랐습니다. Chromium 브라우저는 Client Hints로 실제 macOS 버전을 공유하며, Safari와 Firefox는 공개하지 않습니다.

User Agent의 “Android 10; K”는 무슨 뜻인가요?

자리 표시 값입니다. Chrome 110부터 Android의 Chrome은 모든 휴대폰에서 Android 10과 모델 K를 보내고, Samsung Internet도 버전 24부터 똑같이 합니다. 이제 문자열만으로는 휴대폰 이름이나 Android 버전을 알 수 없습니다. 실제 값은 Client Hints에 있으며, 브라우저가 공유하면 이 페이지가 읽어 옵니다.

iOS 26의 Safari는 왜 iOS 18이라고 표시하나요?

Apple이 Safari의 User Agent에서 iOS 버전을 고정했습니다. iOS 26 이상은 18_6, 18_6_2, 18_7로 보고하며, 번호가 바뀌면 사이트가 깨졌기 때문에 Apple은 앞으로도 그대로 유지할 계획입니다. Safari 자체 버전인 Version/ 토큰은 시스템을 따라가므로, 이 페이지는 그 값에서 실제 버전을 읽습니다.

User Agent를 바꿀 수 있나요? 바꾸면 나를 숨길 수 있나요?

바꿀 수 있습니다. Chrome이나 Edge의 Network conditions 패널, Firefox의 반응형 디자인 모드, Safari의 Develop 메뉴, 또는 휴대폰의 데스크톱 사이트 전환으로 가능합니다. 하지만 나를 숨겨 주지는 않습니다. IP, Client Hints, 스크립트가 측정하는 값은 그대로이고, 나머지 브라우저 정보와 맞지 않는 가짜 문자열은 오히려 눈에 띌 수 있습니다.

Client Hints란 무엇이고 어떤 브라우저가 보내나요?

Client Hints는 User Agent의 정보를 별도의 헤더로 나눠 보내는 방식입니다. 브랜드, 모바일 여부, 플랫폼은 모든 요청에 포함되고, 세부 정보(OS 버전, CPU, 휴대폰 모델, 전체 버전)는 사이트가 요청할 때만 전송됩니다. Chrome은 버전 89부터, Samsung Internet은 23부터 보내며 Edge와 Opera도 보냅니다. Firefox와 Safari는 보내지 않습니다.

어떤 문자열이든 해석하는 User Agent 파서인가요?

네. User Agent 붙여넣기를 선택하고 로그, 버그 리포트, 크롤러 문서 등 어떤 문자열이든 붙여넣으면 브라우저에서 해석하며 서버로는 아무것도 전송되지 않습니다. 생성되는 링크에는 문자열이 담겨 있어 해석 결과를 공유할 수 있습니다. 크롤러는 운영 주체와 확인 방법까지 알려 줍니다.

Googlebot이 진짜인지 어떻게 알 수 있나요?

User Agent가 아니라 IP를 확인하세요. 역방향 DNS 이름이 googlebot.com, google.com, googleusercontent.com으로 끝나야 하고 그 이름이 같은 IP를 다시 가리켜야 하며, 또는 IP가 Google이 공개한 크롤러 목록에 있어야 합니다. 이 페이지의 크롤러 검증은 Google에 두 가지 확인을 모두 실행하고 OpenAI, Anthropic 등은 목록으로 확인합니다.

고객 지원에서 User Agent를 요청하는 이유는 무엇인가요?

브라우저, 버전, 시스템을 한 줄로 알려 주어 버그를 재현하는 데 충분한 경우가 많기 때문입니다. 이 페이지의 리포트 복사는 Client Hints의 실제 값을 함께 담아, 지원팀이 Windows 11 PC에서 Windows 10 문제를 쫓지 않도록 합니다. IP 주소나 위치처럼 나를 식별하는 정보는 담기지 않습니다.