Create custom Etsy packing slips as PDFs
Etsy packing slip PDFs with your own design, including 4x6 labels. Make a branded slip for every order automatically with Zapier, Make or n8n.
Quick answer. When a new Etsy order comes in, Zapier, Make or n8n picks it up. The order details go into a packing slip template, html-pdf.com turns it into a PDF, and the PDF is emailed to you or saved to a print folder.
What you'll build
A packing slip that looks like your shop. It can show your logo, the buyer's name and address, each item with its options, a personal thank you note and a discount code for the next order.
You can make it A4, Letter, or 4x6 inches to print on the same thermal printer you use for labels.
What you need
- An Etsy shop with orders.
- Zapier, Make or n8n, connected to your Etsy account.
- A design. Start from the packing slip template. A template is a ready made page design, so you only change the text and logo.
- An API key from html-pdf.com. You get 100 free pages once, with no card.
Step by step with Zapier
- Trigger. Create a Zap with Etsy and its new order event. Load a test order.
- Make the PDF. Add Webhooks by Zapier → Custom Request. Method
POST, URLhttps://html-pdf.com/v1/pdf. - Headers.
AuthorizationwithBearer hp_live_...andContent-Typewithapplication/json. - Data. Paste the JSON below and map the buyer name, address, items and order number.
- Deliver. Add Gmail → Send Email to yourself with the
urlin Attachments, or Google Drive → Upload File into a "To print" folder.
{
"html": "<style>@page { size: 4in 6in; margin: 0.25in; }</style><h2>Thank you, Emma!</h2><p>Order #3021457</p><p>1 x Ceramic mug, sage</p><p>Use LOVE10 for 10% off your next order.</p>",
"prefer_css_page_size": true,
"filename": "packing-slip-3021457.pdf",
"response": "url"
}
The @page line sets the 4x6 size and prefer_css_page_size tells html-pdf.com to use it. For A4 or Letter, remove both and add "format": "A4" or "format": "Letter".
The url is a download link that works for 24 hours. The Zapier guide covers every option.
Step by step with Make or n8n
- Trigger. In Make, use the Etsy module that watches for new orders (Etsy calls them receipts). In n8n, use a Schedule Trigger and an HTTP Request to Etsy's API, since n8n has no built in Etsy node.
- List the items. Orders can have several items. In Make, use an Iterator and Text aggregator to build one row per item. In n8n, use a Code node.
- Make the PDF. Add HTTP → Make a request in Make or an HTTP Request node in n8n, posting to
https://html-pdf.com/v1/pdf. - Deliver to email, Google Drive or Dropbox.
See the Make guide and n8n guide for each setting.
Code path for developers
If you already pull orders from the Etsy Open API, you only need one extra call per order.
async function packingSlip(receipt) {
const items = receipt.transactions
.map(t => `<tr><td>${t.quantity} x</td><td>${t.title}</td></tr>`)
.join("");
const html = `
<style>@page { size: 4in 6in; margin: 0.25in; } body { font-family: sans-serif; }</style>
<h2>Thank you, ${receipt.name}!</h2>
<p>Order #${receipt.receipt_id}</p>
<table>${items}</table>`;
const r = await fetch("https://html-pdf.com/v1/pdf", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.HTML_PDF_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ html, prefer_css_page_size: true, response: "url" }),
});
return (await r.json()).url;
}
Ask your AI agent
Connect the html-pdf.com MCP server to your AI assistant and design the slip in a chat.
Use html-pdf to make a 4x6 inch packing slip for my Etsy shop Clay and Leaf. Order 3021457 for Emma Hart, 1 ceramic mug in sage and 2 coasters. Add a handwritten style thank you note and the code LOVE10 at the bottom.
Ask for the HTML when you're happy and paste it into your automation.
FAQ
Can I still print Etsy's own packing slip?
Yes. This does not change anything in Etsy. It gives you a second, branded slip you design yourself.
Will it work with my thermal label printer?
Yes, if you set the page to 4x6 inches as shown above. Print the PDF at 100% scale, not "fit to page".
Can I make one PDF with all of today's slips?
Yes. Collect the day's orders on a schedule, put each slip in its own section with a page break between them, and send them in one request. Each page costs one credit.
How much does it cost?
You get 100 free pages once. After that, packs start at $10 for 1,000 pages, and purchased credits never expire.
