Códigos QR

É possível criar um QR code rapidamente com uma solicitação GET de URL.

Visão geral

Os códigos QR são um tipo popular de código de barras em duas dimensões. Eles também são conhecidos como links físicos ou hiperlinks de mundos físicos. Os códigos QR armazenam até 4.296 caracteres alfanuméricos de texto arbitrário. Esse texto pode ser qualquer coisa, como URL, dados de contato, número de telefone e até mesmo um poema. Os códigos QR podem ser lidos por um dispositivo óptico com o software adequado. Esses dispositivos variam de leitores de QR code dedicados a smartphones.

Sintaxe

URL raiz: https://chart.googleapis.com/chart?

As solicitações de QR code têm suporte aos seguintes parâmetros de consulta de URL após ? no URL raiz:

Parâmetro Obrigatório ou opcional Descrição
cht=qr Obrigatório Especifica um código QR.
chs=<width>x<height> Obrigatório Tamanho da imagem.
chl=<data> Obrigatório Os dados a serem codificados. Os dados podem ser dígitos (0-9), caracteres alfanuméricos, bytes binários de dados ou Kanji. Não é possível misturar tipos de dados em um QR code. Os dados devem ser codificados para URL UTF-8. Os URLs têm um comprimento máximo de 2.000 bytes, portanto, se você quiser codificar mais de 2.000 bytes (menos os outros caracteres de URL), será necessário enviar seus dados usando POST.
choe=<output_encoding> Opcional Como codificar os dados no QR code. Estes são os valores disponíveis:
  • UTF-8 [Padrão]
  • Shift_JIS
  • ISO-8859-1
chld=<error_correction_level>|<margin> Opcional
  • error_correction_level: os códigos QR são compatíveis com quatro níveis de correção de erro para permitir a recuperação de dados ausentes, mal interpretados ou obscuros. Maior redundância, mas a capacidade de armazenar menos dados é maior. Consulte o apêndice para mais detalhes. Veja os valores compatíveis:
    • L - [Padrão] Permite a recuperação de até 7% de perda de dados
    • M: permite a recuperação de até 15% dos dados perdidos
    • Q: permite a recuperação de até 25% dos dados perdidos
    • H: permite a recuperação de até 30% dos dados perdidos
  • margin - a largura da borda branca ao redor da parte de dados do código. Esse valor aparece em linhas, não em pixels. Consulte abaixo para saber o que são linhas em um QR code. O valor padrão é 4.

 

Exemplo:

QR code
cht=qr
chl=Hello+world
choe=UTF-8

Detalhes do QR code [Leitura opcional]

Saiba um pouco mais sobre como os QR codes funcionam. Não é necessário saber isso para gerar um QR code.

Os códigos QR são quadrados, com um número igual de linhas e colunas. Há um conjunto fixo de tamanhos de códigos QR: de 21 a 177 linhas/colunas, aumentando as etapas de quatro. Cada configuração é chamada de versão. Quanto mais linhas/colunas houver, mais dados o código poderá armazenar. Veja um resumo das versões:

  • A versão 1 tem 21 linhas e 21 colunas e pode codificar até 25 caracteres alfanuméricos
  • A versão 2 possui 25 linhas e 25 colunas e pode codificar até 47 caracteres alfanuméricos
  • A versão 3 tem 29 linhas e 29 colunas e pode codificar até 77 caracteres alfanuméricos
  • ...
  • A versão 40 tem 177 linhas e 177 colunas e pode codificar até 4.296 caracteres alfanuméricos

Não confunda o número de linhas e colunas com o tamanho da imagem do QR code. O tamanho em pixels do código é determinado usando chs, como de costume.

A API determina qual versão usar com base na quantidade de dados fornecidos.

A versão correta do QR code será retornada, dependendo do número de caracteres fornecidos. Por exemplo, se você fornecer 55 caracteres alfanuméricos, receberá um QR code da versão 3. No entanto, isso poderá mudar se você especificar um nível de correção de erro (EC) explicitamente usando o parâmetro chld.

Antes de gerar seu QR code, considere o tipo de dispositivo usado para ler o código: os melhores leitores de QR code conseguem ler os códigos da versão 40, e os dispositivos móveis só conseguem ler até a versão 4.

A tabela a seguir resume as características de algumas versões:

Versão Linhas x colunas Nível de CE Máximo de caracteres por nível de CE e tipo de caractere
Dígitos: 0 a 9 Alfanumérico:
0 a 9, A a Z,
espaço, $ % * + - . / :
Binário Kanji
1 21 x 21 L 41 25 17 10
M 34 20 14 8
P 27 16 11 7
H 17 10 7 4
2 25 x 25 L 77 47 32 20
M 63 38 26 16
P 48 29 20 12
H 34 20 14 8
3 29 x 29 L 127 77 53 32
M 101 61 42 26
P 77 47 32 20
H 58 35 24 15
4 33 x 33 L 187 114 78 48
M 149 90 62 38
P 111 67 46 28
H 82 50 34 21
10 57 x 57 L 652 395 271 167
M 513 311 213 131
P 364 221 151 93
H 288 174 119 74
40 177 x 177 L 7.089 4.296 2.953 1.817
M 5.596 3.391 2.331 1.435
P 3.993 2.420 1.663 1.024
H 3.057 1.852 1.273 784

Mais informações e padrões

O padrão de QR code é a marca registrada da Denso Wave, Inc.

A ISO vende a especificação em inglês no site da empresa (em inglês). A versão em japonês é sem custo financeiro.

Os padrões de QR code são aprovados como:

  • Padrão (ISS - QR code) do AIM International (Automatic Identification Manufacturers International) em outubro de 1997.
  • Padrão (JEIDA-55, da JEIDA, da Associação Japonesa de Desenvolvimento da Indústria Eletrônica) da JEIDA, em março de 1998.
  • Padrão da JIS x 0510, pela JIS (Japanese Industrial Standards), em janeiro de 1999.
  • Padrão internacional do ISO (ISO/IEC18004), em junho de 2000.

O software leitor de código QR está disponível em muitas fontes. O Google oferece uma biblioteca de leitor de QR code, a Zebra Crossing (ZXing), sem custo financeiro. Consulte http://code.google.com/p/zxing/ para mais detalhes.

Consulte Conteúdo do código de barras para ver um guia básico sobre a codificação padrão de informações em códigos de barras.