본문으로 건너뛰기

랜덤 사용자 에이전트 생성기 - 브라우저 문자열 생성

크롬, 파이어폭스, 사파리, 엣지 등 데스크톱과 모바일 브라우저의 실제와 유사한 사용자 에이전트 문자열을 무작위로 생성하는 무료 도구다. 다양한 브라우저 식별자로 웹사이트의 호환성 테스트와 반응형 디자인 검증, API 개발 및 자동화 테스트에 활용된다.

랜덤 사용자 에이전트 생성기

웹 개발 테스트를 위한 랜덤하고 현실적인 브라우저 사용자 에이전트 문자열을 생성합니다.

생성된 사용자 에이전트

로딩 계산기...
📚

문서화

무작위 사용자 에이전트 생성기

무작위 사용자 에이전트 생성기는 웹 브라우저가 자신을 식별하기 위해 웹사이트에 보내는 짧은 텍스트 줄인 사용자 에이전트 문자열의 예를 만듭니다. 이 도구는 데스크톱과 모바일 기기에서 Chrome, Firefox, Safari, Edge가 사용하는 실제 형식에 맞는 문자열을 생성하므로, 개발자는 각 브라우저를 설치하지 않고도 사이트가 여러 브라우저에 어떻게 응답하는지 테스트할 수 있습니다.

사용자 에이전트 문자열이란?

브라우저는 웹 페이지를 요청할 때마다 User-Agent HTTP 헤더를 보냅니다. 이 헤더는 브라우저 이름과 버전, 운영 체제, 렌더링 엔진(페이지를 그리는 브라우저의 구성 요소)을 설명하는 한 줄의 텍스트입니다. 웹사이트는 이 헤더를 읽고 어떤 페이지 레이아웃이나 기능을 전송할지 결정할 수 있습니다.

일반적인 사용자 에이전트 문자열은 다음과 같습니다.

1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
2

거의 모든 브라우저는 문자열을 "Mozilla/5.0"으로 시작합니다. 이는 웹사이트가 페이지를 볼 수 있을 만큼 브라우저가 충분히 지원되는지 판단하기 위해 해당 단어를 확인하던 1990년대의 흔적입니다. 최신 브라우저는 오래된 확인 방식에 의해 차단되지 않도록 이 토큰을 유지했습니다.

이 생성기의 작동 방식

이 도구에는 세 가지 설정이 있습니다.

  1. 기기 유형 – 데스크톱 또는 모바일
  2. 브라우저 계열 – Chrome, Firefox, Safari 또는 Edge
  3. 운영 체제 – 데스크톱은 Windows, macOS 또는 Linux, 모바일은 iOS 또는 Android

실제로 존재하지 않는 조합도 있으므로 이 도구는 선택지를 제한합니다. Apple은 Windows, Linux 또는 Android용 Safari를 제공하지 않기 때문에 Safari는 macOS와 iOS에서만 표시됩니다. Chrome, Firefox, Edge는 iOS를 포함해 나열된 모든 운영 체제에서 사용할 수 있지만, iOS에서는 자체 엔진이 아니라 Apple의 WebKit 엔진 위에서 동작하는 외피 형태로 실행됩니다.

"새로 생성"을 클릭하면 이 세 가지 설정과 무작위로 선택된 버전 번호를 바탕으로 문자열이 생성됩니다. "복사" 버튼은 결과를 클립보드에 복사합니다.

브라우저별 사용자 에이전트 문자열 형식

각 브라우저는 자체 토큰을 포함한 비슷한 템플릿을 사용합니다.

Chrome(데스크톱):

1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Safari/537.36
2

Chrome(Android):

1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Mobile Safari/537.36
2

Chrome(iOS):

1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/major.0.build.build Mobile/15E148 Safari/604.1
2

Firefox(데스크톱):

1Mozilla/5.0 (platform; rv:major.0) Gecko/20100101 Firefox/major.0
2

Firefox(Android):

1Mozilla/5.0 (Android version; Mobile; rv:major.0) Gecko/major.0 Firefox/major.0
2

Firefox(iOS):

1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/major.0 Mobile/15E148 Safari/605.1.15
2

Safari(macOS):

1Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/major.minor Safari/605.1.15
2

Safari(iOS):

1Mozilla/5.0 (iPhone; CPU iPhone OS major_minor like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/major.minor Mobile/15E148 Safari/604.1
2

Edge(데스크톱):

1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Safari/537.36 Edg/major.0.build.build
2

Edge(Android):

1Mozilla/5.0 (platform) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/major.0.0.0 Mobile Safari/537.36 EdgA/major.0.build.build
2

Edge(iOS):

1Mozilla/5.0 (platform) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/major.minor EdgiOS/major.0.build.build Mobile/15E148 Safari/605.1.15
2

Apple은 모든 iOS 브라우저가 WebKit을 사용하도록 요구하므로 위의 iOS 형식은 Safari의 AppleWebKit/605.1.15 엔진 토큰을 공유하고 브라우저별 표시를 추가합니다. Chrome은 CriOS/, Firefox는 FxiOS/, Edge는 EdgiOS/입니다. 이들 중 어느 것도 Chrome/ 또는 Gecko/ 토큰을 포함하지 않습니다. iOS의 Safari와 Edge는 Version/ 토큰도 보내는데, 이 토큰은 운영 체제와 함께 제공된 Safari 버전을 나타내므로 같은 문자열의 iOS 버전과 항상 일치합니다.

2021년부터 Edge와 같은 Chrome 및 Chromium 기반 브라우저는 헤더에 포함되는 식별 정보를 줄이기 위해 데스크톱과 Android에서 버전 번호 대부분을 고정했습니다. Google은 이를 "사용자 에이전트 축소"라고 부릅니다. 이 문자열에서 Chrome 토큰은 실제 빌드 번호 대신 항상 major.0.0.0(예: 128.0.0.0)으로 표시되며, 이 생성기도 같은 동작을 따릅니다. 예외는 Edge 자체의 토큰인 데스크톱의 Edg/, Android의 EdgA/, iOS의 EdgiOS/와 iOS에서 실행되는 Chrome(CriOS/)입니다. 이들은 Google의 축소 정책이 적용되지 않으므로 여전히 네 부분으로 된 전체 빌드 번호를 포함합니다.

Firefox는 같은 방식의 버전 고정을 적용하지 않았습니다. 실제 버전 문자열은 보통 major.0처럼 두 부분으로만 구성되며, 생성기도 이 형식을 만듭니다. 보안 패치 후에는 95.0.2와 같은 세 부분짜리 Firefox 버전이 실제 환경에 나타날 수 있지만, 이 도구는 두 부분 형식만 생성합니다.

출력 예

Windows의 데스크톱 Chrome:

1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36
2

macOS의 데스크톱 Firefox:

1Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:130.0) Gecko/20100101 Firefox/130.0
2

macOS의 데스크톱 Safari:

1Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15
2

Windows의 데스크톱 Edge:

1Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.2903.86
2

Android의 모바일 Chrome:

1Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36
2

Android의 모바일 Edge:

1Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Mobile Safari/537.36 EdgA/128.0.2952.62
2

iPhone의 모바일 Safari:

1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Mobile/15E148 Safari/604.1
2

Android의 모바일 Firefox:

1Mozilla/5.0 (Android 13; Mobile; rv:130.0) Gecko/130.0 Firefox/130.0
2

iPhone의 모바일 Chrome:

1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/128.0.6613.98 Mobile/15E148 Safari/604.1
2

iPhone의 모바일 Firefox:

1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) FxiOS/130.0 Mobile/15E148 Safari/605.1.15
2

iPhone의 모바일 Edge:

1Mozilla/5.0 (iPhone; CPU iPhone OS 17_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 EdgiOS/128.0.2952.62 Mobile/15E148 Safari/605.1.15
2

데스크톱과 모바일의 차이

데스크톱 문자열은 운영 체제와 함께 프로세서 아키텍처를 표시하는 경우가 많습니다. 예를 들어 64비트 Windows는 Win64; x64로, Mac은 Intel Mac OS X로 표시됩니다. 표현해야 할 데스크톱 플랫폼이 몇 가지뿐이므로 형식이 대체로 일정합니다.

모바일 문자열은 사이트가 터치에 적합한 레이아웃을 제공할 수 있도록 보통 "Mobile"이라는 단어를 추가합니다. iOS 기기는 iOS 버전과 함께 "iPhone"으로 자신을 식별하며, 버전은 밑줄을 사용해 표기합니다(17_4). 끝의 0 패치는 생략하므로 17_4_0이 아니라 17_4로 표시됩니다. Android는 다릅니다. Chrome과 Edge는 Chrome 빌드 번호에 적용되는 것과 같은 버전 축소 정책 때문에 실제 Android 버전이나 사용 중인 휴대전화 모델과 관계없이 플랫폼을 항상 Linux; Android 10; K로 보고합니다. "K"는 실제 기기 코드가 아닌 자리 표시자이며, 실제 Android 버전은 숨겨집니다. Android용 Firefox는 버전을 같은 방식으로 고정하지 않고 실제 Android 주 버전을 보고하지만 기기 모델은 전혀 포함하지 않습니다. Android Chrome 문자열에 Galaxy 모델 번호와 같은 특정 휴대전화 모델을 표시하는 생성기는 실제 최신 Chrome의 동작과 일치하지 않습니다.

사용자 에이전트 문자열이 혼란스러워 보이는 이유

이 문자열이 복잡해 보이는 이유는 수십 년에 걸친 호환성 패치 때문입니다. 1990년대 후반의 "브라우저 전쟁" 당시 일부 사이트는 헤더의 키워드를 확인해 Netscape에만 또는 Internet Explorer에만 더 나은 페이지를 보냈습니다. 경쟁 브라우저들은 거부되지 않도록 자체 문자열에 같은 키워드를 추가했습니다. 그래서 Chrome은 해당 이름의 엔진을 사용하지 않는데도 문자열에 "Safari"와 "like Gecko"가 여전히 표시됩니다. 각 토큰은 소프트웨어를 정확히 설명하기보다는 오래된 호환성 확인을 통과하기 위해 남아 있는 흔적입니다.

여전히 많은 사이트가 이 문자열을 분석하므로 브라우저 제조업체는 페이지를 손상시키지 않고 복잡한 부분을 단순히 제거할 수 없습니다. 장기적인 대체 방식인 User-Agent Client Hints는 하나의 긴 문자열 대신 브라우저 정보를 별도의 구조화된 헤더로 보내지만, 고전적인 User-Agent 헤더는 하위 호환성을 위해 여전히 어디서나 전송됩니다.

일반적인 활용

  • 호환성 테스트. 해당 브라우저를 설치하지 않고도 페이지가 특정 브라우저를 감지했을 때 어떻게 렌더링되는지 확인합니다.
  • 반응형 디자인 확인. 사이트가 모바일 사용자 에이전트를 받으면 모바일 레이아웃을, 그렇지 않으면 데스크톱 레이아웃을 제공하는지 확인합니다.
  • 자동화된 테스트 모음. 다양한 사용자 에이전트 문자열을 테스트 스크립트에 입력해 브라우저 감지 코드가 각각을 올바르게 처리하는지 확인합니다.
  • API 및 헤더 테스트. 서로 다른 클라이언트 유형이 요청을 보낼 때 서버가 올바르게 동작하는지 검증합니다.

한계

사용자 에이전트 헤더는 웹사이트가 읽을 수 있는 여러 신호 중 하나일 뿐입니다. 페이지에서 실행되는 스크립트는 설치된 글꼴, 화면 크기, 그래픽 카드가 테스트 이미지를 렌더링하는 방식 등 수십 가지 다른 정보를 확인할 수 있으며, 이러한 기법을 지문 수집이라고 합니다. 실제로 Firefox를 사용하면서 Chrome 사용자 에이전트를 설정해도 다른 신호를 확인하는 사이트를 속일 수는 없습니다. 불일치는 쉽게 감지됩니다. 다만 일상적인 개발 및 품질 보증 작업에서는 올바른 형식으로 생성된 문자열만으로도 사이트의 서버와 클라이언트 코드가 여러 브라우저와 기기에 어떻게 반응하는지 테스트할 수 있습니다.

자주 묻는 질문

사용자 에이전트 문자열이란? 브라우저가 모든 웹 요청과 함께 보내는 한 줄의 텍스트로, 브라우저와 버전, 운영 체제, 렌더링 엔진을 나타냅니다. 서버는 이를 사용해 반환할 콘텐츠나 레이아웃을 결정합니다.

Chrome 버전은 왜 항상 .0.0.0으로 끝나나요? 2021년부터 Chrome은 지문 수집을 줄이기 위해 User-Agent 헤더에서 보고하는 버전 번호 대부분을 고정했습니다. 변경되는 것은 주 버전 번호뿐이며 나머지는 .0.0.0으로 고정됩니다. Edge 자체의 토큰과 iOS의 모든 브라우저는 예외로, 전체 빌드 번호를 계속 표시합니다.

다른 브라우저를 선택해도 iPhone 문자열에 왜 "Safari"가 표시되나요? Apple은 모든 iOS 브라우저가 자사의 WebKit 엔진을 사용하도록 요구하므로 iOS의 Chrome, Firefox, Edge는 모두 WebKit을 보고하고 Safari/ 토큰으로 끝납니다. 브라우저는 별도의 표시로 식별됩니다. Chrome은 CriOS/, Firefox는 FxiOS/, Edge는 EdgiOS/입니다.

Android 문자열에 내 휴대전화 모델이 표시되지 않는 이유는 무엇인가요? 최신 Chrome과 Edge는 Android에서 Chrome 빌드 번호에 적용되는 것과 같은 버전 축소 정책의 일부로 모든 기기와 실제 Android 버전에 대해 고정된 플랫폼 문자열 Linux; Android 10; K를 보고합니다. 실제 모델과 Android 버전은 공개되지 않습니다.

생성된 사용자 에이전트를 웹 스크래핑에 사용할 수 있나요? 헤더를 변경할 수는 있지만 사이트는 다른 신호를 통해 불일치를 감지할 수 있으며, 스크래핑은 사이트의 서비스 약관이나 robots.txt 규칙을 위반할 수 있습니다. 스크래핑하기 전에 해당 사이트의 정책을 확인하십시오.

생성된 문자열은 실제 기기의 문자열과 동일한가요? 해당 유형의 실제 브라우저와 같은 형식 및 토큰 순서를 따릅니다. Android에서 Chrome과 Edge의 버전이 고정되므로 생성된 Android Chrome 문자열과 실제 문자열은 플랫폼 부분에서 동일할 수 있습니다. 실제 기기도 같은 고정값을 보고하기 때문입니다.

Client Hints란 무엇이며 사용자 에이전트 문자열을 대체하나요? Client Hints는 브라우저와 기기 정보를 하나의 결합된 문자열 대신 별도의 HTTP 헤더로 보내는 새로운 시스템입니다. 브라우저는 이 기능에 대한 지원을 추가하고 있지만, 기존 웹사이트 다수가 여전히 의존하고 있으므로 고전적인 User-Agent 헤더는 널리 사용됩니다.