Welcome to worlds fastest ZPL to vector PDF renderer.
This project focusses on rendering ZPLs quickly and reliably. We don’t aim for 100% accuracy but for 99.9% accuracy while being instant. Our render times are sub ms on our production hardware.Use this project if you need to convert ZPL’s to PDFs regularly in a high volume production environment.
API Quickstart
Howto use our REST API
Authentication
Get an API key and learn how live and test keys are billed.
Github source code
The github source code containing rust libraries for rendering ZPLs.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Caretly docs","colors":{"primary":"#16A34A","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/elstdevelopment/mEyUPr5hAhx8Ymk6/logo/light.svg?fit=max\u0026auto=format\u0026n=mEyUPr5hAhx8Ymk6\u0026q=85\u0026s=38a0968ddc089178b731322d4f4b2c6b","dark":"https://mintcdn.com/elstdevelopment/mEyUPr5hAhx8Ymk6/logo/dark.svg?fit=max\u0026auto=format\u0026n=mEyUPr5hAhx8Ymk6\u0026q=85\u0026s=d3ca831155ab72c6a207f52ce52653cd","href":"https://caretly.dev/"},"favicon":"https://mintcdn.com/elstdevelopment/mEyUPr5hAhx8Ymk6/favicon.svg?fit=max\u0026auto=format\u0026n=mEyUPr5hAhx8Ymk6\u0026q=85\u0026s=5a89ef0034a3d3b80bf1a88000980ae5","navbar":{"links":[{"href":"https://caretly.dev/playground","label":"Playground"}],"primary":{"type":"button","label":"Console","href":"https://caretly.dev/console"}},"footer":{"socials":{"github":"https://github.com/jaapieaapie1/zpl"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Playground","icon":"pen-to-square","href":"https://caretly.dev/playground"},{"anchor":"Console","icon":"key","href":"https://caretly.dev/console"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"elstdevelopment","hasAudioNarration":false,"actualSubdomain":"elstdevelopment","customDomains":["caretly.dev"],"gitSource":{"type":"github","owner":"jaapieaapie1","repo":"zpl-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ad1da3f1d059fdf24ca8fa8","collectionId":"5f57015d-2c0d-4be3-b42b-3f43645dba41","liveDeploymentHistoryId":"6ad1da3f1d059fdf24ca8fa8","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adf21a0d13963272de7ee5b","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"Console API","count":7},{"language":"default","tag":"Getting Started","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":true,"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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"index","slug":"/","pageMetadata":{"title":"Introduction","description":"Welcome to worlds fastest ZPL to vector PDF renderer.","href":"/index"},"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: \"Welcome to worlds fastest ZPL to vector PDF renderer.\"\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={p:`p`,..._provideComponents(),...props.components},{Card}=_components;if(!Card)_missingMdxReference(`Card`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`This project focusses on rendering ZPLs quickly and reliably. We don’t aim for 100% accuracy but for 99.9% accuracy while being instant. Our render times are sub ms on our production hardware.`}),`\n`,_jsx(_components.p,{children:`Use this project if you need to convert ZPL’s to PDFs regularly in a high volume production environment.`}),`\n`,_jsx(Card,{title:`API Quickstart`,icon:`rocket`,href:`/quickstart`,children:_jsx(_components.p,{children:`Howto use our REST API`})}),`\n`,_jsx(Card,{title:`Authentication`,icon:`key`,href:`/authentication`,children:_jsx(_components.p,{children:`Get an API key and learn how live and test keys are billed.`})}),`\n`,_jsx(Card,{title:`Github source code`,icon:`github`,href:`https://github.com/jaapieaapie1/zpl`,children:_jsx(_components.p,{children:`The github source code containing rust libraries for rendering ZPLs.`})})]})}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":"Introduction","description":"Welcome to worlds fastest ZPL to vector PDF renderer.","href":"/index"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"subdomain":"elstdevelopment","siteName":"Caretly docs","title":"Introduction - Caretly docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-14T12:30:57.716Z","originalFileLocation":"index.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=\"Welcome to worlds fastest ZPL to vector PDF renderer.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Caretly docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/elstdevelopment/x8WQ2Iu_tgcthz8Q/_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=\"/docs/mintlify-assets/_mintlify/favicons/elstdevelopment/x8WQ2Iu_tgcthz8Q/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/elstdevelopment/x8WQ2Iu_tgcthz8Q/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/elstdevelopment/x8WQ2Iu_tgcthz8Q/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/elstdevelopment/x8WQ2Iu_tgcthz8Q/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/elstdevelopment/x8WQ2Iu_tgcthz8Q/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/elstdevelopment/x8WQ2Iu_tgcthz8Q/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/elstdevelopment/x8WQ2Iu_tgcthz8Q/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/elstdevelopment/x8WQ2Iu_tgcthz8Q/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Introduction - Caretly docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Welcome to worlds fastest ZPL to vector PDF renderer.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Caretly docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://caretly.dev/docs\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://elstdevelopment.mintlify.app/_mintlify/api/og/v2?division=Getting+Started\u0026amp;title=Introduction\u0026amp;description=Welcome+to+worlds+fastest+ZPL+to+vector+PDF+renderer.\u0026amp;theme=2715b3590acaca1c894fce10\u0026amp;signature=2518a79c7f78800adc76436c5ee397ba7371587236b33610a3ee4446ca6e7608\">\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=\"Introduction - Caretly docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Welcome to worlds fastest ZPL to vector PDF renderer.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://elstdevelopment.mintlify.app/_mintlify/api/og/v2?division=Getting+Started\u0026amp;title=Introduction\u0026amp;description=Welcome+to+worlds+fastest+ZPL+to+vector+PDF+renderer.\u0026amp;theme=2715b3590acaca1c894fce10\u0026amp;signature=2518a79c7f78800adc76436c5ee397ba7371587236b33610a3ee4446ca6e7608\">\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=\"/docs/mintlify-assets/_mintlify/favicons/elstdevelopment/x8WQ2Iu_tgcthz8Q/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Caretly docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://caretly.dev/docs\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/index.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://caretly.dev/#organization\",\"name\":\"Caretly docs\",\"url\":\"https://caretly.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/elstdevelopment/mEyUPr5hAhx8Ymk6/logo/light.svg?fit=max\u0026auto=format\u0026n=mEyUPr5hAhx8Ymk6\u0026q=85\u0026s=38a0968ddc089178b731322d4f4b2c6b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://caretly.dev/docs#website\",\"name\":\"Caretly docs\",\"url\":\"https://caretly.dev/docs\",\"publisher\":{\"@id\":\"https://caretly.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://caretly.dev/docs#webpage\",\"url\":\"https://caretly.dev/docs\",\"name\":\"Introduction\",\"description\":\"Welcome to worlds fastest ZPL to vector PDF renderer.\",\"dateModified\":\"2026-10-14T12:30:57.716Z\",\"isPartOf\":{\"@id\":\"https://caretly.dev/docs#website\"},\"breadcrumb\":{\"@id\":\"https://caretly.dev/docs#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://caretly.dev/docs#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Getting Started\",\"item\":\"https://caretly.dev/docs/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introduction\",\"item\":\"https://caretly.dev/docs\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://caretly.dev/docs#article\",\"headline\":\"Introduction\",\"name\":\"Introduction\",\"description\":\"Welcome to worlds fastest ZPL to vector PDF renderer.\",\"url\":\"https://caretly.dev/docs\",\"mainEntityOfPage\":{\"@id\":\"https://caretly.dev/docs#webpage\"},\"dateModified\":\"2026-10-14T12:30:57.716Z\",\"publisher\":{\"@id\":\"https://caretly.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://caretly.dev/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Caretly docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Caretly docs","nav":{"global":{"anchors":[{"anchor":"Playground","icon":"pen-to-square","href":"https://caretly.dev/playground"},{"anchor":"Console","icon":"key","href":"https://caretly.dev/console"}]},"pages":[{"group":"Getting Started","pages":[{"title":"Introduction","href":""},{"title":"Render ZPL labels to PDF or PNG with the HTTP API","sidebarTitle":"Quickstart","description":"Send raw ZPL to the render endpoint and get back a vector PDF or PNG. Try it live in the playground with a ready-made example shipping label.","openapi":"openapi.json POST /render","href":"/quickstart"},{"title":"Authenticate with an API key","sidebarTitle":"Authentication","href":"/authentication"},{"title":"Render many labels in one request","sidebarTitle":"Multiple labels","href":"/multiple-labels"},{"title":"Use Caretly from AI assistants with MCP","sidebarTitle":"MCP server","href":"/mcp-server"}]},{"group":"Console API","pages":[{"title":"Read your usage and billing data with the Console API","sidebarTitle":"Usage API","href":"/usage-api"},{"title":"Monthly usage totals","deprecated":null,"version":null,"openapi":"/console-openapi.json get /api/v1/usage","href":"/api-reference/console-api/monthly-usage-totals"},{"title":"Usage per day","deprecated":null,"version":null,"openapi":"/console-openapi.json get /api/v1/usage/daily","href":"/api-reference/console-api/usage-per-day"},{"title":"Usage per key","deprecated":null,"version":null,"openapi":"/console-openapi.json get /api/v1/usage/keys","href":"/api-reference/console-api/usage-per-key"},{"title":"List usage events","deprecated":null,"version":null,"openapi":"/console-openapi.json get /api/v1/usage/events","href":"/api-reference/console-api/list-usage-events"},{"title":"List API keys","deprecated":null,"version":null,"openapi":"/console-openapi.json get /api/v1/keys","href":"/api-reference/console-api/list-api-keys"},{"title":"Billing status","deprecated":null,"version":null,"openapi":"/console-openapi.json get /api/v1/billing","href":"/api-reference/console-api/billing-status"}]}]},"title":"Introduction - Caretly docs","buildId":"dpl_3DJU2xKhT5gDPFQL5Tqv7AFnkWsF","deploymentId":"dpl_3DJU2xKhT5gDPFQL5Tqv7AFnkWsF","dynamics":[],"chunks":[]}