Non-animated Codes

Sometimes folks want to use ACME’s API to generate standard QR codes that are not animated. Why? Several features such as color control, transparency, stenciling, anti-aliasing, rotation, and resolution are more controllable than other online standard (non-animated) code generation services.

Also, standard QR Codes are free.

(Within reasonable request volume limitations)

To clarify: Though encoded messages are wrapped in free use demo mode for animations, static (non-animated) code embedded messages are not wrapped, and have the direct original message embedded in the code. In other words, animated QR codes are paywalled, while standard, non-animated, QR codes are completely free and without message wrapping.

There are two methods to getting free standard QR codes form ACME’s API:

1. The Acme Sequence, which is 2-3 API calls. This is the best API approach if you think you may want animated QR codes in the future, your code will already be able to handle the longer generation times required for animated code creation and avoid any timeout problems.

2. Single Call sequence. With certain arguments, ACME’s API will return a PNG file directly as a response to the first creation API call.

Acme Sequence

Here is the ‘most ACME way’ to do a multi-step request sequence to receive a standard (non-animated) code from

1. /new?anim=staticCodeOnly&msg=Hello!
Request an order number by http GET method /new and specify a non-animated product, and receive JSON response from the ACME service containing an Order Number .

2. /orders/#/frames/1
Request the static PNG file by http GET method referencing the Order Number.

For example, a requesting service could ask for code by:


ACME service would return JSON:

{"orderNumber": "1444720642_NLGEDCVP"}

Now, almost immediately, the client can retrieve a static non-animated PNG file:


ACME service would then return a png file:


Note: An immediate resource GET request to an accurate order might initially result in a ‘202 Accepted’ response, and not a ‘200 OK’ return code because the service has not yet completed creating the file. For non-animated requests like this, it is not usually required to query and order’s progress because the creation time is so short. However, it is still good practice to check and retry if a 202 response is initially returned.

Single Call

By setting both anim=staticCodeOnly and format=png, will directly return a PNG file of a standard QR code. Note: Due to our high quality rendering pipeline, turnaround time varies and may require a few seconds before return. Contact if you require faster response times for standard QR code creation API calls, which are available.