ToolActToolAct

QR 코드 해독

QR 코드 이미지를 온라인으로 스캔하고 디코딩합니다. 드래그 앤 드롭, 클립보드 붙여넣기 지원. 모든 처리가 브라우저에서 이루어집니다.

QR 코드 이미지 업로드

QR 코드 이미지를 여기에 드래그 앤 드롭하세요

PNG, JPG, GIF, BMP, WebP 및 기타 일반적인 이미지 형식 지원

Ctrl+V로 클립보드에서 이미지를 붙여넣을 수도 있습니다

QR 코드 디코딩이란?

QR 코드 디코딩은 QR 코드 이미지에 저장된 정보를 읽고 추출하는 과정입니다. QR 코드가 포함된 이미지를 업로드하면 도구가 자동으로 텍스트, URL 또는 기타 데이터를 인식하고 디코딩합니다. 이 도구는 브라우저에서 완전히 실행되며, 이미지가 서버에 업로드되지 않습니다. 여러 사람이 함께 사용할 때는 입력, 전제, 기대 결과를 미리 맞춰 결과가 잘못 해석되지 않도록 해야 합니다.

사용 방법

사용 방법

  1. 업로드 영역을 클릭하여 QR 코드 이미지를 선택하거나, 이미지를 드래그 앤 드롭하세요
  2. Ctrl+V (Mac에서는 Cmd+V)를 사용하여 클립보드에서 이미지를 붙여넣을 수도 있습니다
  3. 도구가 QR 코드 내용을 자동으로 감지하고 디코딩합니다
  4. 디코딩된 결과는 자동 콘텐츠 유형 감지 (URL 또는 텍스트)와 함께 아래에 표시됩니다
  5. '결과 복사' 버튼을 클릭하여 디코딩된 내용을 클립보드에 복사하세요

디코딩 팁

  • 안정적인 감지를 위해 QR 코드 전체가 보이고 주변에 충분한 여백이 있는 선명한 이미지를 사용하세요.
  • 디코딩된 링크는 주의해서 다루세요. 익숙하지 않은 QR 코드 URL을 열기 전에 텍스트를 미리 보고 도메인을 확인하세요.

활용 사례

업로드하거나 붙여넣은 이미지에서 QR 코드 해독이미지를 드래그하거나, 파일을 선택하거나, 클립보드에서 붙여넣으면 도구가 숨겨진 캔버스에 그린 뒤 읽어옵니다. 스크린샷, 사진, 저장된 QR 이미지는 있지만 근처에 휴대폰 스캐너가 없을 때 유용합니다.
URL과 일반 텍스트 결과 구분해독 후 브라우저 URL 생성자로 파싱할 수 있으면 URL로 분류되고, 그렇지 않으면 텍스트로 처리됩니다. URL 결과에는 새 탭에서 열기 동작이 추가되고, 모든 결과는 문자 수와 함께 복사할 수 있습니다.
디자인 작업 중 QR 코드 가독성 확인디코더가 이미지 픽셀에서 직접 작동하므로, 생성하거나 디자인한 QR 코드가 크기 조정, 색상 변경, 스크린샷, 압축 후에도 스캔 가능한지 확인하는 데 도움이 됩니다. 읽기 실패 시 QR 없음이나 디코딩 오류가 명확히 표시되어, 브랜딩 리뷰에서 두 디자인 변형을 나란히 비교하기 쉽습니다.
긴 Wi-Fi 또는 vCard 페이로드 읽기해독된 Wi-Fi 문자열은 휴대폰 카메라 없이 이미지에서 SSID, 비밀번호, 보안 유형을 보여주어 인쇄된 게스트 네트워크 카드 확인에 유용합니다. vCard 결과를 복사하여 연락처 양식에 넣으면 수동으로 가져올 수 있습니다.
링크 열기 전 QR 코드 검사항상 이미지를 휴대폰으로 직접 스캔하기 전에 해독된 URL을 먼저 확인하세요. QR 코드는 단축 링크, 피싱 페이지, 만료된 리다이렉트를 숨길 수 있습니다. 클릭 동작이 없는 해독된 텍스트 결과가 원탭 리다이렉트보다 안전한 미리보기입니다. 최신 Chromium 기반 브라우저는 빠르지만 Micro-QR이나 손상된 코드를 잘 처리하지 못하는 BarcodeDetector API를 제공하므로, BarcodeDetector가 없으면 JS 라이브러리로 대체됩니다. M, Q, H 수준의 Reed-Solomon 오류 정정은 흐릿한 사진도 복구할 수 있지만, 고밀도나 저대비 코드는 빛이 충분하고 기울기가 적은 환경에서 다시 촬영해야 하는 경우가 많습니다. 모퉁이에 위치 마커가 하나뿐인 Micro-QR 코드는 완전히 다른 계열로, 전용 스캐너가 필요합니다.

기술 원리

QR 코드 디코딩은 사진이나 스크린샷에서 코드를 찾고, 원근 왜곡을 보정하고, 이미지를 흑백으로 이진화하고, 모듈 격자를 읽고, 오류 정정을 적용하고, 인코딩 모드에 따라 데이터를 디코딩하는 다단계 이미지 처리 파이프라인이다. 이 도구는 브라우저의 메인 스레드에서 JavaScript로 전체 파이프라인을 구현하는 jsQR 라이브러리를 사용한다. 첫 번째 단계는 세 가지 파인더 패턴을 찾는 것이다. 파인더 패턴은 모든 QR 코드의 좌상단, 우상단, 좌하단 모퉁이에 있는 독특한 7x7 정사각-in-정사각-in-정사각 마커이다. jsQR은 회전에 관계없이 파인더 패턴 단면의 특징인 1:1:3:1:1 비율에 맞는 흑백 픽셀 교대 실행을 이미지에서 스캔한다. 세 개의 파인더가 위치하면 그 무게중심이 코드의 경계 사각형을 정의한다. 원근 보정은 네 모서리 점에서 계산된 호모그래피 매트릭스를 사용하여 사각형을 정사각 격자로 변환한다. 이는 필수적이다. QR 코드는 정면에서 촬영되는 경우가 드물기 때문이다. 보정은 코드를 왜곡 복원하여 각 모듈(비트를 나타내는 검은색 또는 흰색 정사각형)이 정규 격자에 놓이도록 한다. 모듈 크기는 파인더 패턴 크기와 파인더 인접 형식 정보 스트립에서 읽은 버전 번호에 의해 결정된다. 이미지 이진화는 그레이스케일 픽셀 값을 순수 흑백으로 변환한다. jsQR은 로컬 임계값 방식을 사용한다. 단일 전역 임계값(불균일한 조명이나 그림자에서 실패) 대신 이미지의 작은 영역에 대해 임계값을 계산하여, 스마트폰 사진에서 흔한 그라디언트와 비네팅에 강건하다. 오류 정정은 ISO/IEC 18004:2015에 지정된 리드-솔로몬 코드를 사용한다. QR 코드는 4가지 오류 정정 레벨을 지원한다: L(~7% 복구), M(~15%), Q(~25%), H(~30%). 데이터 코드워드와 오류 정정 코드워드는 블록으로 인터리브된다. jsQR은 신드롬 계산을 수행하고 벨캠프-매시 알고리즘을 적용하여 코드의 정격 용량 내에서 오류 위치를 찾고 정정한다. 손상이 정정 레벨을 초과하면 손상된 데이터를 반환하는 대신 디코딩이 실패한다. 마지막으로, 디코딩된 비트 스트림은 처음 4비트의 인코딩 모드 지시자에 따라 해석된다: 숫자(0001, 3자리당 10비트), 영숫자(0010, 2문자당 11비트), 바이트(0100, 문자당 8비트, 일반적으로 UTF-8 또는 Latin-1), 칸지(1000, Shift JIS 사용, 문자당 13비트), 또는 ECI(0111, 문자셋 지정을 위한 확장 채널 해석). 도구는 디코딩된 문자열을 표시하고 URL( new URL() 파싱 시도로 판별)인지 일반 텍스트인지 자동 감지한다.

  • 파인더 패턴 감지: jsQR은 1:1:3:1:1 비율에 맞는 흑백 픽셀 교대 실행을 행에서 스캔. 서로 대략 직각을 이루는 세 개의 패턴이 회전에 관계없이 QR 코드의 존재와 방향을 확인.
  • 원근 보정: 네 개의 감지된 모서리 점에서 계산된 호모그래피 매트릭스가 기울어진 사각형을 정사각 격자에 매핑. 실제 사진에서 QR 코드를 정면으로 촬영하는 경우가 드물기 때문에 이 단계는 필수적.
  • 적응형 이진화: 로컬 임계값이 이미지를 작은 영역으로 나누고 영역별 임계값을 계산하여, 전역 임계값을 무력화하는 불균일한 조명, 그림자, 그라디언트에 대해 디코더를 강건하게 만듦.
  • 리드-솔로몬 오류 정정(ISO/IEC 18004): 4가지 레벨(L/M/Q/H)로 7~30% 데이터 복구 제공. 벨캠프-매시 알고리즘이 오류 위치를 찾고 포니 알고리즘이 정정 크기를 계산. 손상이 레벨을 초과하면 깔끔하게 디코딩 실패.
  • 인코딩 모드 감지: 처음 4데이터 비트가 모드를 나타냄. 숫자(0001, 숫자에 효율적), 영숫자(0010, A-Z 0-9 및 기호용), 바이트(0100, 임의의 UTF-8/Latin-1 데이터용), 칸지(1000, Shift JIS용), ECI(0111, 문자셋 지정용).
  • 버전 및 모듈 격자: QR 코드 버전은 1(21x21 모듈)부터 40(177x177)까지, 각 버전은 한 변에 4모듈씩 추가. 버전은 파인더 패턴 근처 형식 정보 스트립에서 읽으며, 모듈 수가 샘플링 격자 밀도를 결정.
  • 브라우저 로컬 실행: 이미지를 숨겨진 Canvas 요소에 그리고, getImageData()로 원시 RGBA 픽셀 버퍼를 추출하여 jsQR이 브라우저 메인 스레드에서 전부 처리. 이미지 데이터가 서버에 업로드되지 않으며, 디코딩 완료 후 캔버스는 가비지 컬렉션됨.

예시

URL QR 코드

스캔 페이로드: https://example.com
유형:        URL
동작:        스캐너가 확인 후 시스템 브라우저에서 링크를 엶

일반 텍스트 QR 코드

스캔 페이로드: This is text content
유형:        텍스트
동작:        스캐너가 텍스트를 클립보드에 복사하거나 결과 시트에 표시

WiFi 자격 증명 QR 코드

스캔 페이로드: WIFI:T:WPA;S:NetworkName;P:Password;;
유형:        WiFi (WPA2)
동작:        포맷을 인식하는 휴대폰은 'NetworkName에 연결하시겠습니까?' 안내를 띄우고 지정된 비밀번호로 접속

vCard 연락처 카드

스캔 페이로드: BEGIN:VCARD\nVERSION:3.0\nFN:Jane Doe\nTEL:+1-555-0142\nEMAIL:jane@example.com\nEND:VCARD
유형:        연락처 카드
동작:        휴대폰이 파싱한 필드를 이용해 새 주소록 항목 생성을 제안

자주 묻는 질문

이미지가 디코딩을 위해 업로드되나요?

아니요. 디코딩은 WebAssembly 또는 순수 JS를 통해 브라우저에서 실행됩니다. 이미지 바이트는 로컬에서 읽히며 서버로 전송되지 않습니다.

어떤 입력 방식을 지원하나요?

파일 업로드, 클립보드에서 이미지 붙여넣기, 이미지 파일 드래그 앤 드롭이 가능합니다. 이미지는 브라우저에서 처리되며 서버로 업로드되지 않습니다.

디코더가 무엇을 반환하나요?

원본 디코딩 텍스트입니다. 페이지는 결과가 URL인지 일반 텍스트인지 감지해 그에 맞는 배지를 표시합니다. URL이라면 Open URL 버튼이 제공됩니다.

내 QR이 디코딩되지 않는 이유는 무엇인가요?

흔한 원인은 흐림, 낮은 대비, 빛 반사, 원근 기울기, 코드 일부가 가려진 경우입니다. 더 가까이 자르고, 밝기를 높이고, 표면에 90°로 휴대폰을 안정되게 들어 보세요. 오류 정정 레벨 L의 QR 코드는 거의 손상을 복구하지 못하지만, 레벨 H는 상당한 가림도 견딥니다.

스크린샷이나 PDF에서도 QR을 디코딩할 수 있나요?

스크린샷은 대비가 완벽하고 원근 왜곡이 없어 보통 잘 디코딩됩니다. PDF의 경우 QR 부분을 먼저 스크린샷으로 찍어 이미지를 업로드하세요.

QR에 포함된 모든 URL을 열어도 되나요?

아니요. QR 코드는 URL이 시각 안에 숨겨져 있어 알려진 피싱 경로(‘퀴싱’)입니다. 열기 전에 디코딩된 URL을 확인하세요. 페이지가 전체 URL을 보여주므로 도메인을 읽을 수 있습니다. 오타 도메인, IP 주소, 실제 목적지를 가리는 단축 URL을 주의하세요.

한 이미지에서 여러 QR을 디코딩할 수 있나요?

페이지는 이미지당 한 개의 QR 코드를 감지합니다. 여러 코드가 있는 이미지는 각각을 따로 잘라 개별적으로 업로드하면 가장 안정적인 결과를 얻습니다.

관련 도구

QR 코드 생성기

온라인 QR 코드 생성 도구로 텍스트, URL, 명함 등 유형을 지원합니다. 스타일, 색상, 크기를 사용자 정의하고 원클릭으로 고화질 이미지를 다운로드합니다.

바코드 해독

온라인 바코드 해독 도구. 이미지 업로드, 드래그 앤 드롭, 붙여넣기로 바코드를 스캔하고 디코딩합니다. CODE128, EAN13, EAN8, UPC, CODE39 지원. 모든 처리가 브라우저에서 이루어집니다.

바코드 생성기

온라인 바코드 생성기. CODE128, EAN13, EAN8, UPC, CODE39, ITF14 형식 지원. 색상과 크기를 사용자 정의하고 PNG 또는 SVG 형식으로 바코드를 생성하고 다운로드하세요.

이미지 Base64 변환 도구

온라인 이미지 Base64 상호 변환 도구로 드래그 앤 드롭 업로드, 실시간 미리보기, 다양한 이미지 포맷을 지원합니다. 이미지를 Base64로 변환하여 코드에 삽입하면 HTTP 요청을 줄일 수 있습니다.

Base64 인코딩 디코딩 도구

온라인 Base64 인코딩/디코딩 도구로 UTF-8 텍스트, 중국어, 이미지 변환을 지원합니다. 실시간 인코딩/디코딩, 소프트웨어 설치 불필요, 데이터 로컬 처리로 프라이버시를 보호합니다.

URL 인코딩 디코딩 도구

온라인 URL 인코딩/디코딩 도구로 특수 문자, 중국어 매개변수를 자동 처리합니다. URL 매개변수를 빠르게 변환하여 깨짐 문제를 해결하고 데이터 올바른 전송을 보장합니다.