Skip to main content
Postcards are a cost-effective, eye-catching way to reach your audience. Perfect for marketing campaigns, event invitations, announcements, and promotional mailings.
Postcards vs Letters: Postcards don’t require envelopes, making them more economical and immediately visible to recipients.

When to Use Postcards

Marketing Campaigns

Promotions, special offers, product launches, and win-back campaigns

Event Invitations

Save the dates, open house invitations, and event announcements

Thank You Cards

Customer appreciation and thank you messages

Seasonal Greetings

Holiday cards and seasonal promotions

Abandoned Basket Reminders

Follow-up postcards to customers who started checkout but did not complete their order

Renewals & Reminders

Subscription renewals, policy updates, and friendly account reminders

Postcard Sizes

Intelliprint offers three postcard options:
SizeDimensionsBest ForEnveloped
A6148mm × 105mmCost-effective bulk mailNo
A5210mm × 148mmPremium larger postcardsNo
A5 Enveloped210mm × 148mmPrivate/confidential messagesYes
Most popular: A6 postcards are the most economical choice for bulk marketing campaigns.

Postcard Constraints

Postage limitations: Postcards can only be sent with Second Class or First Class postage. Other services (Signed For, Special Delivery, etc.) are not available for postcards.
All postcards are printed in premium quality with a glossy finish by default, making colors vibrant and images sharp.
Matt finish option: If you prefer a non-glossy look, use printing.matt_finish: true.

Design Requirements

Option 1: Two-Page PDF

Provide a 2-page PDF where:
  • Page 1 = Front of postcard (main design/image)
  • Page 2 = Back of postcard (message + address area)
Node.js
import Intelliprint from 'intelliprint';
import fs from 'fs';

const ip = Intelliprint('your-api-key-here');

const postcard = await ip.prints.create({
  testmode: true,
  type: 'postcard',  // Set type to postcard
  
  // Upload 2-page PDF
  file: fs.createReadStream('./postcard-design.pdf'),
  
  // Recipient addresses
  recipients: [{
    address: {
      name: 'Jane Smith',
      line: '456 High Street, London',
      postcode: 'SW1A 1AA',
      country: 'GB'
    }
  }],
  
  // Postcard options
  postage: {
    service: 'uk_first_class',  // or 'uk_second_class'
    ideal_envelope: 'postcard_a6'  // postcard size
  },
  
  confirmed: true
});

console.log('Postcard created:', postcard.id);

Option 2: Separate Front and Back Images

Upload separate JPG or PNG images for front and back:
import Intelliprint from 'intelliprint';
import fs from 'fs';

const ip = Intelliprint('your-api-key-here');

const postcard = await ip.prints.create({
  testmode: true,
  type: 'postcard',
  
  // Separate front and back images
  file: {
    front_image: fs.createReadStream('./front.jpg'),
    back_image: fs.createReadStream('./back.jpg')
  },
  
  recipients: [{
    address: {
      name: 'John Doe',
      line: '123 Main Street, Manchester',
      postcode: 'M1 1AA',
      country: 'GB'
    }
  }],
  
  postage: {
    service: 'uk_second_class',
    ideal_envelope: 'postcard_a6'
  },
  
  confirmed: true
});
Supported formats: JPG and PNG images are accepted. For best print quality, use high-resolution artwork (for example, around 300 DPI) and test designs in testmode before going live.

Option 3: Front and Back Images from URLs

Instead of uploading image files directly, you can provide URLs to front and back images:
const postcard = await ip.prints.create({
  testmode: true,
  type: 'postcard',
  
  // Front and back images hosted on your own infrastructure
  file: {
    front_image: {
      url: 'https://example.com/postcards/summer-front.jpg'
    },
    back_image: {
      url: 'https://example.com/postcards/summer-back.jpg'
    }
  },
  
  recipients: [{
    address: {
      name: 'John Doe',
      line: '123 Main Street, Manchester',
      postcode: 'M1 1AA',
      country: 'GB'
    }
  }],
  
  postage: {
    service: 'uk_second_class',
    ideal_envelope: 'postcard_a6'
  },
  
  confirmed: true
});

Bulk Postcards with Mailing List

Send postcards to multiple recipients efficiently:
import Intelliprint from 'intelliprint';
import fs from 'fs';

const ip = Intelliprint('your-api-key-here');

// Send to mailing list
const campaign = await ip.prints.create({
  testmode: true,
  type: 'postcard',
  
  file: fs.createReadStream('./postcard.pdf'),
  
  // Use mailing list instead of individual recipients
  mailing_list: 'mal_abc123',
  
  postage: {
    service: 'uk_second_class',  // Most economical for bulk
    ideal_envelope: 'postcard_a6'
  },
  
  confirmed: true
});

console.log(`Sending ${campaign.letters.length} postcards`);
console.log(`Total cost: £${(campaign.cost.after_tax / 100000000).toFixed(2)}`);

Matt Finish Postcards

By default, postcards have a glossy finish. For a more subtle, non-reflective look, use matt finish:
const postcard = await ip.prints.create({
  testmode: true,
  type: 'postcard',
  file: fs.createReadStream('./postcard.pdf'),
  recipients: [{address: {/* ... */}}],
  
  // Enable matt finish
  printing: {
    matt_finish: true
  },
  
  postage: {
    service: 'uk_first_class',
    ideal_envelope: 'postcard_a5'
  },
  
  confirmed: true
});

Enveloped Postcards (A5 Only)

For confidential or private messages, use enveloped A5 postcards:
Node.js
const privatePostcard = await ip.prints.create({
  testmode: true,
  type: 'postcard',
  file: fs.createReadStream('./private-message.pdf'),
  recipients: [{address: {/* ... */}}],
  
  postage: {
    service: 'uk_first_class',
    ideal_envelope: 'postcard_a5_enveloped'  // Sent in envelope
  },
  
  confirmed: true
});
Privacy: Enveloped postcards are sealed in an envelope before mailing, keeping the message private until opened.

Design Tips

Reserve a clear area on the back for the recipient address so it remains readable after printing and enclosing (for enveloped formats). Use the remaining space for messages, branding, or call-to-action.
We recommend using high-resolution artwork (for example, around 300 DPI) for crisp, professional-looking postcards. Lower-resolution images are more likely to appear pixelated.
Keep important text and images at least 5mm from the edges to avoid being trimmed during cutting.
Designing in CMYK colour mode often gives more predictable printed colours than RGB. If possible, preview your artwork before running a large campaign.
If your design extends to the edges, include 3mm bleed on all sides to prevent white borders.

Pricing

Postcards are typically more economical than letters, with pricing varying by size and postage service.
View current pricing: For up-to-date postcard and letter pricing, visit the Intelliprint Pricing Page.
Use testmode: true to get exact costs for your specific requirements before sending.Learn more about calculating costs →

Remote URL Upload

Fetch postcard designs from a URL:
const postcard = await ip.prints.create({
  testmode: true,
  type: 'postcard',
  
  // Fetch from URL
  file: {
    url: 'https://example.com/postcard-design.pdf'
  },
  
  recipients: [{address: {/* ... */}}],
  postage: {
    service: 'uk_second_class',
    ideal_envelope: 'postcard_a6'
  },
  confirmed: true
});

Postcard Response Example

{
  "id": "print_abc123",
  "type": "postcard",
  "testmode": true,
  "confirmed": true,
  "letters": [{
    "id": "letter_xyz789",
    "status": "draft",
    "envelope": "postcard_a6",
    "postage_service": "uk_second_class",
    "cost": {
      "amount": 60000000,
      "tax": 12000000,
      "after_tax": 72000000,
      "currency": "GBP"
    }
  }]
}

Common Use Cases

Marketing Campaign

// Send promotional postcards to entire mailing list
const campaign = await ip.prints.create({
  type: 'postcard',
  file: fs.createReadStream('./spring-sale.pdf'),
  mailing_list: 'mal_marketing_leads',
  postage: {
    service: 'uk_second_class',  // Most cost-effective
    ideal_envelope: 'postcard_a6'
  },
  reference: 'Spring Sale 2025 Campaign',
  confirmed: true
});

Event Invitation

// Send A5 premium postcards for event invites
const invites = await ip.prints.create({
  type: 'postcard',
  file: fs.createReadStream('./gala-invitation.pdf'),
  recipients: vipGuestList,
  postage: {
    service: 'uk_first_class',  // Faster delivery
    ideal_envelope: 'postcard_a5'  // Premium size
  },
  reference: 'Annual Gala Invitations',
  confirmed: true
});

Thank You Cards

// Send personalised thank you postcards
const thankYous = await ip.prints.create({
  type: 'postcard',
  file: {
    front_image: fs.createReadStream('./thank-you-front.jpg'),
    back_image: fs.createReadStream('./thank-you-back.jpg')
  },
  recipients: customerList,
  postage: {
    service: 'uk_first_class',
    ideal_envelope: 'postcard_a6'
  },
  printing: {
    matt_finish: true  // Elegant, non-glossy look
  },
  confirmed: true
});

What’s Not Available for Postcards

The following features are only for letters, not postcards:
  • Backgrounds/letterheads
  • Extra documents
  • Double-sided printing options
  • Inserts
  • Black & white printing (postcards are always colour)
  • Signed For, Special Delivery, Tracked services
  • Address window positioning

Next Steps