User Agent 파서 — 내 사용자 에이전트는? 브라우저, OS, 기기
내 사용자 에이전트와 클라이언트 힌트를 확인하거나, 아무 UA 문자열이나 브라우저, 엔진, OS, 기기, CPU로 분석하세요. CSV를 지원하는 일괄 모드도 있습니다.
문제를 발견하셨거나 개선할 점이 있나요? 모든 메시지를 읽고 빠르게 고칩니다.
이 User Agent 파서는 브라우저가 보내는 사용자 에이전트 문자열을 보여 주고 브라우저, 렌더링 엔진, 운영체제, 기기 유형, 제조사, 모델, CPU 아키텍처로 나눠 줍니다. 서버 로그나 버그 보고서의 다른 UA 문자열을 붙여 넣어도 같은 방식으로 분석하며, 일괄 모드로 전환하면 수천 줄을 한 번에 분석해 CSV로 내보낼 수 있습니다. Googlebot, Bingbot, GPTBot, ClaudeBot 같은 알려진 크롤러, 링크 미리보기 수집기, curl 같은 HTTP 클라이언트는 표시됩니다.
사용자 에이전트 문자열은 예전보다 알려 주는 정보가 적습니다. Chrome은 이제 버전이 고정된(129.0.0.0) 축소 UA를 보내고, Android에서는 가짜 기기 모델 “K”를 보냅니다. Mac의 모든 브라우저는 macOS 10.15.7이라고 보고하고, Windows 11은 Windows 10이라고 합니다. 브라우저가 User-Agent Client Hints를 지원하면 이 도구는 그 힌트가 드러내는 정보와 함께 화면, 뷰포트, 언어, 시간대도 보여 줍니다. 분석은 오픈 소스 ua-parser-js 라이브러리로 내 기기에서 실행되며, 아무것도 기록되지 않습니다.
사용 방법
- 페이지를 여세요. 내 사용자 에이전트가 바로 채워져 분석되고, 오른쪽에 클라이언트 힌트와 브라우저 정보가 표시됩니다.
- 다른 사용자 에이전트를 분석하려면 입력란에 붙여 넣거나 예시(iPhone, Android, Googlebot 등) 중 하나를 클릭하세요.
- 결과 아래의 참고 사항을 읽으세요. 고정된 macOS 버전이나 축소된 Chrome 문자열처럼 필드를 믿을 수 없는 경우를 설명합니다.
- 로그를 분석하려면 일괄 분석을 고르고 한 줄에 사용자 에이전트 하나씩 붙여 넣은 뒤 표를 CSV로 다운로드하세요.
자주 묻는 질문
사용자 에이전트 문자열이란 무엇인가요?
브라우저나 다른 클라이언트가 모든 요청과 함께 보내는 User-Agent HTTP 헤더의 값으로, 요청을 보내는 소프트웨어를 설명합니다. 사이트는 이를 분석, 봇 감지, 그리고 그리 바람직하지 않게도 브라우저별로 다른 콘텐츠를 제공하는 데 씁니다. 거의 모든 브라우저 문자열이 역사적 호환성 때문에 여전히 “Mozilla/5.0”으로 시작하며, 그래서 그렇게 헷갈려 보입니다.
내 Mac이 macOS 10.15.7로 표시되는 이유는 무엇인가요?
Safari, Chrome, Edge, Firefox는 모두 실제 버전과 상관없이 사용자 에이전트의 macOS 버전을 10.15.7(Catalina)로 고정합니다. 개인정보 보호를 위해, 그리고 버전 번호가 11이 되었을 때 일부 사이트가 깨졌기 때문입니다. 실제 버전은 UA 문자열에 없으며, Chromium 브라우저에서는 사이트가 Sec-CH-UA-Platform-Version 클라이언트 힌트로 요청할 수 있습니다.
Windows 10과 Windows 11은 어떻게 구별하나요?
사용자 에이전트로는 안 됩니다. 둘 다 “Windows NT 10.0”을 보냅니다. Chrome과 Edge에서는 플랫폼 버전 클라이언트 힌트(navigator.userAgentData.getHighEntropyValues 또는 Sec-CH-UA-Platform-Version 헤더)가 Windows 11에서 13 이상, Windows 10에서 10 이하를 반환합니다. Firefox와 Safari는 클라이언트 힌트를 지원하지 않으므로 이 브라우저들에서는 확실한 방법이 없습니다.
User-Agent Client Hints란 무엇인가요?
Chromium 브라우저(Chrome, Edge, Opera, Samsung Internet)에서 사용자 에이전트 문자열을 대체하는 방식입니다. 브라우저 브랜드, 주 버전, 플랫폼, 모바일 기기 여부 같은 저엔트로피 힌트는 기본으로 전송됩니다. 정확한 OS 버전, 기기 모델, 전체 브라우저 버전 같은 고엔트로피 힌트는 사이트가 요청할 때만 전송되므로 수동적 핑거프린팅이 더 어려워집니다.
사용자 에이전트로 봇을 감지해도 믿을 만한가요?
1차 필터로만 쓰세요. 어떤 클라이언트든 아무 사용자 에이전트나 보낼 수 있고, 스크레이퍼는 흔히 Chrome이나 Googlebot인 척합니다. 요청이 정말 Googlebot이나 Bingbot에서 왔는지 확인하려면 IP에 역방향 DNS 조회를 해서 googlebot.com, google.com, search.msn.com으로 확인되는지 보고, 다시 정방향 조회로 같은 IP가 나오는지 확인하세요. OpenAI처럼 크롤러 IP 대역을 공개하는 운영사도 있습니다.
이 도구가 내 사용자 에이전트를 어딘가로 보내나요?
아니요. 페이지가 브라우저에서 읽어 JavaScript로 로컬에서 분석합니다. 물론 방문하는 모든 웹사이트는 어차피 요청 헤더로 사용자 에이전트를 받습니다. 이 도구는 그들이 보는 것을 보여 줄 뿐입니다.
사용자 에이전트 문자열 읽는 법
Windows의 일반적인 Chrome 문자열을 예로 들어 보겠습니다: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36.
• Mozilla/5.0은 모든 최신 브라우저가 보내는 호환성 토큰으로, 오늘날에는 아무 의미가 없습니다.
• (Windows NT 10.0; Win64; x64)는 플랫폼입니다: Windows 10 또는 11, 64비트.
• AppleWebKit/537.36 (KHTML, like Gecko)도 호환성 토큰이며, Chrome의 실제 엔진은 Blink입니다.
• Chrome/129.0.0.0이 실제 브라우저와 주 버전이며, 하위 버전은 Chrome의 UA 축소로 0이 됩니다.
• Safari/537.36은 Safari를 감지하는 사이트가 Chrome을 WebKit 호환으로 취급하게 하려고 들어 있습니다. Edge는 Edg/, Opera는 OPR/, Samsung Internet은 SamsungBrowser/를 같은 기본 문자열에 덧붙이므로, 파서는 이 토큰들을 먼저 확인합니다.
사용자 에이전트 감지보다 기능 감지가 낫다
브라우저별로 다른 코드를 제공하려고 이 글을 읽고 있다면 대신 기능을 검사하세요. CSS @supports, “'serviceWorker' in navigator”, 또는 라이브러리의 기능 확인을 쓰면 됩니다. 사용자 에이전트는 위조되고, 고정되고, 축소되며, 오늘의 문자열에 맞춰 작성한 검사는 브라우저가 버전 형식을 바꾸면 깨집니다. UA 분석은 가끔 잘못 추측해도 해가 없는 분석, 디버깅 보고서, 봇 필터링에만 쓰세요.
흔한 크롤러와 봇 사용자 에이전트
• Googlebot: “Googlebot/2.1”을 포함합니다. Google-Extended는 AI 학습 용도에 대한 robots.txt 토큰이며 별도의 크롤러 문자열이 아닙니다.
• Bingbot: “bingbot/2.0”을 포함합니다.
• GPTBot, OAI-SearchBot, ChatGPT-User(OpenAI), ClaudeBot, Claude-User(Anthropic), PerplexityBot: AI 크롤러와 사용자 요청 기반 수집기로, 각 운영사가 문서화했으며 robots.txt로 제어할 수 있습니다.
• facebookexternalhit, Twitterbot, LinkedInBot, Slackbot, Discordbot: 누군가 URL을 공유하면 링크 미리보기를 만들려고 페이지를 가져옵니다.
• curl/, Wget/, python-requests/, Go-http-client/, okhttp/: 스크립트와 백엔드 서비스. 반드시 악의적인 것은 아니지만 브라우저를 쓰는 사람도 아닙니다.
관련 무료 도구
- HTTP 상태 코드 — 100부터 511까지 모든 공식 HTTP 상태 코드와 nginx, Cloudflare, AWS 코드, 그리고 각각 언제 쓰는지 정리했습니다.
- 정규식 테스터 — 실시간 매치 강조, 캡처 그룹, 치환 미리보기로 정규 표현식을 샘플 텍스트에 테스트하세요. 무료, 브라우저에서 실행.
- JSON 포매터 — JSON을 보기 좋게 정렬하고, 압축하고, 검증하세요. 파싱 오류는 줄과 열 위치까지 알려 줍니다. 브라우저에서 실행, 업로드 없음.
- robots.txt 생성기 — 모두 허용, 스테이징, WordPress 프리셋과 AI 크롤러 섹션(학습은 차단, AI 검색은 유지)으로 robots.txt를 만들고, 사이트를 색인에서 빠지게 만드는 실수를 경고받으세요.