Google Chart Server QR code API now replicated at zxing.org

1,490 views
Skip to first unread message

Sean Owen

unread,
Nov 24, 2013, 8:59:08 PM11/24/13
to zx...@googlegroups.com
The Google Chart Server API has long had a QR code generator: https://google-developers.appspot.com/chart/infographics/docs/qr_codes
It is deprecated, although won't go away for well over a year.

However the QR code generator inside it is old, and has likely not been updated or fixed in a while. It was the basis for the port in java, and we have fixed several things over the years in the Java version.

So for both reasons, it seems good to expose a similar API. Now the web app at zxing.org has replicated as much as possible the API exposed by the chart server. For example:


Anything that works at chart.apis.google.com/chart?... ought to work at zxing.org/w/chart?...

In particular, one notable difference is that this generator will (correctly) insert an ECI segment for non-ISO-8859-1 encoding. This is correct but might trip up bad decoders.

Let me know if you try it and see any problems. Soon I will switch the zxing.appspot.com/generator generator to use this for generation.

Judy B. Cornelius

unread,
Jun 14, 2016, 3:37:53 PM6/14/16
to zxing
I am a teacher and am using QR codes on each chromebook assigned to a student in my class. I created QR codes in Google sheets that attach to a cell with student information. I mistakenly thought these would be dynamic, allowing me to change the students' names from year to year without changing the QR image - not so. I need to find a way to redirect the image to another location that can be edited, or I need to learn how to edit the original cell without changing the image. The images are attached to the computers now.

Help??

Sean Owen

unread,
Jun 14, 2016, 4:25:42 PM6/14/16
to zxing
A QR code just encodes a string. The string it encodes can never change, just like printed words on a page will always be the same words. I'm not sure what you're looking for. Maybe you meant to encode a URL that redirects to other URLs, and want to change the redirect, but, that's nothing to do with a QR code itself.

shirou tou

unread,
Mar 23, 2021, 6:47:25 PM3/23/21
to zxing
Can I use zxing.org QR code generator API for my web app?
This API is very simple and useful.

2016年6月15日水曜日 5:25:42 UTC+9 sro...@gmail.com:

Sean Owen

unread,
Mar 23, 2021, 6:57:11 PM3/23/21
to shirou tou, zxing
Sure, go ahead. I'd only ask you not send a huge number of requests to it (it will start blocking requests that send lots).
If you need much more scale, you can easily run the service as well. The project has a module that produces a .war web app that can be run in most any servlet container.

--
You received this message because you are subscribed to the Google Groups "zxing" group.
To unsubscribe from this group and stop receiving emails from it, send an email to zxing+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/zxing/5ea158ad-c9ae-4e2c-9cc4-0275b1673b5an%40googlegroups.com.

shirou tou

unread,
Mar 24, 2021, 5:13:04 AM3/24/21
to zxing
Thank you a lot!
I'll access API mainly for my small project, so probably it won't occur huge requests. 

2021年3月24日水曜日 7:57:11 UTC+9 sro...@gmail.com:

Samveen S. Gulati

unread,
May 11, 2021, 2:33:38 AM5/11/21
to zxing
The api  at http://zxing.org/w/chart is returning empty responses:

samveen@laptop:~$ curl -v 'https://zxing.org/w/chart?cht=qr&chs=350x350&chld=L&choe=UTF-8&chl=test'
*   Trying 104.198.61.223:443...
* TCP_NODELAY set
* Connected to zxing.org (104.198.61.223) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=zxing.org
*  start date: Apr 15 00:00:00 2020 GMT
*  expire date: Jul 14 12:00:00 2022 GMT
*  subjectAltName: host "zxing.org" matched cert's "zxing.org"
*  issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=GeoTrust RSA CA 2018
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x5625291ace10)
> GET /w/chart?cht=qr&chs=350x350&chld=L&choe=UTF-8&chl=test HTTP/2
> Host: zxing.org
> user-agent: curl/7.68.0
> accept: */*
>
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
* Connection state changed (MAX_CONCURRENT_STREAMS == 100)!
* TLSv1.3 (IN), TLS alert, close notify (256):
* Empty reply from server
* Closing connection 0
* TLSv1.3 (OUT), TLS alert, close notify (256):
curl: (52) Empty reply from server

regards,
Samveen

N A

unread,
Mar 28, 2022, 6:45:37 PM3/28/22
to zxing
Hi,
I am checking Zxing barcode engine but it recognizes text as UPC format.
Here is the sample image.
Is there any way to fix it?
Cheers.
Nathan
1.jpg
Reply all
Reply to author
Forward
0 new messages