Packing Slip Generator
Create a branded packing slip with return instructions to include in every box, with or without prices shown.
Your details
Printable packing slip
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Packing Slip #1042</title>
<style>
* { box-sizing: border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif; color: #111; margin: 0; padding: 32px; font-size: 13px; line-height: 1.5; background: #fff; }
.doc { max-width: 760px; margin: 0 auto; }
.row { display: flex; justify-content: space-between; gap: 24px; }
.head { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 28px; gap: 16px; }
h1 { font-size: 22px; margin: 0 0 4px; letter-spacing: -0.02em; }
h2 { font-size: 12px; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin: 24px 0 8px; }
table { width: 100%; border-collapse: collapse; margin-top: 8px; }
th, td { text-align: left; padding: 8px 10px; border-bottom: 1px solid #e3e3e3; font-size: 12.5px; }
th { text-transform: uppercase; font-size: 10.5px; letter-spacing: 0.05em; color: #666; border-bottom: 2px solid #111; }
td.num, th.num { text-align: right; }
.totals { margin-top: 12px; width: 260px; margin-left: auto; }
.totals div { display: flex; justify-content: space-between; padding: 4px 0; }
.totals .grand { font-weight: 700; border-top: 2px solid #111; margin-top: 4px; padding-top: 8px; font-size: 15px; }
.muted { color: #666; }
.box { border: 1px solid #ddd; border-radius: 8px; padding: 12px 14px; }
.sig { margin-top: 40px; display: flex; gap: 40px; }
.sig div { flex: 1; border-top: 1px solid #111; padding-top: 6px; font-size: 11px; color: #666; }
@media print { body { padding: 0; } }
</style>
</head>
<body>
<div class="doc">
<div class="head">
<div><h1>Packing Slip</h1><p class="muted">Order #1042 · 2026-09-28</p></div>
<div class="box" style="text-align:right"><p><strong>Harbour & Co</strong></p><p class="muted" style="white-space:pre-line">48 Quay Street
Cork, Ireland</p></div>
</div>
<div class="row">
<div><h2>Ship to</h2><p><strong>Priya Nair</strong></p><p class="muted" style="white-space:pre-line">22 Elm Grove
Apt 4B
Boston, MA 02116</p></div>
<div style="text-align:right"><h2>Shipping</h2><p>Standard (3–5 business days)</p></div>
</div>
<table><thead><tr><th>SKU</th><th>Item</th><th class="num">Qty</th></tr></thead><tbody><tr><td>TEE-BLK-M</td><td>Classic Tee (Black M)</td><td class="num">2</td></tr><tr><td>TOTE-NAT</td><td>Canvas Tote</td><td class="num">1</td></tr></tbody></table>
<h2>Returns</h2>
<p class="muted" style="white-space:pre-line">Returns accepted within 30 days in original condition. Start a return at harbourco.com/returns using your order number.</p>
</div>
</body>
</html>Print one per order and include it in the box, or download the HTML and fold it into your fulfillment workflow.
Live preview
What goes on a packing slip
A packing slip confirms what's physically in the box: SKU, description and quantity for each item, who it's going to, and how to return something. It's usually printed without prices, since it often travels with the product to someone other than the buyer (a gift recipient, for instance).
Turn on Show prices if you want it to double as a receipt, for example on a wholesale or B2B order where the recipient expects to see the amounts.
Using it in your fulfillment flow
- 01
Shopify
Shopify has a built-in packing slip print option under an order's More actions, styled from your theme. Use this generator instead when you want a different layout, or when you're fulfilling outside Shopify entirely.
- 02
WooCommerce
Core WooCommerce doesn't print packing slips; most stores add one through a shipping or PDF invoicing extension. This tool covers a one-off or small-batch need without installing anything.
- 03
Return instructions
Keep them short and specific: where to send items back, the time window, and any condition requirements. A vague return policy is a common source of support tickets.
Questions people ask
Should a packing slip show prices?
Usually not, since it often reaches someone other than the buyer. Show prices only for B2B orders or when the recipient is always the person who paid.
What's the difference between a packing slip and an invoice?
A packing slip confirms contents for the person receiving the box. An invoice is a bill, with prices, tax and a total due, addressed to whoever's paying.
Can I print one packing slip per order automatically?
Not with this tool: it's built for a single document at a time. For automatic, per-order slips at scale, use Shopify's built-in printer or a fulfillment app.
What return window should I use?
Match your published returns policy. Many stores use 30 days; check your own policy page rather than defaulting to the example here.
Related tools
Last reviewed 30 September 2026.
