개발자 도구

Browserslist 쿼리

지원 범위를 버전 목록으로 확인하세요. 비교를 켜면 두 조건의 차이도 볼 수 있습니다.

Browserslist 쿼리

쿼리 A

대상 버전

A에 쿼리를 입력하세요.

쿼리는 브라우저 안에서 처리하며 전송하거나 저장하지 않습니다.

옵션 및 데이터

쿼리 텍스트만 입력하세요. 쉼표나 줄바꿈으로 구분하며 # 뒤는 주석입니다.

각 입력은 10000자, 100개 조건까지 허용합니다. 처리 제한은 5초입니다.

포함된 글로벌 통계이며 실시간 트래픽이나 사이트 방문자 분포가 아닙니다. 새로고침으로 갱신되지 않습니다.

Browserslist 4.28.9 · caniuse-lite 1.0.30001810 · Baseline 2.11.21

대상 분석 중…

빌드 설정의 쉼표 하나를 바꿨는데 지원 브라우저가 크게 달라질 수 있습니다. Browserslist 쿼리를 먼저 실행하면 조건이 실제로 어떤 버전을 선택하는지 확인할 수 있습니다. and를 일반적인 논리식의 우선순위로 읽으면 결과를 잘못 예상하기 쉽습니다.

공식 엔진이 돌려주는 브라우저 식별자와 버전 범위를 그대로 표시합니다. 동료의 환경이나 CI 결과가 다르면 쿼리뿐 아니라 데이터 버전도 비교하세요. 같은 점유율처럼 보이더라도 서로 다른 버전 집합일 수 있으므로 숫자만으로 판단하지 않는 편이 좋습니다.

Browserslist 쿼리 변경의 근거 확인

조건이 누적되는 과정을 확인

Browserslist 쿼리 설명은 각 조건을 적용한 뒤 남은 버전 수를 보여 줍니다. 쉼표와 or는 합집합, and는 앞에서 만든 전체 집합과의 교집합, not은 제외 연산입니다. defaults를 펼치면 짧은 이름에 포함된 기본 조건도 확인할 수 있습니다.

필터를 거치며 브라우저 카드가 목록에 추가되고 제외 조건에 맞는 카드가 빠지는 모습.

전체 개수가 같아도 차이를 발견

현재 규칙을 A에, 변경안을 B에 넣어 추가·제외·공통 버전을 확인하세요. 비교는 브라우저와 버전 식별자 전체를 기준으로 합니다. 같은 브라우저 이름이라고 합치지 않으며 Safari의 버전 범위도 임의로 패치 버전으로 분해하지 않습니다.

두 브라우저 카드 집합의 공통 항목이 가운데 있고 고유 항목이 양옆에 배치된 모습.

조건을 검토할 때 놓치기 쉬운 세 가지

01

원하는 환경의 조건만 가져오기

쉼표 또는 줄바꿈으로 나눈 쿼리 텍스트를 사용하세요. # 뒤는 주석이며 and나 or로 끝난 줄은 다음 내용과 이어집니다. package.json 전체나 환경 구역은 받지 않으므로 production 또는 development에 해당하는 조건을 직접 골라야 합니다.

02

비교 방향 정하기

A는 defaults로 시작합니다. 비교를 켜면 last 2 versions가 입력된 B가 나타납니다. 추가는 B에만 있는 버전, 제외는 A에만 있는 버전, 공통은 양쪽의 교집합입니다. 이 개수는 점유율의 퍼센트포인트 변화와 다릅니다.

03

최신 결과인지 확인한 뒤 저장

자동 실행은 입력이 멈춘 뒤 350ms 후에 시작합니다. 끄면 실행 버튼이나 Ctrl/Cmd + Enter를 사용할 수 있습니다. 입력 또는 비교 설정을 바꾸면 내보내기가 즉시 비활성화됩니다. 화면에서 50개만 보여도 JSON에는 전체 결과가 들어갑니다.

문법과 버전, 데이터 근거를 함께 보기

공식 엔진의 선택 방식

브라우저 별칭, 버전 범위, 최근 버전, ESR, 글로벌 사용률 조건, cover와 포함된 Baseline 매핑을 공식 엔진으로 처리합니다. 조건은 순서대로 누적되므로 일반 논리식처럼 and를 or보다 먼저 묶어서 평가하지 않습니다.

입력 줄과 연결되는 설명

A와 B의 설명을 펼치면 원문 조건, 입력 줄 번호, 집합 연산과 적용 후 개수가 나타납니다. defaults는 내부 기본 규칙도 보여 줍니다. 이는 대상 선택 과정이며 브라우저의 개별 기능이나 웹사이트 코드를 실행해 검사하는 기능은 아닙니다.

버전 정보가 포함된 보고서

JSON은 원문과 정규화된 쿼리, 모든 브라우저 버전, 단계별 개수, 차이, 글로벌 점유율, 세 의존성 버전을 보관합니다. 생성 시각은 계산한 때를 뜻합니다. 데이터가 그 시각에 배포되거나 업데이트되었다는 뜻은 아닙니다.

오류를 숨기지 않는 입력 처리

알 수 없는 버전이나 지원하지 않는 조건은 명시적으로 실패합니다. 조건을 빼고 성공한 것처럼 표시하지 않습니다. 예제 불러오기와 비우기는 덮어쓸 입력과 문자 수를 미리 보여 주고, 적용 후 한 번 되돌리면 이전 입력과 보고서가 함께 복구됩니다.

목록이 알려 주는 것과 한계

점유율은 포함된 글로벌 데이터
caniuse-lite의 글로벌 스냅샷을 사용하므로 현재 트래픽이나 본인 사이트의 방문자 분포가 아닙니다. 새로고침해도 데이터가 갱신되지 않습니다. 결과가 다르면 표시된 패키지 버전을 확인하고, 상대 날짜 조건은 기기 날짜에도 영향을 받는다는 점을 고려하세요.
외부 설정과 통계는 읽지 않음
extends, browserslist config, JSON, 환경 구역, 국가별 조건과 사용자 통계는 거부합니다. 필요한 환경의 쿼리만 붙여 넣으세요. 로컬 프로젝트의 파일을 찾거나 npm 설정 패키지를 내려받지 않으며 분석 계정에도 연결하지 않습니다.
브라우저 대상만 처리
Node.js, Electron, current node는 지원하지 않습니다. 이 브라우저 빌드에서는 개별 기능을 묻는 supports 조건도 사용할 수 없습니다. Baseline 매핑은 가능하지만 대상 목록만으로 CSS, JavaScript, 폴리필 또는 실제 기기의 동작을 보장할 수는 없습니다.
데이터베이스의 버전 단위 유지
알 수 없는 버전은 오류로 처리하고 모바일 이력을 데스크톱 이력으로 바꾸지 않습니다. ios_saf 15.6-15.8처럼 묶인 범위는 하나의 데이터 기록입니다. 패치 버전이 개별적으로 존재하지 않을 수 있으며 all은 Opera Mini에서 사용하는 특별한 값입니다.
입력은 제한하고 보고서는 전체 저장
각 입력은 10000자와 100개 조건까지 허용하며 작업이 5초를 넘으면 중단합니다. 목록은 50개씩 늘어나지만 저장은 전부 됩니다. 유효한 빈 교집합은 보고서로 남길 수 있고, A를 비우면 보고서가 지워집니다. 비교가 켜진 B는 비워 둘 수 없습니다.

Browserslist 쿼리 질문

설정이 선택한 브라우저 목록은 어떻게 확인하나요?

원하는 환경의 조건을 A에 넣고 버전 목록을 확인하세요. 프로젝트의 파일 검색과 환경 선택까지 확인하려면 그 디렉터리에서 npx browserslist를 실행합니다. 여기서는 명시한 Browserslist 쿼리와 표시된 데이터 버전을 함께 저장해 결과를 비교할 수 있습니다.

browserslist 설정이 없으면 무엇을 사용하나요?

상위 CLI는 설정을 찾지 못하면 defaults로 돌아갑니다. 이 페이지는 처음부터 defaults를 입력하며 > 0.5%, last 2 versions, Firefox ESR, not dead로 펼칩니다. 사용자가 입력을 비우면 빈 작업 화면이 되고 기본값을 몰래 다시 적용하지 않습니다.

브라우저 데이터베이스를 정기적으로 업데이트해야 하나요?

프로젝트에서는 현재의 update-browserslist-db 절차로 갱신하고 잠금 파일과 대상의 변화를 검토하세요. 이 페이지에 포함된 데이터는 새 빌드가 제공될 때만 바뀝니다. 의존성 버전이 담긴 보고서를 남기면 나중에 달라진 결과의 원인을 찾는 데 도움이 됩니다.

not and_uc all이 실패하는 이유는 무엇인가요?

all은 Opera Mini의 특수 버전이지 모든 브라우저에 쓸 수 있는 와일드카드가 아닙니다. UC Android를 제외하려면 defaults, not and_uc > 0처럼 유효한 버전 조건을 사용하세요. not 앞에는 빼낼 대상 집합을 만드는 긍정 조건이 필요합니다.

last 2 versions에 예상하지 못한 오래된 브라우저가 나타나는 이유는요?

전체에서 가장 최근에 나온 두 브라우저가 아니라 데이터에 있는 각 제품군의 최근 버전을 고르기 때문입니다. 지원이 중단된 제품군과 드문 모바일 기록도 확인해야 합니다. 실제 목록을 not dead가 포함된 조건과 비교하세요. 예전 이슈의 구체적인 버전이 지금도 나오는 것은 아닙니다.

iOS 패치 버전을 지정해도 예상한 결과가 없는 이유는요?

Can I Use는 여러 iOS 릴리스를 개별 패치 대신 범위로 묶기도 합니다. ios >= 15.7.2는 없는 패치 기록을 만들어 내지 않습니다. 반환된 ios_saf 범위와 데이터가 가진 버전을 확인하고, 필요한 실제 기기의 동작은 별도로 검증하세요.

예상과 다른 버전 결과인가요?

다음 설정 변경을 비교하세요

현재 Browserslist 쿼리를 A에 두고 변경안을 B에 입력하세요. 추가와 제외 버전을 검토한 뒤 보고서를 저장할 수 있습니다.