With Dub you customize your short link QR codes, giving you many options to make it your own. This can be done during link creation or editing your link later.
With a paid plan, Dub gives you the ability to hide or show your logo on the QR code. For free users, the Dub logo will be shown by default and cannot be removed.
If you’d like to remove the Dub logo/upload your own, please consider upgrading to a Pro plan to support us. Thank you!
Dub gives you the ability to customize the style of your QR code. You can customize the dot style, marker center, marker border, and colors of your QR code.
To change the dot style of your QR code, click on one of the three options below the QR code preview. You can choose between square, circles, and joined dot styles. The default dot style is square.
To change the marker center style of your QR code, click on one of the two options below the QR code preview. You can choose between square, or circle center styles. The default marker center style is square.
To change the marker border style of your QR code, click on one of the three options below the QR code preview. You can choose between square, rounded, or circle border styles. The default marker border style is square.
Dub gives you the ability to edit both the dot and marker colors of your QR code. To change the colors of your QR code, you can either enter a custom hex color code or use the color palette picker. The default dot and marker color is black (#000000).
By default, the dot and marker colors will be synced, but if you select a different color for the marker, they will be unsynced. If you want to sync the colors again, simply click on the Match dot color button above the marker color picker.
Once you’ve set a custom QR code logo, you can use our QR Code API to create QR codes programmatically as well.On our Pro plans and above, you can choose to include your logo in the generated QR codes or hide it if you want.
If your workspace has a logo set, your QR codes will automatically have that logo as well, but you can choose to hide it using the hideLogo prop (example)
If your workspace has no logo set, your QR codes will have no logo.
Alternatively, you can also pass a custom logo in your QR codes using the logo prop (example).
To download your QR code, click the Download button in the top right of the editor and select your format. You’re able to download your QR code in SVG, PNG, or JPG formats.
To copy your QR code, click the Copy button in the top right of the editor. You’re able to copy the image version of your QR code, or the URL of the QR code image.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Dub","colors":{"primary":"#155dfc","light":"#155dfc","dark":"#155dfc"},"logo":{"light":"https://mintcdn.com/dub/NXC-v7aRqVVKRt1Q/logos/wordmark.svg?fit=max\u0026auto=format\u0026n=NXC-v7aRqVVKRt1Q\u0026q=85\u0026s=0f477cb77c06e4d3090acd888b427326","dark":"https://mintcdn.com/dub/NXC-v7aRqVVKRt1Q/logos/wordmark-dark.svg?fit=max\u0026auto=format\u0026n=NXC-v7aRqVVKRt1Q\u0026q=85\u0026s=825bae25fa971c0a55ffaa851442def1","href":"https://dub.co/home"},"favicon":"https://mintcdn.com/dub/S5CJNHicyu5NWQ7r/logos/favicon.png?fit=max\u0026auto=format\u0026n=S5CJNHicyu5NWQ7r\u0026q=85\u0026s=4b3bd73e3bc71569770af330a0dd1f9c","api":{"openapi":"https://api.dub.co"},"navbar":{"links":[{"href":"https://dub.co/contact/support","label":"Contact support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.dub.co/register"}},"footer":{"socials":{"github":"https://github.com/dubinc/dub","linkedin":"https://www.linkedin.com/company/dubinc","twitter":"https://twitter.com/dubdotco","website":"https://dub.co"}},"fonts":{"heading":{"family":"Satoshi","weight":700,"source":"fonts/Satoshi-Variable.woff2","format":"woff2"}},"integrations":{"plausible":{"domain":"dub.co"}},"contextual":{"options":["copy","view","chatgpt","claude","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"dub","hasAudioNarration":false,"actualSubdomain":"dub","customDomains":["dub.co"],"gitSource":{"type":"github","owner":"dubinc","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aecae9d001d7bfa4839317d","collectionId":"4b5222e6-ab0e-40d5-8e61-83c2c67f18e2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aecae9d001d7bfa4839317d"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aee4a6397473bd9c22035c3","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"Help Center","count":117},{"language":"default","tag":"API Reference","count":81},{"language":"default","tag":"Dub API","count":80},{"language":"default","tag":"MANAGING YOUR LINKS","count":54},{"language":"default","tag":"Developer Docs","count":37},{"language":"default","tag":"MANAGING A PROGRAM","count":36},{"language":"default","tag":"DUB PARTNERS API","count":32},{"language":"default","tag":"Links","count":26},{"language":"default","tag":"Webhooks","count":24},{"language":"default","tag":"CONCEPTS","count":23}]},"assistantConfig":{"deflection":{"enabled":false,"email":"support@dub.co","showHelpButton":false}},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"help/article/custom-qr-codes","slug":"/help/article/custom-qr-codes","pageMetadata":{"title":"Custom QR codes","description":"Learn how custom QR codes work on Dub.","href":"/help/article/custom-qr-codes"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Learn how custom QR codes work on Dub.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Frame,Heading,OptimizedImage,Tip}=_components;if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`With Dub you customize your short link QR codes, giving you many options to make it your own. This can be done during link creation or editing your link later.`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode.png?fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=3ff885267e1eb9ef45cffc70c3d18967`,alt:`Default QR Code editor`,\"data-og-width\":`2014`,width:`2014`,\"data-og-height\":`1712`,height:`1712`,\"data-path\":`images/dub-partners/qrcode.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode.png?w=280\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=aa16179867f75ca360ada9cafd5ca1b6 280w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode.png?w=560\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=233b4bb389ef083eb2ed2e04e94974cb 560w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode.png?w=840\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=0c4c823370d2f7361f06a5d9fe78c628 840w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=3dbcf5e926b5cb490ea5a603b198486b 1100w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=b126bdadac5cac15f6559469790db970 1650w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=585815b01123411e73c50de00e9e9da5 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`logo-controls`,children:`Logo controls`}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`This feature is only available on `,_jsx(_components.a,{href:`https://dub.co/pricing`,children:`Pro plans and\nabove`}),`.`]})}),`\n`,_jsx(_components.p,{children:`With a paid plan, Dub gives you the ability to hide or show your logo on the QR code. For free users, the Dub logo will be shown by default and cannot be removed.`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-logo.png?fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=33caeb5de41b31bc5d42eece60ecfa9c`,alt:`QR Code logo controls`,\"data-og-width\":`2014`,width:`2014`,\"data-og-height\":`1092`,height:`1092`,\"data-path\":`images/dub-partners/qrcode-logo.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-logo.png?w=280\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=4613b8fc9acd083a442f2a137b6efaad 280w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-logo.png?w=560\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=f342720f6450533a1a1762415200b8e6 560w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-logo.png?w=840\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=e8db5afb204587790f47125edc044747 840w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-logo.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=2e93b42e2a16fa82ba5a5fa9288e1c25 1100w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-logo.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=a18f7fb01724ec217b2484ab93d89f08 1650w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-logo.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=ad23bcaf0860e19b9439c9c5d641e049 2500w`})}),`\n`,_jsxs(_components.p,{children:[`If you’d like to remove the Dub logo/upload your own, please consider `,_jsx(_components.a,{href:`https://dub.co/pricing#how-to-upgrade-to-pro`,children:`upgrading to a Pro plan`}),` to support us. Thank you!`]}),`\n`,_jsx(Heading,{level:`3`,id:`setting-a-custom-qr-code-logo`,children:`Setting a custom QR code logo`}),`\n`,_jsx(_components.p,{children:`There are two ways to set a custom QR code logo:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`#set-a-custom-qr-code-logo-for-your-entire-workspace`,children:`For your entire workspace`}),` – applies to all short links under your workspace`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`#set-a-custom-qr-code-logo-for-a-specific-domain`,children:`For a specific domain`}),` – applies to all short links under this domain`]}),`\n`]}),`\n`,_jsx(Tip,{children:_jsx(_components.p,{children:`If a custom QR code logo is set for both your workspace and a domain, the\ncustom QR code logo for the domain will take precedence.`})}),`\n`,_jsx(Heading,{level:`4`,id:`option-1-set-a-custom-qr-code-logo-for-your-entire-workspace`,children:`Option 1: Set a custom QR code logo for your entire workspace`}),`\n`,_jsx(_components.p,{children:`To set a custom QR code logo for your entire workspace, you’ll need to set your workspace’s logo first by following the steps below:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Go to your `,_jsx(_components.a,{href:`https://app.dub.co/settings`,children:`workspace settings page`}),` by clicking on the `,_jsx(_components.strong,{children:`Settings`}),` tab in the sidebar.`]}),`\n`,_jsxs(_components.li,{children:[`Scroll down to the `,_jsx(_components.strong,{children:`Workspace Logo`}),` section and upload your company’s logo. We recommend using a square image for the best results.`]}),`\n`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-workspace-logo.png?fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=498b8cae018caef0e954baf01faf26cd`,alt:`Workspace Logo section`,\"data-og-width\":`2014`,width:`2014`,\"data-og-height\":`1556`,height:`1556`,\"data-path\":`images/dub-partners/qrcode-workspace-logo.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-workspace-logo.png?w=280\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=5e71960dd4a63f49c96ab885db55647a 280w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-workspace-logo.png?w=560\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=a398caed5decb3a0f3884a983eb5fb4e 560w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-workspace-logo.png?w=840\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=fc4fce05c62cab82de9be0b2fd645adb 840w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-workspace-logo.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=e333783b2e8b49f3a2514175d3d6c381 1100w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-workspace-logo.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=484de5a15c2cc95f9c77f7a78d5ca4cf 1650w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-workspace-logo.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=316b3b03ded4a142506819e2815e4298 2500w`})}),`\n`,_jsx(_components.p,{children:`Once you’ve set your workspace’s logo, your QR code will automatically update to use your workspace’s logo.`}),`\n`,_jsx(Heading,{level:`4`,id:`option-2-set-a-custom-qr-code-logo-for-a-specific-domain`,children:`Option 2: Set a custom QR code logo for a specific domain`}),`\n`,_jsx(_components.p,{children:`If you manage multiple brands/products on Dub, you can set custom QR code logos for each of them for better brand recognition.`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://assets.dub.co/changelog/custom-qr-code-logo.jpg`,alt:`Set custom QR code logos for your domains`})}),`\n`,_jsx(_components.p,{children:`To set a custom QR code logo for a specific domain, you’ll need to follow the steps below:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Go to your `,_jsx(_components.a,{href:`https://app.dub.co/domains`,children:`workspace Domains settings tab`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Click on the `,_jsx(_components.code,{children:`⋮`}),` button next to the domain you want to set a custom not found URL for.`]}),`\n`,_jsxs(_components.li,{children:[`Select `,_jsx(_components.strong,{children:`Edit Domain`}),` to edit the domain settings.`]}),`\n`,_jsxs(_components.li,{children:[`Toggle the `,_jsx(_components.strong,{children:`Custom QR code logo`}),` switch to enable it.`]}),`\n`,_jsx(_components.li,{children:`Upload your custom QR code logo. We recommend using a square image for the best results.`}),`\n`,_jsxs(_components.li,{children:[`Click on the `,_jsx(_components.strong,{children:`Save changes`}),` button to save the changes.`]}),`\n`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://assets.dub.co/help/domain-custom-qr-code-logo.png`,alt:`Setting a custom QR code logo for a custom domain`})}),`\n`,_jsx(Heading,{level:`2`,id:`qr-code-styling`,children:`QR code styling`}),`\n`,_jsx(_components.p,{children:`Dub gives you the ability to customize the style of your QR code. You can customize the dot style, marker center, marker border, and colors of your QR code.`}),`\n`,_jsx(Heading,{level:`3`,id:`dot-style`,children:`Dot style`}),`\n`,_jsx(_components.p,{children:`To change the dot style of your QR code, click on one of the three options below the QR code preview. You can choose between square, circles, and joined dot styles. The default dot style is square.`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-dot.png?fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=514ba77dc6bfc415badaf669c7009afd`,alt:`QR code dot style options`,\"data-og-width\":`2014`,width:`2014`,\"data-og-height\":`1712`,height:`1712`,\"data-path\":`images/dub-partners/qrcode-dot.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-dot.png?w=280\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=449f04d5e131764258de25920fd67dbd 280w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-dot.png?w=560\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=24320b2445cfd98e6f4043b3c0643939 560w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-dot.png?w=840\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=32f86717131cc034111358c76525f299 840w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-dot.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=79f9b29b25d97a03550fcdcb851a08da 1100w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-dot.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=4cbd0eafd44060ddc75420560272f9b5 1650w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-dot.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=42b290d869b983c05598a842884613a7 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`marker-center`,children:`Marker center`}),`\n`,_jsx(_components.p,{children:`To change the marker center style of your QR code, click on one of the two options below the QR code preview. You can choose between square, or circle center styles. The default marker center style is square.`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-markercenter.png?fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=78d704a32c9b92325bf7312cd93a3989`,alt:`QR code marker center style options`,\"data-og-width\":`2014`,width:`2014`,\"data-og-height\":`1712`,height:`1712`,\"data-path\":`images/dub-partners/qrcode-markercenter.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-markercenter.png?w=280\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=733a0868ccf23b189def4956d0a458e5 280w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-markercenter.png?w=560\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=e9e1244614458602a0e80607313a8494 560w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-markercenter.png?w=840\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=ab3bea61bb29d978759cd8560f525dcb 840w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-markercenter.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=d3d025bd1f00b3c4c8a8823529b4c58d 1100w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-markercenter.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=723fa206bfb7bc4f5d4bda5ab847f532 1650w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-markercenter.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=98b2ef194159aea3d88e9af0d5e61ae7 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`marker-border`,children:`Marker border`}),`\n`,_jsx(_components.p,{children:`To change the marker border style of your QR code, click on one of the three options below the QR code preview. You can choose between square, rounded, or circle border styles. The default marker border style is square.`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-markerborder.png?fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=e351529de41a3c70e7dabab2ad2e894d`,alt:`QR code marker border style options`,\"data-og-width\":`2014`,width:`2014`,\"data-og-height\":`1712`,height:`1712`,\"data-path\":`images/dub-partners/qrcode-markerborder.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-markerborder.png?w=280\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=2b0111cbd4078002892c29e07a01d200 280w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-markerborder.png?w=560\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=c4196d299fd4c2b0537924290a7f99ed 560w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-markerborder.png?w=840\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=c938cd3c4e12a879cb79489f7a6f47b6 840w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-markerborder.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=8c66593fad599309059e2bc21e0937aa 1100w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-markerborder.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=64a525475c19345a98f58325f77d9c76 1650w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-markerborder.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=ac02c084a84ee3e550ff2f55ae3bbffb 2500w`})}),`\n`,_jsx(Heading,{level:`3`,id:`colors`,children:`Colors`}),`\n`,_jsx(_components.p,{children:`Dub gives you the ability to edit both the dot and marker colors of your QR code. To change the colors of your QR code, you can either enter a custom hex color code or use the color palette picker. The default dot and marker color is black (#000000).`}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-color.png?fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=013b2d8fa85f20d9474f90ea88758a2f`,alt:`QR code color options`,\"data-og-width\":`2014`,width:`2014`,\"data-og-height\":`1712`,height:`1712`,\"data-path\":`images/dub-partners/qrcode-color.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-color.png?w=280\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=e1a09d0949c1ef4c30ba99002f0cb2a0 280w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-color.png?w=560\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=7a3cf7e5090f52f32526f2a347996ea9 560w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-color.png?w=840\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=a9217b8dd9d95c5606f1fc815cc9e5b9 840w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-color.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=263bce85fd6aa7ad5ed730f019303c39 1100w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-color.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=8ad35715d6a73b4913117d6c8a431950 1650w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-color.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=38ad686b5aaf9dd231489d580053cf4b 2500w`})}),`\n`,_jsxs(_components.p,{children:[`By default, the dot and marker colors will be synced, but if you select a different color for the marker, they will be unsynced. If you want to sync the colors again, simply click on the `,_jsx(_components.strong,{children:`Match dot color`}),` button above the marker color picker.`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-colormatch.png?fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=bfbc3c7257bef9526b1a71dbb0e4faeb`,alt:`QR code color match`,\"data-og-width\":`2014`,width:`2014`,\"data-og-height\":`1712`,height:`1712`,\"data-path\":`images/dub-partners/qrcode-colormatch.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-colormatch.png?w=280\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=30ebbc87c5b742003bccf9ca181be089 280w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-colormatch.png?w=560\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=09a5072d91f68e74f32066302871e7bd 560w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-colormatch.png?w=840\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=bc807273da80ee0ebb213384e6f5e0f0 840w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-colormatch.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=54d71fff92e301a964b64309e553e3e8 1100w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-colormatch.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=4cd9e002873207b363019e19b8e771bd 1650w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-colormatch.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=5631cb69516e4b73a27c99c3fd66ade1 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`programmatically-creating-qr-codes`,children:`Programmatically creating QR codes`}),`\n`,_jsxs(_components.p,{children:[`Once you’ve set a custom QR code logo, you can use our `,_jsx(_components.a,{href:`/docs/api-reference/endpoint/retrieve-a-qr-code`,children:`QR Code API`}),` to create QR codes programmatically as well.`]}),`\n`,_jsx(_components.p,{children:`On our Pro plans and above, you can choose to include your logo in the generated QR codes or hide it if you want.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`If your workspace has a logo set, your QR codes will automatically have that logo as well, but you can choose to hide it using the `,_jsx(_components.code,{children:`hideLogo`}),` prop (`,_jsx(_components.a,{href:`https://api.dub.co/qr?url=https://d.to/try?qr=1`,children:`example`}),`)`]}),`\n`,_jsx(_components.li,{children:`If your workspace has no logo set, your QR codes will have no logo.`}),`\n`,_jsxs(_components.li,{children:[`Alternatively, you can also pass a custom logo in your QR codes using the `,_jsx(_components.code,{children:`logo`}),` prop (`,_jsx(_components.a,{href:`https://api.dub.co/qr?url=https://d.to/try?qr=1\u0026logo=https://assets.dub.co/wordmark-square.png`,children:`example`}),`).`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`downloading-you-qr-code`,children:`Downloading you QR code`}),`\n`,_jsxs(_components.p,{children:[`To download your QR code, click the `,_jsx(_components.strong,{children:`Download`}),` button in the top right of the editor and select your format. You’re able to download your QR code in SVG, PNG, or JPG formats.`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-download.png?fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=90cdb998d1a6500e5a211dd95ba36ebc`,alt:`Downloading your QR code`,\"data-og-width\":`1112`,width:`1112`,\"data-og-height\":`624`,height:`624`,\"data-path\":`images/dub-partners/qrcode-download.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-download.png?w=280\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=19f88a130b84d5c1116db0057a79ec04 280w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-download.png?w=560\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=133840e16354b09f696a2ff5cadbbe02 560w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-download.png?w=840\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=4d893d7e262f4d42a8ea9d420926d125 840w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-download.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=651eec641e91242f402e7c49cbd18d0c 1100w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-download.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=60311fdc0aede22db878689b98903f63 1650w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-download.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=8d528d16aef205bb36554626500bac02 2500w`})}),`\n`,_jsx(Heading,{level:`2`,id:`copying-your-qr-code`,children:`Copying your QR code`}),`\n`,_jsxs(_components.p,{children:[`To copy your QR code, click the `,_jsx(_components.strong,{children:`Copy`}),` button in the top right of the editor. You’re able to copy the image version of your QR code, or the URL of the QR code image.`]}),`\n`,_jsx(Frame,{children:_jsx(OptimizedImage,{src:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-copy.png?fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=aaee248c5479f5fcee0e441b17734f94`,alt:`Copying your QR code`,\"data-og-width\":`1112`,width:`1112`,\"data-og-height\":`624`,height:`624`,\"data-path\":`images/dub-partners/qrcode-copy.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-copy.png?w=280\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=56de86bb43037c250f0e10153471fd6a 280w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-copy.png?w=560\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=7a0f46290b6eb06027cfef51cee64c12 560w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-copy.png?w=840\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=1bf3145154443ac469f37aab71866ee8 840w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-copy.png?w=1100\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=f1bae2c352002ccf8fda998c762d53f8 1100w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-copy.png?w=1650\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=515dbc7a95d251d2daaff1b6938219be 1650w, https://mintcdn.com/dub/pckRVvXJzJuR6SQM/images/dub-partners/qrcode-copy.png?w=2500\u0026fit=max\u0026auto=format\u0026n=pckRVvXJzJuR6SQM\u0026q=85\u0026s=1b2d83dba93ad5f3c2f66b064443dc03 2500w`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Custom QR codes","description":"Learn how custom QR codes work on Dub.","href":"/help/article/custom-qr-codes"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Logo controls","slug":"logo-controls","depth":2,"children":[{"title":"Setting a custom QR code logo","slug":"setting-a-custom-qr-code-logo","depth":3,"children":[]},{"title":"Option 1: Set a custom QR code logo for your entire workspace","slug":"option-1-set-a-custom-qr-code-logo-for-your-entire-workspace","depth":4,"children":[]},{"title":"Option 2: Set a custom QR code logo for a specific domain","slug":"option-2-set-a-custom-qr-code-logo-for-a-specific-domain","depth":4,"children":[]}]},{"title":"QR code styling","slug":"qr-code-styling","depth":2,"children":[{"title":"Dot style","slug":"dot-style","depth":3,"children":[]},{"title":"Marker center","slug":"marker-center","depth":3,"children":[]},{"title":"Marker border","slug":"marker-border","depth":3,"children":[]},{"title":"Colors","slug":"colors","depth":3,"children":[]}]},{"title":"Programmatically creating QR codes","slug":"programmatically-creating-qr-codes","depth":2,"children":[]},{"title":"Downloading you QR code","slug":"downloading-you-qr-code","depth":2,"children":[]},{"title":"Copying your QR code","slug":"copying-your-qr-code","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/dub/269f9b4976f6c2a3/dub-analytics.js","/_mintlify/custom/dub/1ffaeceafecf0293/dub-support.js"],"subdomain":"dub","siteName":"Dub","title":"Custom QR codes - Dub","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-11T16:39:05.301Z","originalFileLocation":"help/article/custom-qr-codes.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Learn how custom QR codes work on Dub.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Dub\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dub/1aGPzlRe7hx45hfC/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/dub/1aGPzlRe7hx45hfC/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dub/1aGPzlRe7hx45hfC/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dub/1aGPzlRe7hx45hfC/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dub/1aGPzlRe7hx45hfC/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/dub/1aGPzlRe7hx45hfC/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/dub/1aGPzlRe7hx45hfC/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/dub/1aGPzlRe7hx45hfC/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/dub/1aGPzlRe7hx45hfC/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Custom QR codes - Dub\">\u003cmeta data-mint-head property=\"og:description\" content=\"Learn how custom QR codes work on Dub.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Dub\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://dub.co/help/article/custom-qr-codes\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://dub.mintlify.site/_mintlify/api/og/v2?division=Links\u0026amp;title=Custom+QR+codes\u0026amp;description=Learn+how+custom+QR+codes+work+on+Dub.\u0026amp;theme=efc87469d3b323c9d75767e4\u0026amp;signature=f8f836a870d62056377445ae504466a217837d9dfe764d90c86db9b3a366f978\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Custom QR codes - Dub\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Learn how custom QR codes work on Dub.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://dub.mintlify.site/_mintlify/api/og/v2?division=Links\u0026amp;title=Custom+QR+codes\u0026amp;description=Learn+how+custom+QR+codes+work+on+Dub.\u0026amp;theme=efc87469d3b323c9d75767e4\u0026amp;signature=f8f836a870d62056377445ae504466a217837d9dfe764d90c86db9b3a366f978\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/dub/1aGPzlRe7hx45hfC/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Dub\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#155dfc\">\u003clink data-mint-head rel=\"canonical\" href=\"https://dub.co/help/article/custom-qr-codes\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/help/article/custom-qr-codes.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://dub.co/#organization\",\"name\":\"Dub\",\"url\":\"https://dub.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/dub/NXC-v7aRqVVKRt1Q/logos/wordmark.svg?fit=max\u0026auto=format\u0026n=NXC-v7aRqVVKRt1Q\u0026q=85\u0026s=0f477cb77c06e4d3090acd888b427326\"}},{\"@type\":\"WebSite\",\"@id\":\"https://dub.co#website\",\"name\":\"Dub\",\"url\":\"https://dub.co\",\"publisher\":{\"@id\":\"https://dub.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://dub.co/help/article/custom-qr-codes#webpage\",\"url\":\"https://dub.co/help/article/custom-qr-codes\",\"name\":\"Custom QR codes\",\"description\":\"Learn how custom QR codes work on Dub.\",\"dateModified\":\"2026-05-11T16:39:05.301Z\",\"isPartOf\":{\"@id\":\"https://dub.co#website\"},\"breadcrumb\":{\"@id\":\"https://dub.co/help/article/custom-qr-codes#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://dub.co/help/article/custom-qr-codes#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"MANAGING YOUR LINKS\",\"item\":\"https://dub.co/help/article/dub-links\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Links\",\"item\":\"https://dub.co/help/article/how-to-create-link\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Custom QR codes\",\"item\":\"https://dub.co/help/article/custom-qr-codes\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://dub.co/help/article/custom-qr-codes#article\",\"headline\":\"Custom QR codes\",\"name\":\"Custom QR codes\",\"description\":\"Learn how custom QR codes work on Dub.\",\"url\":\"https://dub.co/help/article/custom-qr-codes\",\"mainEntityOfPage\":{\"@id\":\"https://dub.co/help/article/custom-qr-codes#webpage\"},\"dateModified\":\"2026-05-11T16:39:05.301Z\",\"publisher\":{\"@id\":\"https://dub.co/#organization\"},\"isPartOf\":{\"@id\":\"https://dub.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Dub\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Dub","nav":{"global":null,"tabs":[{"tab":"Developer Docs","icon":"books","pages":[{"title":"Developer Docs","href":"/docs"}]},{"tab":"Help Center","icon":"life-ring","groups":[{"group":" ","pages":[{"title":"Dub Help Center","href":"/help"}]},{"group":"MANAGING A PROGRAM","pages":[{"title":"Dub Partners Overview","sidebarTitle":"Introduction","href":"/help/article/dub-partners"},{"group":"Getting started","pages":[{"title":"Setting up your program","href":"/help/article/setting-up-your-program"},{"title":"Configuring brand and support resources for your partners","sidebarTitle":"Brand and support resources","href":"/help/article/program-resources"},{"title":"Configuring referral links for your partner groups","sidebarTitle":"Partner referral link settings","href":"/help/article/partner-link-settings"},{"title":"Importing partners","href":"/help/article/importing-partners"}]},{"group":"Rewards and commissions","pages":[{"group":"Configuring partner rewards","root":{"title":"Configuring partner rewards","href":"/help/article/partner-rewards"},"expanded":true,"pages":[{"title":"Sale-based rewards","href":"/help/article/sale-rewards"},{"title":"Lead-based rewards","href":"/help/article/lead-rewards"},{"title":"Click-based rewards","href":"/help/article/click-rewards"},{"title":"Partner referral rewards","href":"/help/article/partner-referrals"},{"title":"Retainer-style custom rewards","href":"/help/article/retainer-rewards"}]},{"title":"Offering dual-sided incentives","href":"/help/article/dual-sided-incentives"},{"title":"Managing partner commissions","href":"/help/article/partner-commissions"},{"title":"Non-monetary rewards","href":"/help/article/non-monetary-rewards"}]},{"group":"Recruiting partners","pages":[{"title":"Inviting partners to your program","sidebarTitle":"Inviting partners","href":"/help/article/inviting-partners"},{"title":"Creating a landing page for your partner program","sidebarTitle":"Program landing page","href":"/help/article/program-landing-page"},{"title":"Customizing your program application form","sidebarTitle":"Program application form","href":"/help/article/program-application-form"},{"title":"Reviewing program applications","href":"/help/article/program-applications"},{"title":"Embedded referral dashboard","href":"/docs/partners/embedded-referrals"}]},{"group":"Managing partners","pages":[{"title":"Partner details","href":"/help/article/managing-program-partners"},{"title":"Managing your partners with groups","sidebarTitle":"Partner groups","href":"/help/article/partner-groups"},{"title":"Partner tags","href":"/help/article/partner-tags"}]},{"group":"Sending payouts","pages":[{"title":"Sending partner payouts on Dub","sidebarTitle":"Sending partner payouts","href":"/help/article/partner-payouts"},{"title":"Setting up a bank account for partner payouts","sidebarTitle":"Setting up bank account","href":"/help/article/how-to-set-up-bank-account"}]},{"group":"Engaging partners","pages":[{"title":"Program bounties","href":"/help/article/program-bounties"},{"title":"Sending marketing and transactional emails to your partners","sidebarTitle":"Email campaigns","href":"/help/article/email-campaigns"},{"title":"Messaging your partners","href":"/help/article/messaging-partners"}]},{"group":"Insights and reporting","pages":[{"title":"Measuring program performance","sidebarTitle":"Program analytics","href":"/help/article/program-analytics"},{"title":"Commission analytics","sidebarTitle":"Commission analytics","href":"/help/article/commission-analytics"},{"title":"Application analytics","sidebarTitle":"Application analytics","href":"/help/article/application-analytics"},{"title":"Risk monitoring","href":"/help/article/risk-monitoring"}]},{"group":"Migration guides","pages":[{"title":"Migrating from Rewardful","sidebarTitle":"Rewardful","href":"/help/article/migrating-from-rewardful"},{"title":"Migrating from PartnerStack","sidebarTitle":"PartnerStack","href":"/help/article/migrating-from-partnerstack"},{"title":"Migrating from FirstPromoter","sidebarTitle":"FirstPromoter","href":"/help/article/migrating-from-firstpromoter"},{"title":"Migrating from Tapfiliate","sidebarTitle":"Tapfiliate","href":"/help/article/migrating-from-tapfiliate"},{"title":"Migrating from Tolt","sidebarTitle":"Tolt","href":"/help/article/migrating-from-tolt"},{"title":"Migrating from Lemon Squeezy","sidebarTitle":"Lemon Squeezy","href":"/help/article/migrating-from-lemonsqueezy"}]}]},{"group":"PARTNERING WITH PROGRAMS","pages":[{"group":"Getting started","pages":[{"title":"Customizing your partner profile","sidebarTitle":"Customizing your profile","href":"/help/article/partner-profile"},{"title":"Inviting your partner team","href":"/help/article/managing-partner-teams"},{"title":"Merging your partner accounts","sidebarTitle":"Merging partner accounts","href":"/help/article/merging-partner-accounts"},{"title":"Frequently Asked Questions","sidebarTitle":"FAQs","href":"/help/article/partners-faq"}]},{"group":"Joining programs","pages":[{"title":"Applying to programs via the Dub Program Marketplace","sidebarTitle":"Applying to programs","href":"/help/article/program-marketplace"},{"title":"Navigating a partner program","sidebarTitle":"Navigating a program","href":"/help/article/navigating-partner-program"},{"title":"Communicating with your programs","sidebarTitle":"Communicating with programs","href":"/help/article/communicating-with-programs"}]},{"group":"Receiving payouts","pages":[{"title":"Connecting your payout method to receive payouts","sidebarTitle":"Connecting your payout method","href":"/help/article/receiving-payouts"},{"title":"How commissions and payouts work on Dub","href":"/help/article/commissions-payouts"},{"title":"Dub Network referral bonus","href":"/help/article/network-referral-bonus"},{"title":"Setting business details in partner payout invoices","sidebarTitle":"Customizing invoice details","href":"/help/article/partner-payout-invoice"}]}]},{"group":"MANAGING YOUR LINKS","pages":[{"title":"Dub Links Overview","sidebarTitle":"Introduction","href":"/help/article/dub-links"},{"group":"Links","pages":[{"title":"How to create a short link on Dub?","sidebarTitle":"Creating a short link","href":"/help/article/how-to-create-link"},{"title":"How do I add UTM parameters to a link?","sidebarTitle":"Adding UTM parameters","href":"/help/article/utm-builder"},{"title":"How to create UTM templates on Dub","description":"Learn how to create UTM templates on Dub to streamline UTM campaign management across your team.","sidebarTitle":"UTM templates","href":"/help/article/how-to-create-utm-templates"},{"title":"Custom QR codes","href":"/help/article/custom-qr-codes"},{"title":"How to set custom link previews for your Dub links?","description":"Learn how to customize how your links show up on social media to improve click-through rates.","sidebarTitle":"Custom link previews","href":"/help/article/custom-link-previews"},{"title":"How to use device targeting on Dub?","sidebarTitle":"Device targeting","href":"/help/article/device-targeting"},{"title":"How to use geo targeting on Dub?","sidebarTitle":"Geo targeting","href":"/help/article/geo-targeting"},{"title":"How to use link cloaking on Dub?","sidebarTitle":"Link cloaking","href":"/help/article/link-cloaking"},{"title":"How to run A/B tests with Dub Links?","sidebarTitle":"A/B testing","href":"/help/article/ab-testing"},{"title":"How to create password-protected links on Dub?","sidebarTitle":"Password protection","href":"/help/article/password-protected-links"},{"title":"How to set an expiration date for your Dub links?","sidebarTitle":"Link expiration","href":"/help/article/link-expiration"},{"title":"How to add comments to your links in Dub?","sidebarTitle":"Link comments","href":"/help/article/link-comments"},{"title":"How to manage your links in bulk","sidebarTitle":"Bulk link actions","href":"/help/article/bulk-link-actions"},{"title":"How to use Tags on Dub","sidebarTitle":"Link tags","href":"/help/article/how-to-use-tags"},{"title":"Managing links with folders","sidebarTitle":"Link folders","href":"/help/article/link-folders"},{"title":"Folders role-based access control (RBAC)","sidebarTitle":"Folders RBAC","href":"/help/article/folders-rbac"}]},{"group":"Analytics","pages":[{"title":"Dub Analytics Overview","sidebarTitle":"Overview","href":"/help/article/dub-analytics"},{"title":"Conversion tracking","href":"/help/article/dub-conversions"},{"title":"Real-time events stream","href":"/help/article/real-time-events-stream"},{"title":"Customer insights","href":"/help/article/customer-insights"},{"group":"Filtering analytics","pages":[{"title":"How to filter analytics by folders","sidebarTitle":"By folders","href":"/help/article/filter-analytics-by-folders"},{"title":"How to filter analytics by tags","sidebarTitle":"By tags","href":"/help/article/filter-analytics-by-tags"},{"title":"Filtering and visualizing your analytics by UTM parameters","sidebarTitle":"By UTM tags","href":"/help/article/filter-analytics-by-utms"},{"title":"How to filter by trigger type","sidebarTitle":"By trigger","href":"/help/article/filter-analytics-by-trigger"}]},{"title":"How to create public analytics dashboards on Dub","sidebarTitle":"Public analytics dashboards","href":"/help/article/share-analytics"},{"title":"Dub Analytics Limits","sidebarTitle":"Limits \u0026 pricing","href":"/help/article/dub-analytics-limits"},{"title":"How to export link analytics data from Dub","sidebarTitle":"Exporting analytics","href":"/help/article/how-to-export-analytics"},{"title":"Why are my analytics country or city data incorrect?","sidebarTitle":"Incorrect geolocation data","href":"/help/article/incorrect-analytics-geolocation-data"}]},{"group":"Custom domains","pages":[{"title":"How to add a custom domain to Dub","sidebarTitle":"Adding a custom domain","href":"/help/article/how-to-add-custom-domain"},{"title":"How to choose a custom domain for your short links","sidebarTitle":"Choosing a custom domain","href":"/help/article/choosing-a-custom-domain"},{"title":"How to set up a redirect for your custom domain on Dub","sidebarTitle":"Redirecing root domain link","href":"/help/article/how-to-redirect-root-domain"},{"title":"Free .link domain offer on Dub","sidebarTitle":"Free .link domain offer","href":"/help/article/free-dot-link-domain"},{"title":"How to use Dub to shorten links on a subpath","sidebarTitle":"Shortening links on a subpath","href":"/help/article/how-to-use-dub-with-subpath"},{"title":"Using Cloudflare domains with Dub","sidebarTitle":"Using Cloudflare domains","href":"/help/article/using-cloudflare-domains"},{"title":"Troubleshooting custom domains","href":"/help/article/troubleshooting-domains"},{"title":"What are default Dub domains?","sidebarTitle":"Default Dub domains","href":"/help/article/default-dub-domains"},{"title":"How to set a primary domain on Dub?","sidebarTitle":"Setting a primary domain","href":"/help/article/how-to-set-primary-domain"},{"title":"Archiving domains on Dub","sidebarTitle":"Archiving domains","href":"/help/article/archiving-domains"},{"title":"How to set a not found URL for your custom domains","sidebarTitle":"Setting a not found URL","href":"/help/article/setting-not-found-url"},{"title":"How to transfer domains between workspaces?","sidebarTitle":"Transferring domains","href":"/help/article/how-to-transfer-domains"},{"title":"Can I use a proxy on top of my Dub custom domain?","sidebarTitle":"Using proxies on custom domains","href":"/help/article/using-proxies-on-custom-domains"}]},{"group":"Additional guides","pages":[{"title":"What is the Dub link builder?","sidebarTitle":"Dub link builder","href":"/help/article/dub-link-builder"},{"title":"How to pass query parameters in short links?","sidebarTitle":"Query parameter passing","href":"/help/article/parameter-passing"},{"title":"How to transfer links between workspaces?","sidebarTitle":"Transferring links","href":"/help/article/how-to-transfer-links"},{"title":"How to export links from Dub","sidebarTitle":"Export links","href":"/help/article/how-to-export-links"},{"title":"How noindex works on Dub","sidebarTitle":"Noindex support","href":"/help/article/how-noindex-works"},{"title":"How can I check a Dub link's destination before clicking on it?","sidebarTitle":"Checking link destination","href":"/help/article/how-to-check-link-destination"},{"title":"Does Dub allow for double link redirects?","sidebarTitle":"Double link redirects","href":"/help/article/link-double-redirects"},{"title":"Why are my dub.sh links not working?","sidebarTitle":"dub.sh links not working?","href":"/help/article/dub-links-not-working"}]},{"group":"Migration guides","pages":[{"title":"Migrating from Bitly","sidebarTitle":"Bitly","href":"/help/article/migrating-from-bitly"},{"title":"Migrating from Rebrandly","sidebarTitle":"Rebrandly","href":"/help/article/migrating-from-rebrandly"},{"title":"Migrating from Short.io","sidebarTitle":"Short.io","href":"/help/article/migrating-from-short"},{"title":"How to import links from a CSV file","sidebarTitle":"Import links via CSV","href":"/help/article/how-to-import-csv"}]}]},{"group":"MANAGING YOUR WORKSPACE","pages":[{"title":"What is a \"Workspace\" on Dub?","sidebarTitle":"What is a workspace?","href":"/help/article/what-is-a-workspace"},{"group":"Workspace members","pages":[{"title":"How to invite teammates on Dub","sidebarTitle":"Inviting your team members","href":"/help/article/how-to-invite-teammates"},{"title":"Managing workspace members with roles","sidebarTitle":"Configuring workspace roles","href":"/help/article/workspace-roles"}]},{"group":"Billing \u0026 subscription","pages":[{"title":"Free 14-day trial","href":"/help/article/free-trial"},{"title":"How to change my Dub billing information?","sidebarTitle":"Updating billing information","href":"/help/article/how-to-change-billing-information"},{"title":"How can I download my Dub invoice?","sidebarTitle":"Downloading your invoice","href":"/help/article/how-to-download-invoice"},{"title":"How to cancel my Dub subscription?","sidebarTitle":"Canceling your subscription","href":"/help/article/how-to-cancel-subscription"}]},{"group":"SAML/SSO","pages":[{"title":"Configuring SAML SSO with Okta","sidebarTitle":"Okta SAML SSO","href":"/help/article/okta-saml"},{"title":"Configuring SCIM Directory Sync with Okta","sidebarTitle":"Okta SCIM Directory Sync","href":"/help/article/okta-scim"},{"title":"Configuring SAML SSO with Google Workspace","sidebarTitle":"Google Workspace SAML SSO","href":"/help/article/google-saml"},{"title":"Configuring SAML SSO with Azure AD","sidebarTitle":"Azure AD SAML SSO","href":"/help/article/azure-saml"},{"title":"Configuring SCIM Directory Sync with Azure AD","sidebarTitle":"Azure AD SCIM Directory Sync","href":"/help/article/azure-scim"}]},{"group":"Additional guides","pages":[{"title":"How to change my default workspace on Dub?","sidebarTitle":"Changing your default workspace","href":"/help/article/how-to-change-default-workspace"},{"title":"How to change the default product in my workspace?","sidebarTitle":"Changing workspace default product","href":"/help/article/how-to-change-default-product"},{"title":"How to delete my Dub account?","sidebarTitle":"Deleting your account","href":"/help/article/how-to-delete-account"}]}]}]},{"tab":"API Reference","icon":"code","dropdowns":[{"dropdown":"Dub API","icon":"code","groups":[{"group":"DUB API","pages":[{"title":"Introduction","href":"/docs/api-reference/introduction"},{"title":"API Authentication","sidebarTitle":"Authentication","href":"/docs/api-reference/authentication"},{"title":"Rate limits","href":"/docs/api-reference/rate-limits"},{"title":"Dub MCP Server","sidebarTitle":"MCP Server","href":"/docs/mcp-server"}]},{"group":"SDKs","pages":[{"title":"Overview","href":"/docs/sdks/overview"},{"group":"Server-side SDKs","pages":[{"title":"TypeScript SDK","href":"/docs/sdks/typescript"},{"title":"Python SDK","href":"/docs/sdks/python"},{"title":"Ruby SDK","href":"/docs/sdks/ruby"},{"title":"PHP SDK","href":"/docs/sdks/php"},{"title":"Go SDK","href":"/docs/sdks/go"}]},{"group":"Client-side SDK (Web)","pages":[{"title":"Introduction","href":"/docs/sdks/client-side/introduction"},{"group":"Installation guides","pages":[{"title":"React","href":"/docs/sdks/client-side/installation-guides/react"},{"title":"Google Tag Manager","href":"/docs/sdks/client-side/installation-guides/google-tag-manager"},{"title":"Manual Installation","href":"/docs/sdks/client-side/installation-guides/manual"},{"title":"Webflow","href":"/docs/sdks/client-side/installation-guides/webflow"},{"title":"WordPress","href":"/docs/sdks/client-side/installation-guides/wordpress"},{"title":"Framer","href":"/docs/sdks/client-side/installation-guides/framer"},{"title":"Shopify","href":"/docs/sdks/client-side/installation-guides/shopify"}]},{"group":"Features","pages":[{"title":"Client-side click tracking","href":"/docs/sdks/client-side/features/click-tracking"},{"title":"Client-side conversion tracking","sidebarTitle":"Conversion tracking","href":"/docs/sdks/client-side/features/conversion-tracking"},{"title":"Cross-domain tracking","href":"/docs/sdks/client-side/features/cross-domain-tracking"},{"title":"Reverse-proxy support","href":"/docs/sdks/client-side/features/reverse-proxy-support"}]},{"title":"Script Variants","href":"/docs/sdks/client-side/variants"}]},{"group":"Client-side SDK (Mobile)","pages":[{"title":"Introduction","href":"/docs/sdks/client-side-mobile/introduction"},{"group":"Installation Guides","pages":[{"title":"Swift","tag":"Beta","href":"/docs/sdks/client-side-mobile/installation-guides/swift"},{"title":"React Native","tag":"Beta","href":"/docs/sdks/client-side-mobile/installation-guides/react-native"}]}]}]},{"group":"DUB PARTNERS API","pages":[{"group":"Partners","pages":[{"openapi":"post /partners","sidebarTitle":"Create partner","title":"Create or update a partner","href":"/docs/api-reference/partners/create"},{"openapi":"get /partners","sidebarTitle":"List partners","title":"List all partners","href":"/docs/api-reference/partners/list"},{"openapi":"post /partners/ban","sidebarTitle":"Ban partner","title":"Ban a partner","href":"/docs/api-reference/partners/ban"},{"openapi":"post /partners/deactivate","sidebarTitle":"Deactivate partner","title":"Deactivate a partner","href":"/docs/api-reference/partners/deactivate"},{"openapi":"post /partners/attribute-referring-partner","sidebarTitle":"Attribute referring partner","title":"Attribute a referring partner","href":"/docs/api-reference/partners/attribute-referring-partner"},{"openapi":"post /partners/links","sidebarTitle":"Create partner link","title":"Create a link for a partner","href":"/docs/api-reference/partners/create-link"},{"openapi":"put /partners/links/upsert","sidebarTitle":"Upsert partner link","title":"Upsert a link for a partner","href":"/docs/api-reference/partners/upsert-link"},{"openapi":"get /partners/links","sidebarTitle":"List partner links","title":"Retrieve a partner's links.","href":"/docs/api-reference/partners/retrieve-links"}]},{"group":"Program applications","pages":[{"openapi":"get /program-applications","sidebarTitle":"List program applications","title":"List all program applications","href":"/docs/api-reference/program-applications/list"},{"openapi":"post /program-applications/approve","sidebarTitle":"Approve program application","title":"Approve a partner application","href":"/docs/api-reference/program-applications/approve"},{"openapi":"post /program-applications/reject","sidebarTitle":"Reject program application","title":"Reject a partner application","href":"/docs/api-reference/program-applications/reject"}]},{"group":"Analytics \u0026 events","pages":[{"title":"Retrieve analytics","openapi":"get /analytics","href":"/docs/api-reference/analytics/retrieve"},{"openapi":"get /events","sidebarTitle":"List events","title":"List all events","href":"/docs/api-reference/events/list"}]},{"group":"Tracking","pages":[{"openapi":"post /track/lead","title":"Track a lead event","href":"/docs/api-reference/track/lead"},{"openapi":"post /track/sale","title":"Track a sale event","href":"/docs/api-reference/track/sale"},{"openapi":"post /track/open","title":"Track a deep link open event","href":"/docs/api-reference/track/open"}]},{"group":"Customers","pages":[{"openapi":"get /customers/{id}","sidebarTitle":"Retrieve customer","title":"Retrieve a customer","href":"/docs/api-reference/customers/retrieve"},{"openapi":"get /customers","sidebarTitle":"List customers","title":"List all customers","href":"/docs/api-reference/customers/list"},{"openapi":"patch /customers/{id}","sidebarTitle":"Update customer","title":"Update a customer","href":"/docs/api-reference/customers/update"},{"openapi":"delete /customers/{id}","sidebarTitle":"Delete customer","title":"Delete a customer","href":"/docs/api-reference/customers/delete"}]},{"group":"Bounty submissions","pages":[{"openapi":"get /bounties/{bountyId}/submissions","sidebarTitle":"List submissions","title":"List bounty submissions","href":"/docs/api-reference/bounties/list"},{"openapi":"post /bounties/{bountyId}/submissions/{submissionId}/approve","sidebarTitle":"Approve submission","title":"Approve a bounty submission","href":"/docs/api-reference/bounties/approve"},{"openapi":"post /bounties/{bountyId}/submissions/{submissionId}/reject","sidebarTitle":"Reject submission","title":"Reject a bounty submission","href":"/docs/api-reference/bounties/reject"}]},{"group":"Commissions","pages":[{"openapi":"get /commissions","sidebarTitle":"List commissions","title":"List all commissions","href":"/docs/api-reference/commissions/list"},{"openapi":"post /commissions","sidebarTitle":"Create commission","title":"Create commission","href":"/docs/api-reference/commissions/create"},{"openapi":"patch /commissions/{id}","sidebarTitle":"Update commission","title":"Update a commission","href":"/docs/api-reference/commissions/update"}]},{"group":"Payouts","pages":[{"openapi":"get /payouts","sidebarTitle":"List payouts","title":"List all payouts","href":"/docs/api-reference/payouts/list"}]},{"group":"Messages","pages":[{"openapi":"get /messages","sidebarTitle":"List messages","title":"List all messages","href":"/docs/api-reference/messages/list"},{"openapi":"post /messages","sidebarTitle":"Send a message","title":"Send a message to a partner","href":"/docs/api-reference/messages/create"}]},{"group":"Discount codes","pages":[{"openapi":"get /discount-codes","sidebarTitle":"List discount codes","title":"List discount codes","href":"/docs/api-reference/discount-codes/list"},{"openapi":"post /discount-codes","sidebarTitle":"Create discount code","title":"Create a discount code","href":"/docs/api-reference/discount-codes/create"},{"openapi":"delete /discount-codes/{idOrCode}","sidebarTitle":"Delete discount code","title":"Delete a discount code","href":"/docs/api-reference/discount-codes/delete"}]}]},{"group":"DUB LINKS API","pages":[{"group":"Links","pages":[{"openapi":"post /links","sidebarTitle":"Create link","title":"Create a link","href":"/docs/api-reference/links/create"},{"openapi":"patch /links/{linkId}","sidebarTitle":"Update link","title":"Update a link","href":"/docs/api-reference/links/update"},{"openapi":"put /links/upsert","sidebarTitle":"Upsert link","title":"Upsert a link","href":"/docs/api-reference/links/upsert"},{"openapi":"delete /links/{linkId}","sidebarTitle":"Delete link","title":"Delete a link","href":"/docs/api-reference/links/delete"},{"openapi":"get /links/info","sidebarTitle":"Retrieve link","title":"Retrieve a link","href":"/docs/api-reference/links/retrieve"},{"openapi":"get /links","sidebarTitle":"List links","title":"List all links","href":"/docs/api-reference/links/list"},{"openapi":"get /links/count","sidebarTitle":"Count links","title":"Retrieve links count","href":"/docs/api-reference/links/count"},{"openapi":"post /links/bulk","sidebarTitle":"Bulk create links","title":"Bulk create links","href":"/docs/api-reference/links/bulk-create"},{"openapi":"patch /links/bulk","sidebarTitle":"Bulk update links","title":"Bulk update links","href":"/docs/api-reference/links/bulk-update"},{"openapi":"delete /links/bulk","sidebarTitle":"Bulk delete links","title":"Bulk delete links","href":"/docs/api-reference/links/bulk-delete"}]},{"group":"Domains","pages":[{"openapi":"post /domains","sidebarTitle":"Create domain","title":"Create a domain","href":"/docs/api-reference/domains/create"},{"openapi":"patch /domains/{slug}","sidebarTitle":"Update domain","title":"Update a domain","href":"/docs/api-reference/domains/update"},{"openapi":"delete /domains/{slug}","sidebarTitle":"Delete domain","title":"Delete a domain","href":"/docs/api-reference/domains/delete"},{"openapi":"post /domains/register","sidebarTitle":"Register domain","title":"Register a domain","href":"/docs/api-reference/domains/register"},{"openapi":"get /domains/status","sidebarTitle":"Check domain availability","title":"Check the availability of one or more domains","href":"/docs/api-reference/domains/check-availability"}]},{"group":"Folders","pages":[{"openapi":"post /folders","sidebarTitle":"Create folder","title":"Create a folder","href":"/docs/api-reference/folders/create"},{"openapi":"patch /folders/{id}","sidebarTitle":"Update folder","title":"Update a folder","href":"/docs/api-reference/folders/update"},{"openapi":"delete /folders/{id}","sidebarTitle":"Delete folder","title":"Delete a folder","href":"/docs/api-reference/folders/delete"},{"openapi":"get /folders","sidebarTitle":"List folders","title":"List all folders","href":"/docs/api-reference/folders/list"}]},{"group":"Tags","pages":[{"openapi":"post /tags","sidebarTitle":"Create tag","title":"Create a tag","href":"/docs/api-reference/tags/create"},{"openapi":"get /tags","sidebarTitle":"List tags","title":"List all tags","href":"/docs/api-reference/tags/list"},{"openapi":"patch /tags/{id}","sidebarTitle":"Update tag","title":"Update a tag","href":"/docs/api-reference/tags/update"}]}]}]},{"dropdown":"Dub Partner API","icon":"chart-line","groups":[{"group":"DUB PARTNER API","pages":[{"title":"Introduction","href":"/docs/partner-api-reference/introduction"}]}]}]},{"tab":"Webhooks","icon":"webhook","dropdowns":[{"dropdown":"Dub Webhooks","icon":"webhook","groups":[{"group":"DUB WEBHOOKS","pages":[{"title":"Introduction","href":"/docs/webhooks/introduction"},{"title":"Event types","href":"/docs/webhooks/event-types"},{"title":"Verify webhook requests","href":"/docs/webhooks/verify-webhook-requests"}]},{"group":"DUB PARTNERS WEBHOOKS","pages":[{"title":"program_application.created","icon":"users","href":"/docs/webhooks/events/program-application-created"},{"title":"partner.enrolled","icon":"users","href":"/docs/webhooks/events/partner-enrolled"},{"title":"partner.merged","icon":"users","href":"/docs/webhooks/events/partner-merged"},{"title":"lead.created","icon":"user-crown","href":"/docs/webhooks/events/lead-created"},{"title":"sale.created","icon":"coins","href":"/docs/webhooks/events/sale-created"},{"title":"commission.created","icon":"money-bill","href":"/docs/webhooks/events/commission-created"},{"title":"bounty.created","icon":"trophy","href":"/docs/webhooks/events/bounty-created"},{"title":"bounty.updated","icon":"trophy","href":"/docs/webhooks/events/bounty-updated"},{"title":"discount_code.created","icon":"ticket","href":"/docs/webhooks/events/discount-code-created"},{"title":"discount_code.deleted","icon":"ticket","href":"/docs/webhooks/events/discount-code-deleted"},{"title":"message.received","icon":"message","href":"/docs/webhooks/events/message-received"}]},{"group":"DUB LINKS WEBHOOKS","pages":[{"title":"link.created","icon":"link","href":"/docs/webhooks/events/link-created"},{"title":"link.updated","icon":"link","href":"/docs/webhooks/events/link-updated"},{"title":"link.deleted","icon":"link","href":"/docs/webhooks/events/link-deleted"},{"title":"link.clicked","icon":"link","href":"/docs/webhooks/events/link-clicked"}]}]},{"dropdown":"Dub Postbacks","icon":"arrow-progress","groups":[{"group":"DUB POSTBACKS","pages":[{"title":"Introduction","href":"/docs/postbacks/introduction"},{"title":"Event types","href":"/docs/postbacks/event-types"},{"title":"Verify postback requests","href":"/docs/postbacks/verify-postback-requests"}]},{"group":"DUB POSTBACK EVENTS","pages":[{"title":"lead.created","icon":"user-crown","href":"/docs/postbacks/events/lead-created"},{"title":"sale.created","icon":"coins","href":"/docs/postbacks/events/sale-created"},{"title":"commission.created","icon":"money-bill","href":"/docs/postbacks/events/commission-created"}]}]}]}]},"basePath":"","title":"Custom QR codes - Dub","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-NdetNziF.js","DynamicMarkdown-CD8713Yy.js","zoom-image-lightbox-DMoL6lHz.js","lightbox-handle-r17bVUz3.js"]}