Overview
Generate customized QR Code with logo by using the super fast FancyQR API. Upload any image permanently on our storage and use them as the logo for your QR Code as many times as you want to. Customize the generated QR Code with colors and gradients. Use over 25 optional parameters to fully customize the QR Code and make it match your document or organization’s branding. Different levels of error correction makes it easy for the end users to scan the QR Code with ease. FancyQR also has predefined templates available for creating Email, Geo location, BTC, Phone SMS, WiFi and many more types of QR Codes.
Start Using FancyQR on RapidAPI for Free
Documentation
FancyQR API accepts POST requests in FormData or JSON format from any app. You have to signup with RapidAPI and use your secret key with each request.
Generating QR Codes:
There are 7 different formats and endpoints with which you can generate different types of QR Codes:
1. Simple QR Code: Generate custom QR Code with Solid colors. This is a general endpoint where the QR Code content can be any data you want. Please note that this endpoint does support adding logo/image.
Required Parameters:
- data: The text you want to be included in the final QR Code. For non-English text, select the appropriate text encoding in the ‘encoding’ field.
type: string
2. Standard QR Code: Generate custom QR Code with Logo image, Solid colors and Gradient. This is a general endpoint where the QR Code content can be any data you want.
Required Parameters:
- data: The text you want to be included in the final QR Code. For non-English text, select the appropriate text encoding in the ‘encoding’ field.
type: string
3. BitCoin QR Code: Generate BitCoin payment QR Codes which makes it easy to make payments through scanning the code and opening with your wallet app.
Required Parameters:
- btcAddress: Address of the recipient’s wallet.
type: string - btcAmount: The amount which will be prompted by the wallet app for payment.
type: number
validation: Must be greater than zero
Optional Parameters:
- btcPaymentLabel: Label for the payment.
type: string - btcPaymentMessage: The message/description of the payment.
type: string - btcReturnAddress: An URL where the user will be redirected after payment.
type: string
4. Email QR Code: Create an email draft with this QR Code with predefined recipient, subject and message.
Required Parameters:
- emailTo: The email address of the recipient.
type: string email address
- emailTo: The email address of the recipient.
Optional Parameters:
- emailSubject: Subject of the email.
type: string - emailBody: Body/message of the email.
type: string
5. Geo-location QR Code: Add Latitude and Longitude on the QR Code which can be directly opened with map apps.
Required Parameters:
- latitude: Latitude of the GPS /Map coordinate.
type: number - longitude: Longitude of the GPS /Map coordinate.
type: number
6. Phone Call QR Code: Add phone number to the QR Code which calling apps can recognize.
Required Parameters:
- phoneNumber: Phone number of the call recipient.
type: string
7. SMS QR Code: Create SMS QR with recipient number encoded in the code.
Required Parameters:
- smsNumber: Phone number of the SMS recipient.
type: string
8. WiFi QR Code: Set the details of a WiFi network and anyone who scans it will be able to connect to the WiFi with ease.
Required Parameters:
- wifiSSID: The name of the WiFi network.
type: string - wifiPassword: Password of the network.
type: string - wifiEncryption: Encryption type of the network.
type: enum
options: WPA/WPA2/WEP - wifiHidden: Set if the network is hidden or visible.
type: boolean
options: true/false
Common Optional Parameters:
- size: The size of the rendered QR Code image. It can be 1 to 500.
Default: 300 - margin: The margin or empty space around the QR Code image block.
Default: 0 - color: Solid color of the QR Code blocks. This value does change the color if both of the gradient color parameters are set.
Default: #00695C - colorAlpha: Transparency or opacity of the block color set in the ‘color’ parameter.
Default: 100 - backgroundColor: Background color of the QR Code image.
Default: #ffffff - backgroundColorAlpha: Transparency or opacity of the background color set in the ‘backgroundColor’ parameter.
Default: 100 - gradientColorStart: Starting gradient color of the QR Code blocks.
Default: #EC407A - gradientColorEnd: Ending gradient color of the QR Code blocks.
Default: #FFC107 - gradientType: Select the type of gradient: diagonal, vertical, horizontal, inverse_diagonal, radial.
Default: diagonal - eyeOneInnerColor: The inner color of the first Eye of the QR Code.
Default: #F57C00 - eyeOneOuterColor: The outer color of the first Eye of the QR Code.
Default: #B71C1C - eyeTwoInnerColor: The inner color of the second Eye of the QR Code.
Default: #F57C00 - eyeTwoOuterColor: The outer color of the second Eye of the QR Code.
Default: #B71C1C - eyeThreeInnerColor: The inner color of the third Eye of the QR Code.
Default: #F57C00 - eyeThreeOuterColor: The outer color of the second Eye of the QR Code.
Default: #B71C1C - eyeStyle: Style for the QR Code Eyes. Select square or circle.
Default: square - blockStyle: Style of the QR Code blocks. Select one from square, dot, round.
Default: round - errorCorrectionLevel: Error correction level for the QR Code. Select from L, M, Q, H. L is the lowest correction level and H is the highest. The higher the correction level, the image size gets bigger.
Default: Q - encoding: Encoding for the QR code text. This is important to set especially if the text is in non-English. Available encondings: ISO-8859-1, ISO-8859-2, ISO-8859-3, ISO-8859-4, ISO-8859-5, ISO-8859-6, ISO-8859-7, ISO-8859-8, ISO-8859-9, ISO-8859-10, ISO-8859-11, ISO-8859-12, ISO-8859-13, ISO-8859-14, ISO-8859-15, ISO-8859-16, SHIFT-JIS, WINDOWS-1250, WINDOWS-1251, WINDOWS-1252, WINDOWS-1256, UTF-16BE, UTF-8, ASCII, GBK, EUC-KR
Default: ISO-8859-1 - logo: Add this parameter if you want to add logo in the center of the QR Code. To add your own logo image, please use the ‘Image Upload’ endpoint to upload the image first and than use the image name returned in the response.
Default: icon://logo
android
appstore
behance
bing
bitcoin
box
browser
call
chrome
dribble
dropbox
email
ethereum
etsy
facebook
flickr
googledrive
googlemaps
googleplay
instagram
ios
like
linkedin
location
logo
messenger
opera
paypal
pinterest
skype
smiling
sms
snapchat
soundcloud
spotify
tumblr
twitter
vimeo
vk
whatsapp
wifi
wink
youtube - logoSize: The size of the image in percentage (%) added in the QR code. It can be 0% to 100%.
Default: 30
Image Management:
Endpoints to permanently upload and manage image files on our storage.
1. Upload Image: Upload your image permanently on our storage and use it to embed on the QR Code.
Required Parameters:
- file: The selected file which will be uploaded to our storage and be renamed uniquely for future usage.
type: file
2. Image List: List all the images you have uploaded to the storage. You can include any of these images inside a QR Code generation request. No parameter is required for this endpoint.
3. Delete image: Delete any image that you have uploaded to our storage.
Required Parameters:
- image_name: Unique name of the image returned by the Upload Image endpoint above. It must be previously uploaded by your account.
type: string
QR Code Request Examples
Generate QR Code:
1. Standard QR Code
const axios = require("axios");
const encodedParams = new URLSearchParams();
encodedParams.append("data", "FancyQR https://appconsoft.com"); //Required
encodedParams.append("output", "json");
encodedParams.append("size", "300");
encodedParams.append("margin", "0");
encodedParams.append("color", "#00695C");
encodedParams.append("colorAlpha", "100");
encodedParams.append("backgroundColor", "#FFFFFF");
encodedParams.append("backgroundColorAlpha", "100");
encodedParams.append("gradientColorStart", "#EC407A");
encodedParams.append("gradientColorEnd", "#FFC107");
encodedParams.append("gradientType", "diagonal");
encodedParams.append("eyeOneInnerColor", "#F57C00");
encodedParams.append("eyeOneOuterColor", "#B71C1C");
encodedParams.append("eyeTwoInnerColor", "#F57C00");
encodedParams.append("eyeTwoOuterColor", "#B71C1C");
encodedParams.append("eyeThreeInnerColor", "#F57C00");
encodedParams.append("eyeThreeOuterColor", "#B71C1C");
encodedParams.append("eyeStyle", "square");
encodedParams.append("blockStyle", "square");
encodedParams.append("errorCorrectionLevel", "Q");
encodedParams.append("encoding", "ISO-8859-1");
encodedParams.append("logo", "icon://logo.png");
encodedParams.append("logoSize", "20");
const options = {
method: 'POST',
url: 'https://qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com/',
params: {action: 'standard'},
headers: {
'content-type': 'application/x-www-form-urlencoded',
'X-RapidAPI-Key': 'your_key',
'X-RapidAPI-Host': 'qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com'
},
data: encodedParams
};
axios.request(options).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});

2. BitCoin QR Code
const axios = require("axios");
const encodedParams = new URLSearchParams();
encodedParams.append("btcAddress", "37F4B43hskX34bF75uXWFpf9R4DE1bKnaH"); //required
encodedParams.append("btcAmount", "0.003"); //required
encodedParams.append("btcPaymentLabel", "Invoice Payment");
encodedParams.append("btcPaymentMessage", "Payment for Invoice 1");
encodedParams.append("btcReturnAddress", "https://appconsoft.com");
encodedParams.append("output", "json");
encodedParams.append("size", "300");
encodedParams.append("margin", "0");
encodedParams.append("color", "#00695C");
encodedParams.append("colorAlpha", "100");
encodedParams.append("backgroundColor", "#FFFFFF");
encodedParams.append("backgroundColorAlpha", "100");
encodedParams.append("gradientColorStart", "#EC407A");
encodedParams.append("gradientColorEnd", "#FFC107");
encodedParams.append("gradientType", "diagonal");
encodedParams.append("eyeOneInnerColor", "#F57C00");
encodedParams.append("eyeOneOuterColor", "#B71C1C");
encodedParams.append("eyeTwoInnerColor", "#F57C00");
encodedParams.append("eyeTwoOuterColor", "#B71C1C");
encodedParams.append("eyeThreeInnerColor", "#F57C00");
encodedParams.append("eyeThreeOuterColor", "#B71C1C");
encodedParams.append("eyeStyle", "square");
encodedParams.append("blockStyle", "square");
encodedParams.append("errorCorrectionLevel", "H");
encodedParams.append("encoding", "ISO-8859-1");
encodedParams.append("logo", "icon://logo.png");
encodedParams.append("logoSize", "20");
const options = {
method: 'POST',
url: 'https://qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com/',
params: {action: 'bitcoin'},
headers: {
'content-type': 'application/x-www-form-urlencoded',
'X-RapidAPI-Key': 'your_key',
'X-RapidAPI-Host': 'qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com'
},
data: encodedParams
};
axios.request(options).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});

3. Email QR Code
const axios = require("axios");
const encodedParams = new URLSearchParams();
encodedParams.append("emailTo", "support@appconsoft.com"); //Required
encodedParams.append("emailSubject", "API Support");
encodedParams.append("emailBody", "Please help me setup this API");
encodedParams.append("output", "json");
encodedParams.append("size", "300");
encodedParams.append("margin", "0");
encodedParams.append("color", "#00695C");
encodedParams.append("colorAlpha", "100");
encodedParams.append("backgroundColor", "#FFFFFF");
encodedParams.append("backgroundColorAlpha", "100");
encodedParams.append("gradientColorStart", "#EC407A");
encodedParams.append("gradientColorEnd", "#FFC107");
encodedParams.append("gradientType", "diagonal");
encodedParams.append("eyeOneInnerColor", "#F57C00");
encodedParams.append("eyeOneOuterColor", "#B71C1C");
encodedParams.append("blockStyle", "square");
encodedParams.append("eyeTwoInnerColor", "#F57C00");
encodedParams.append("eyeTwoOuterColor", "#B71C1C");
encodedParams.append("eyeThreeInnerColor", "#F57C00");
encodedParams.append("eyeThreeOuterColor", "#B71C1C");
encodedParams.append("errorCorrectionLevel", "H");
encodedParams.append("encoding", "ISO-8859-1");
encodedParams.append("logo", "icon://logo.png");
encodedParams.append("logoSize", "20");
const options = {
method: 'POST',
url: 'https://qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com/',
params: {action: 'email'},
headers: {
'content-type': 'application/x-www-form-urlencoded',
'X-RapidAPI-Key': 'your_key',
'X-RapidAPI-Host': 'qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com'
},
data: encodedParams
};
axios.request(options).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});

4. Geo-location QR Code
const axios = require("axios");
const encodedParams = new URLSearchParams();
encodedParams.append("latitude", "48.85853950764163"); //Required
encodedParams.append("longitude", "2.2945027551431325"); //Required
encodedParams.append("output", "json");
encodedParams.append("size", "300");
encodedParams.append("margin", "0");
encodedParams.append("color", "#00695C");
encodedParams.append("colorAlpha", "100");
encodedParams.append("backgroundColor", "#FFFFFF");
encodedParams.append("backgroundColorAlpha", "100");
encodedParams.append("gradientColorStart", "#EC407A");
encodedParams.append("gradientColorEnd", "#FFC107");
encodedParams.append("gradientType", "diagonal");
encodedParams.append("eyeOneInnerColor", "#F57C00");
encodedParams.append("eyeOneOuterColor", "#B71C1C");
encodedParams.append("blockStyle", "square");
encodedParams.append("eyeTwoInnerColor", "#F57C00");
encodedParams.append("eyeTwoOuterColor", "#B71C1C");
encodedParams.append("eyeThreeInnerColor", "#F57C00");
encodedParams.append("eyeThreeOuterColor", "#B71C1C");
encodedParams.append("errorCorrectionLevel", "H");
encodedParams.append("encoding", "ISO-8859-1");
encodedParams.append("logo", "icon://logo.png");
encodedParams.append("logoSize", "20");
const options = {
method: 'POST',
url: 'https://qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com/',
params: {action: 'geo'},
headers: {
'content-type': 'application/x-www-form-urlencoded',
'X-RapidAPI-Key': 'your_key',
'X-RapidAPI-Host': 'qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com'
},
data: encodedParams
};
axios.request(options).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});

5. Phone Call QR Code
const axios = require("axios");
const encodedParams = new URLSearchParams();
encodedParams.append("phoneNumber", "+123564896525"); //Required
encodedParams.append("output", "json");
encodedParams.append("size", "300");
encodedParams.append("margin", "0");
encodedParams.append("color", "#00695C");
encodedParams.append("colorAlpha", "100");
encodedParams.append("backgroundColor", "#FFFFFF");
encodedParams.append("backgroundColorAlpha", "100");
encodedParams.append("gradientColorStart", "#EC407A");
encodedParams.append("gradientColorEnd", "#FFC107");
encodedParams.append("gradientType", "diagonal");
encodedParams.append("eyeOneInnerColor", "#F57C00");
encodedParams.append("eyeOneOuterColor", "#B71C1C");
encodedParams.append("blockStyle", "square");
encodedParams.append("eyeTwoInnerColor", "#F57C00");
encodedParams.append("eyeTwoOuterColor", "#B71C1C");
encodedParams.append("eyeThreeInnerColor", "#F57C00");
encodedParams.append("eyeThreeOuterColor", "#B71C1C");
encodedParams.append("errorCorrectionLevel", "H");
encodedParams.append("encoding", "ISO-8859-1");
encodedParams.append("logo", "icon://logo.png");
encodedParams.append("logoSize", "20");
const options = {
method: 'POST',
url: 'https://qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com/',
params: {action: 'phone'},
headers: {
'content-type': 'application/x-www-form-urlencoded',
'X-RapidAPI-Key': 'your_key',
'X-RapidAPI-Host': 'qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com'
},
data: encodedParams
};
axios.request(options).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});

6. SMS QR Code
const axios = require("axios");
const encodedParams = new URLSearchParams();
encodedParams.append("smsNumber", "+123564896525"); //Required
encodedParams.append("output", "json");
encodedParams.append("size", "300");
encodedParams.append("margin", "0");
encodedParams.append("color", "#00695C");
encodedParams.append("colorAlpha", "100");
encodedParams.append("backgroundColor", "#FFFFFF");
encodedParams.append("backgroundColorAlpha", "100");
encodedParams.append("gradientColorStart", "#EC407A");
encodedParams.append("gradientColorEnd", "#FFC107");
encodedParams.append("gradientType", "diagonal");
encodedParams.append("eyeOneInnerColor", "#F57C00");
encodedParams.append("eyeOneOuterColor", "#B71C1C");
encodedParams.append("blockStyle", "square");
encodedParams.append("eyeTwoInnerColor", "#F57C00");
encodedParams.append("eyeTwoOuterColor", "#B71C1C");
encodedParams.append("eyeThreeInnerColor", "#F57C00");
encodedParams.append("eyeThreeOuterColor", "#B71C1C");
encodedParams.append("errorCorrectionLevel", "H");
encodedParams.append("encoding", "ISO-8859-1");
encodedParams.append("logo", "icon://logo.png");
encodedParams.append("logoSize", "20");
const options = {
method: 'POST',
url: 'https://qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com/',
params: {action: 'sms'},
headers: {
'content-type': 'application/x-www-form-urlencoded',
'X-RapidAPI-Key': 'your_code',
'X-RapidAPI-Host': 'qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com'
},
data: encodedParams
};
axios.request(options).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});

7. WiFi QR Code
const axios = require("axios");
const encodedParams = new URLSearchParams();
encodedParams.append("wifiSSID", "APPCON"); //Required
encodedParams.append("wifiPassword", "12345678"); //Required
encodedParams.append("wifiEncryption", "WPA"); //Required
encodedParams.append("wifiHidden", "false"); //Required
encodedParams.append("output", "json");
encodedParams.append("size", "300");
encodedParams.append("margin", "0");
encodedParams.append("color", "#00695C");
encodedParams.append("colorAlpha", "100");
encodedParams.append("backgroundColor", "#FFFFFF");
encodedParams.append("backgroundColorAlpha", "100");
encodedParams.append("gradientColorStart", "#EC407A");
encodedParams.append("gradientColorEnd", "#FFC107");
encodedParams.append("gradientType", "diagonal");
encodedParams.append("eyeOneInnerColor", "#F57C00");
encodedParams.append("eyeOneOuterColor", "#B71C1C");
encodedParams.append("eyeTwoInnerColor", "#F57C00");
encodedParams.append("eyeTwoOuterColor", "#B71C1C");
encodedParams.append("eyeThreeInnerColor", "#F57C00");
encodedParams.append("eyeThreeOuterColor", "#B71C1C");
encodedParams.append("eyeStyle", "square");
encodedParams.append("blockStyle", "square");
encodedParams.append("errorCorrectionLevel", "H");
encodedParams.append("encoding", "ISO-8859-1");
encodedParams.append("logo", "icon://logo.png");
encodedParams.append("logoSize", "20");
const options = {
method: 'POST',
url: 'https://qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com/',
params: {action: 'wifi'},
headers: {
'content-type': 'application/x-www-form-urlencoded',
'X-RapidAPI-Key': 'your_code',
'X-RapidAPI-Host': 'qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com'
},
data: encodedParams
};
axios.request(options).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});

Image management:
1. Upload Image
const FormData = require("form-data");
const fs = require("fs");
const axios = require("axios");
const data = new FormData();
data.append("file", fs.createReadStream("/PATH/TO/sample-logo.png")); //Required
const options = {
method: 'POST',
url: 'https://qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com/image.php',
params: {action: 'upload'},
headers: {
'X-RapidAPI-Key': 'your_key',
'X-RapidAPI-Host': 'qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com',
...data.getHeaders()
},
data: data
};
axios.request(options).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});
2. Image List
const axios = require("axios");
const options = {
method: 'POST',
url: 'https://qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com/image.php',
params: {action: 'list'},
headers: {
'X-RapidAPI-Key': 'your_key',
'X-RapidAPI-Host': 'qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com'
}
};
axios.request(options).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});
3. Delete image
const axios = require("axios");
const encodedParams = new URLSearchParams();
encodedParams.append("image_name", "16681186546122-sample-logo.png"); //Required
const options = {
method: 'POST',
url: 'https://qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com/image.php',
params: {action: 'delete'},
headers: {
'content-type': 'application/x-www-form-urlencoded',
'X-RapidAPI-Key': 'your_key',
'X-RapidAPI-Host': 'qr-code-generator-with-logo-and-color-fancyqr.p.rapidapi.com'
},
data: encodedParams
};
axios.request(options).then(function (response) {
console.log(response.data);
}).catch(function (error) {
console.error(error);
});
* QR Code is a registered trademark of DENSO WAVE INCORPORATED in the United States and other countries.