User-Agent 파서란?
User-Agent(UA)는 웹 브라우저가 서버에 요청을 보낼 때 함께 전달하는 문자열로, 어떤 브라우저·운영체제·기기에서 접속했는지를 나타냅니다. 다만 그 형식은 역사적인 이유로 매우 복잡하고 길어서 사람이 한눈에 읽기 어렵습니다. 이 도구는 입력한 User-Agent 문자열을 자체 정규식으로 분석해 브라우저와 버전, 운영체제와 버전, 기기 유형, 렌더링 엔진을 보기 좋게 정리해 보여줍니다.
사용법
- 입력란에는 현재 브라우저의 User-Agent가 자동으로 채워져 있습니다. 다른 값을 분석하려면 해당 문자열을 붙여넣으세요.
- 입력하는 즉시 아래 표에 브라우저·OS·기기·엔진이 분석되어 표시됩니다.
- 각 항목 오른쪽의 복사 버튼으로 결과를 따로 복사할 수 있습니다.
- 다시 내 브라우저 정보를 보고 싶다면 내 UA 불러오기 버튼을 누르세요.
분석 항목
- 브라우저 — Chrome, Firefox, Safari, Edge, Opera, Samsung Internet 등 주요 브라우저와 버전을 추출합니다.
- 운영체제 — Windows, macOS, Android, iOS(iPhone·iPad), Linux 등과 버전을 추출합니다.
- 기기 유형 — 데스크톱 / 모바일 / 태블릿 여부를 판별합니다.
- 렌더링 엔진 — Blink, WebKit, Gecko, EdgeHTML 등 화면을 그리는 엔진을 표시합니다.
- 봇/크롤러 — Googlebot·Bingbot·네이버 Yeti 등 검색 크롤러와 GPTBot·ClaudeBot 같은 AI 크롤러, 자동화 도구(HeadlessChrome·curl 등)를 판별합니다.
- Client Hints — 최신 Chromium 브라우저라면
navigator.userAgentData기반의 구조화된 정보(플랫폼 버전·아키텍처·기기 모델 등)도 함께 보여줍니다.
User-Agent 문자열의 구조
흔히 보는 크롬의 UA는 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 형태입니다. 각 조각의 뜻은 다음과 같습니다.
- Mozilla/5.0 — 거의 모든 브라우저가 붙이는 역사적 잔재입니다. 과거 서버들이 특정 브라우저에만 최신 화면을 내려 주던 시절의 흔적이라 실제 정보는 없습니다.
- 괄호 안 — 운영체제와 플랫폼 정보입니다.
Windows NT 10.0은 윈도우 10 또는 11,Macintosh; Intel Mac OS X 10_15_7은 macOS,Linux; Android 14는 안드로이드입니다. - AppleWebKit / KHTML, like Gecko — 렌더링 엔진 계열 표기이며 이 역시 호환성을 위해 남아 있습니다.
- 제품 토큰 —
Chrome/120.0.0.0,Firefox/125.0처럼 실제 브라우저와 버전을 나타내는 부분입니다.
브라우저를 판별하는 순서
대부분의 브라우저가 호환성 때문에 다른 브라우저 이름을 함께 넣기 때문에, 문자열에 Chrome이 있다고 곧바로 크롬이라고 볼 수 없습니다. 그래서 이 도구는 더 구체적인 이름을 먼저 확인합니다. Edge(Edg) → Opera(OPR) → 삼성 인터넷 → UC 브라우저 → 웨일 → 파이어폭스 → 인터넷 익스플로러(MSIE·Trident) → 크롬 계열 → 사파리 순으로 검사하며, 앞에서 걸리면 뒤는 보지 않습니다. 엔진도 비슷한 방식으로 판별하는데, iOS에서는 어떤 브라우저를 쓰든 시스템 WebKit을 사용하므로 CriOS·FxiOS가 보이면 Blink가 아니라 WebKit으로 표시합니다.
Client Hints와 축약된 UA
최근 크로미움 계열 브라우저는 개인정보 보호를 이유로 UA 문자열을 점점 뭉뚱그려 내보냅니다. 마이너 버전을 0으로 고정하거나 운영체제 버전을 대표값으로 바꾸는 식입니다. 대신 User-Agent Client Hints라는 구조화된 정보를 제공하는데, 브라우저에서는 navigator.userAgentData로, 서버에서는 Sec-CH-UA 계열 요청 헤더로 받을 수 있습니다. 플랫폼 버전·아키텍처·기기 모델처럼 민감도가 높은 값은 별도 요청이 필요해 이 도구에서도 잠시 뒤에 채워집니다. 이 정보는 지금 보고 있는 브라우저의 값이라 입력칸에 붙여넣은 문자열과는 무관합니다.
자주 하는 실수와 주의점
- UA는 누구나 바꿔 보낼 수 있습니다. 인증이나 과금처럼 중요한 판단을 UA에 의존해서는 안 됩니다.
- 기능이 있는지 확인할 때는 UA로 브라우저를 추측하지 말고 해당 기능을 직접 검사하는 방식이 안전합니다.
- 아이패드는 데스크톱 사파리와 같은 UA를 보내는 경우가 많아 macOS 데스크톱으로 잘못 분류될 수 있습니다.
- 봇 판별도 문자열에 의존하므로, 이름을 감춘 크롤러는 걸러지지 않습니다. 접근 패턴이나 IP 정보와 함께 보는 것이 좋습니다.
- UA에는 버전 정보가 담기므로 접속자 통계에 활용할 수 있지만, 여러 값을 조합하면 개인을 식별하는 지문이 될 수 있다는 점도 함께 고려해야 합니다.
자주 묻는 질문
입력한 User-Agent가 서버로 전송되나요?
아니요. 모든 분석은 브라우저 내에서 자체 정규식으로만 이루어지며 입력한 문자열은 서버로 전송되거나 저장되지 않습니다. 안심하고 사용하세요.
내 브라우저의 User-Agent는 어떻게 확인하나요?
입력란에는 처음부터 현재 브라우저의 User-Agent가 자동으로 채워집니다. 다른 값을 입력한 뒤 다시 보고 싶다면 내 UA 불러오기 버튼을 누르면 됩니다.
분석 결과가 실제와 다를 수 있나요?
User-Agent 문자열은 표준이 느슨하고 브라우저마다 형식이 달라 일부 항목이 정확히 추출되지 않을 수 있습니다. 또한 최신 브라우저는 개인정보 보호를 위해 버전·OS 정보를 축약(reduced UA)하기도 합니다. 참고용으로 사용하세요.
Safari인데 Chrome으로 잘못 나와요
대부분의 브라우저는 호환성을 위해 UA에 다른 브라우저 이름을 함께 포함합니다. 이 도구는 Edg, SamsungBrowser, OPR 같은 구체적인 이름을 Chrome보다 먼저 검사하는 우선순위 규칙으로 정확도를 높이지만, 변형된 문자열에서는 오판이 있을 수 있습니다.
Mozilla/5.0은 왜 모든 브라우저에 붙어 있나요?
과거 일부 서버가 특정 브라우저에만 최신 화면을 내려 주던 시절, 다른 브라우저들이 호환성을 위해 같은 토큰을 붙이기 시작한 것이 지금까지 남은 것입니다. 실제 브라우저 정보를 담고 있지 않으므로 판별에는 사용하지 않습니다.
Client Hints는 무엇인가요?
축약되는 User-Agent 문자열을 대신하는 구조화된 브라우저 정보입니다. 브라우저에서는 navigator.userAgentData로, 서버에서는 Sec-CH-UA 계열 요청 헤더로 받을 수 있습니다. 플랫폼 버전이나 기기 모델처럼 민감도가 높은 값은 별도 요청이 필요합니다.
User-Agent로 접근을 차단해도 되나요?
보조 수단으로만 쓰는 것이 좋습니다. UA는 누구나 바꿔 보낼 수 있어 이름을 감춘 크롤러는 걸러지지 않고, 정상 사용자가 차단될 위험도 있습니다. 접근 패턴이나 IP 정보와 함께 판단하세요.