개발자

User-Agent 파서

User-Agent 문자열을 브라우저·OS·기기로 분해

User-Agent 문자열을 입력하면 실시간으로 분석됩니다.Analysis updates in real time as you type a User-Agent string.

User-Agent 파서란?

User-Agent 파서는 브라우저가 서버에 보내는 UA(User-Agent) 문자열을 정규식으로 분석해 브라우저 이름·버전, 렌더링 엔진, 운영체제·버전, 기기 유형, 봇(크롤러) 여부를 표로 보여주는 도구입니다. 페이지에 들어오면 현재 브라우저의 UA가 자동으로 채워집니다.

각 항목 설명
  • 브라우저: Chrome, Edge, Firefox, Safari, Samsung Internet, Opera 등과 버전 번호입니다.
  • 렌더링 엔진: 페이지를 그리는 엔진으로 Blink(Chrome·Edge·Opera 계열), Gecko(Firefox), WebKit(Safari) 등입니다.
  • 운영체제: Windows, macOS, iOS, Android, Linux 등과 확인 가능한 경우 버전입니다.
  • 기기 유형: UA 문자열의 키워드로 추정한 데스크톱·모바일·태블릿 구분입니다.
  • 봇 여부: bot, crawl, spider 등 크롤러 관련 키워드 포함 여부로 판단합니다.
개인정보·처리 방식

모든 분석은 브라우저 내 정규식 처리만으로 이루어집니다. 입력한 User-Agent 문자열은 서버로 전송되거나 저장되지 않습니다.

UA 문자열의 역사: 왜 다들 'Mozilla/5.0'으로 시작할까

대부분의 브라우저 UA는 여전히 Mozilla/5.0으로 시작합니다. 이는 1990년대 브라우저 전쟁의 흔적입니다. 당시 웹사이트들이 "Mozilla"(넷스케이프)를 지원 브라우저로 확인하는 방식으로 콘텐츠를 분기했는데, 마이크로소프트 인터넷 익스플로러가 같은 콘텐츠를 받기 위해 자신의 UA에도 Mozilla/4.0 (compatible; MSIE ...)처럼 호환 표기를 끼워 넣었습니다. 이후 등장한 사파리·크롬 등도 서로의 UA를 흉내 내며 AppleWebKit·like Gecko·Safari/537.36 같은 다른 엔진의 이름표를 함께 붙이는 관행이 굳어져, 오늘날의 UA 문자열은 실제 엔진과 무관한 레거시 토큰이 뒤섞인 상태로 남아 있습니다.

UA 파싱이 깨지기 쉬운 이유와 Client Hints로의 전환

바로 이 역사적 누적 때문에 UA 정규식 파싱은 쉽게 깨집니다. 예를 들어 크롬 UA에는 Chrome/ 토큰과 함께 항상 Safari/537.36 토큰이 들어 있어, "Safari 포함 여부"만으로 판별하면 크롬을 사파리로 오인합니다. 이 도구도 코드에서 Edge → Opera → Samsung Internet → Firefox → Chrome → Safari 순으로 더 구체적인 토큰을 먼저 검사하는 순서에 의존합니다(예: Edge는 Chrome 토큰도 함께 갖고 있어 먼저 걸러내지 않으면 Chrome으로 오분류됩니다). 이런 취약성 때문에 구글은 UA 문자열 대신 User-Agent Client Hints(navigator.userAgentData, Sec-CH-UA 헤더)로 점진적으로 전환을 유도하고 있습니다. Client Hints는 브랜드·플랫폼 정보를 정규식 추측이 아닌 구조화된 값으로 제공하지만, 2026년 현재도 Firefox·Safari는 지원하지 않아 이 도구는 두 방식을 함께 보여줍니다.

What is this tool?

The User-Agent parser analyzes the UA string a browser sends to a server, using regular expressions to extract browser name and version, rendering engine, operating system and version, device type, and whether it looks like a bot (crawler). Your current browser's UA is filled in automatically when the page loads.

What each field means
  • Browser: Chrome, Edge, Firefox, Safari, Samsung Internet, Opera, etc., with the version number.
  • Engine: the rendering engine — Blink (Chrome/Edge/Opera family), Gecko (Firefox), WebKit (Safari), etc.
  • OS: Windows, macOS, iOS, Android, Linux, etc., with version when detectable.
  • Device type: desktop, mobile, or tablet, estimated from keywords in the UA string.
  • Bot: determined by whether crawler-related keywords such as bot, crawl, or spider appear.
Privacy & processing

All parsing happens with regular expressions in your browser only. Your User-Agent string is never uploaded or stored.

The history behind "Mozilla/5.0" — why every UA starts that way

Nearly every browser's UA still starts with Mozilla/5.0 — a relic of the 1990s browser wars. Sites back then branched content by checking whether a browser identified as "Mozilla" (Netscape), so Microsoft's Internet Explorer inserted a compatibility token like Mozilla/4.0 (compatible; MSIE ...) into its own UA to receive the same content. Safari, Chrome, and others that followed kept mimicking each other's UA tokens too, tacking on unrelated engine labels like AppleWebKit, like Gecko, and Safari/537.36 — leaving today's UA strings full of legacy tokens that have nothing to do with the actual rendering engine.

Why UA parsing breaks easily, and the shift to Client Hints

That historical baggage is exactly why regex-based UA parsing is fragile. Chrome's UA, for instance, always includes a Safari/537.36 token alongside Chrome/, so checking for "contains Safari" alone would misidentify Chrome as Safari. This tool relies on checking more specific tokens first — Edge → Opera → Samsung Internet → Firefox → Chrome → Safari — because Edge's UA also contains a Chrome token and would be misclassified if not filtered out first. This fragility is why Google is nudging the ecosystem toward User-Agent Client Hints (navigator.userAgentData, the Sec-CH-UA headers) instead of UA strings. Client Hints expose brand and platform data as structured values rather than regex guesses, but as of 2026 Firefox and Safari still don't support it, so this tool shows both side by side.

User-Agent 파서는 무엇을 해주나요?
User-Agent 문자열 하나를 입력하면 브라우저 이름·버전, 렌더링 엔진(Blink/Gecko/WebKit), 운영체제·버전, 기기 유형(데스크톱/모바일/태블릿), 봇(크롤러) 여부를 정규식으로 분석해 표로 보여줍니다.
내 브라우저의 User-Agent는 어떻게 확인하나요?
페이지에 들어오면 현재 브라우저의 navigator.userAgent 값이 입력창에 자동으로 채워집니다. 다른 UA 문자열을 분석하려면 입력창을 지우고 붙여넣으면 실시간으로 다시 분석됩니다.
봇(크롤러) 여부는 어떻게 판단하나요?
UA 문자열에 bot, crawl, spider 등 크롤러를 나타내는 대표적인 키워드가 포함되어 있는지 정규식으로 확인합니다. 검색엔진 크롤러나 미리보기 봇 등은 대부분 UA에 이런 키워드를 포함합니다.
userAgentData는 무엇이고 왜 같이 표시되나요?
일부 최신 브라우저(Chromium 계열)는 navigator.userAgentData API로 브랜드·플랫폼 정보를 구조화된 형태로 제공합니다. 지원하는 브라우저에서는 UA 문자열 분석 결과와 함께 참고용으로 보조 표시됩니다.
입력한 User-Agent 문자열이 서버로 전송되나요?
아니요. 모든 분석은 브라우저 내 정규식 처리만으로 이루어지며, 입력한 문자열은 서버로 전송되거나 저장되지 않습니다.
왜 대부분의 UA는 'Mozilla/5.0'으로 시작하나요?
1990년대 브라우저 전쟁 당시 웹사이트가 'Mozilla'(넷스케이프) 지원 여부로 콘텐츠를 분기했고, 이후 등장한 IE·사파리·크롬 등이 같은 콘텐츠를 받기 위해 UA에 호환 표기를 계속 끼워 넣은 관행이 오늘날까지 이어진 역사적 흔적입니다.
UA 파싱이 잘못될 수 있는 대표적인 이유는 무엇인가요?
크롬 UA에도 Safari/537.36 토큰이 포함되는 등 여러 브라우저 이름표가 뒤섞여 있어, 정규식으로 판별할 때 검사 순서가 틀리면 다른 브라우저로 오분류됩니다. 이 도구도 Edge→Opera→Chrome→Safari 순으로 더 구체적인 토큰을 먼저 검사해 이런 오분류를 피합니다.
User-Agent Client Hints는 UA 문자열과 어떻게 다른가요?
User-Agent Client Hints(navigator.userAgentData)는 브랜드·플랫폼 정보를 정규식 추측이 아닌 구조화된 값으로 직접 제공합니다. 다만 2026년 현재 Firefox·Safari는 지원하지 않아 UA 문자열 분석과 함께 보조적으로만 쓰입니다.
What does the User-Agent parser do?
Enter a User-Agent string and it uses regular expressions to extract the browser name and version, rendering engine (Blink/Gecko/WebKit), operating system and version, device type (desktop/mobile/tablet), and whether it looks like a bot/crawler, shown in a table.
How do I check my own browser's User-Agent?
When the page loads, the current browser's navigator.userAgent value is filled into the input automatically. To analyze a different UA string, clear the field and paste it in — it re-analyzes in real time.
How is bot/crawler detection decided?
The UA string is checked with a regular expression for common crawler keywords such as bot, crawl, and spider. Search engine crawlers and preview bots typically include such keywords in their UA.
What is userAgentData and why is it shown too?
Some modern Chromium-based browsers expose brand and platform info in a structured form via the navigator.userAgentData API. Where supported, it is shown alongside the UA string analysis for reference.
Is my User-Agent string sent to a server?
No. All parsing is done with regular expressions in your browser only; the string you enter is never sent to a server or stored.
Why does almost every UA start with "Mozilla/5.0"?
During the 1990s browser wars, sites branched content based on whether a browser identified as "Mozilla" (Netscape). Later browsers like IE, Safari, and Chrome kept inserting compatibility tokens into their UA to receive the same content, a habit that persists today.
What's a common reason UA parsing gets it wrong?
Chrome's UA also includes a Safari/537.36 token, so checking browser order incorrectly with regex can misclassify one browser as another. This tool avoids that by checking more specific tokens first, in the order Edge → Opera → Chrome → Safari.
How do User-Agent Client Hints differ from the UA string?
User-Agent Client Hints (navigator.userAgentData) exposes brand and platform info as structured data instead of regex guesses. As of 2026, Firefox and Safari don't support it, so it's shown only as a supplement to UA string parsing.