
굳이 이런 고민을 하지 않아도 사는데 아무 지장이 없다.
하지만 필자는 어느 주말, 갑자기 QR코드의 용량이 궁금해져버렸고,
여러분들 대신에 이 고민을 해보기로 하였다.
가장 큰 qr코드는 얼마나 크며, 여기에는 데이터를 얼마나 담을 수 있을까?
현대인의 single source of truth인 위키피디아에 검색해보았다.

QR Code에 최대로 담을 수 있는 정보량은 1) Version 과 2) Error Correction Level, 두 가지로 결정된다.
QR code의 크기는 픽셀의 칸 수에 따라 Version이 1부터 40까지 나뉜다.
(크기인데 size가 아니라 version으로 부르는 이유는 무엇이련지)
당연히 크기가 클 수록 저장할 수 있는 정보의 양이 늘어난다.
또한, QR code에는 error correction 기능이 있다.
정보를 QR code의 일부분이 가려지거나, 지워지는 등의 이유로 인식되지 않아도 전체 정보를 잘 읽어올 수 있게 해주는 기능이다.
Low, Medium, High로 나뉘어진 Error correction level의 수준을 높게 할 수록 데이터가 많이 중복되므로, 저장될 수 있는 정보가 적어진다.
따라서 가장 많은 정보를 담을 수 있는 방법은
Version은 40에 Error correction Level을 Low로 설정하는 것이며,
이 경우 저장할 수 있는 양은 아래왁 같다.

위의 설명대로라면 2953byte, 거의 3kb를 담을 수 있는 셈이다.
https://github.com/veu/mini-tetris 에 있는 아주 압축된 테트리스 게임이 443byte니까 크기가 좀 실감이 날 수도 있겠다.
이미지 설명: 443바이트짜리 테트리스 페이지
![]()
그렇다고 데이터 용량을 다 쓸 수는 없는 것이, ~3kb의 데이터를 꾹꾹 눌러담은 Version40 QR Code는 픽셀이 너무 많아서 보기 불편하다.
예시 이미지를 보자
뭔가 뿌연게 점이 보이기는 하는데, 실제로 핸드폰으로 촬영해봐도 인식이 잘 되지 않는다.
필자가 이리저리 테스트해본 결과, 모바일 화면에 들어가는 QR Code 중 인식이 원활한 최대 크기는 Version 25 정도였다.
Version 25 Qr Code에는 1.2kb 가량의 데이터를 담을 수 있다.
이제 대충 알았다. 편하게 인식 가능한 Qr Code는 1.2kb가 최대이다.
그럼 그 이상의 데이터를 QR Code에 담는 방법은 없을까..?
고민 끝에 찾아낸 해답은 다음 글에서...