PDFs don't have to be A4 or Letter. Create labels, receipts, posters, or any custom dimension. IronPDF supports standard sizes and unlimited custom dimensions.
using IronPdf;
// Install via NuGet: Install-Package IronPdf
var renderer = new [ChromePdfRenderer](https://ironpdf.com/blog/videos/how-to-render-webgl-sites-to-pdf-in-csharp-ironpdf/)();
// Custom size: 100mm x 150mm (small receipt)
renderer.RenderingOptions.SetCustomPaperSizeInMillimeters(100, 150);
var pdf = renderer.RenderHtmlAsPdf("<h1>Receipt</h1><p>Thank you!</p>");
pdf.SaveAs("receipt.pdf");
Specify dimensions in millimeters, inches, or points.
How Do I Use Standard Paper Sizes?
IronPDF includes ~50 preset paper sizes:
using IronPdf;
// Install via NuGet: Install-Package IronPdf
var renderer = new ChromePdfRenderer();
// Common presets
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4; // 210 x 297 mm
renderer.RenderingOptions.PaperSize = PdfPaperSize.Letter; // 8.5 x 11 in
renderer.RenderingOptions.PaperSize = PdfPaperSize.Legal; // 8.5 x 14 in
renderer.RenderingOptions.PaperSize = PdfPaperSize.A3; // 297 x 420 mm
renderer.RenderingOptions.PaperSize = PdfPaperSize.A5; // 148 x 210 mm
var pdf = renderer.RenderHtmlAsPdf("<h1>Document</h1>");
pdf.SaveAs("standard-size.pdf");
What Are Common Paper Sizes?
| Size | Dimensions (mm) | Dimensions (in) | Use Case |
|---|---|---|---|
| A4 | 210 x 297 | 8.27 x 11.69 | International standard |
| Letter | 216 x 279 | 8.5 x 11 | US standard |
| Legal | 216 x 356 | 8.5 x 14 | Contracts, legal docs |
| A3 | 297 x 420 | 11.69 x 16.54 | Posters, large format |
| A5 | 148 x 210 | 5.83 x 8.27 | Booklets, flyers |
| Tabloid | 279 x 432 | 11 x 17 | Newspapers |
How Do I Set Custom Dimensions?
Three methods based on your preferred units:
using IronPdf;
// Install via NuGet: Install-Package IronPdf
var renderer = new ChromePdfRenderer();
// Method 1: Millimeters
renderer.RenderingOptions.SetCustomPaperSizeInMillimeters(100, 150);
// Method 2: Inches
renderer.RenderingOptions.SetCustomPaperSizeInInches(4, 6);
// Method 3: Points (72 points = 1 inch)
renderer.RenderingOptions.SetCustomPaperSizeInPixelsOrPoints(288, 432);
All three create the same 4x6 inch document.
How Do I Create Receipt Paper?
Thermal receipt printers use narrow paper:
using IronPdf;
// Install via NuGet: Install-Package IronPdf
var renderer = new ChromePdfRenderer();
// Standard 80mm receipt width, variable height
renderer.RenderingOptions.SetCustomPaperSizeInMillimeters(80, 200);
// Minimal margins for receipt printers
renderer.RenderingOptions.MarginTop = 5;
renderer.RenderingOptions.MarginBottom = 5;
renderer.RenderingOptions.MarginLeft = 5;
renderer.RenderingOptions.MarginRight = 5;
var html = @"
<style>
body { font-family: monospace; font-size: 12px; }
.center { text-align: center; }
hr { border-top: 1px dashed black; }
</style>
<div class='center'>
<h3>STORE NAME</h3>
<p>123 Main Street</p>
</div>
<hr>
<p>Item 1 .............. $9.99</p>
<p>Item 2 .............. $14.99</p>
<hr>
<p><strong>Total: $24.98</strong></p>
<div class='center'>
<p>Thank you!</p>
</div>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("receipt.pdf");
How Do I Create Labels?
Shipping labels, product labels, or stickers:
using IronPdf;
// Install via NuGet: Install-Package IronPdf
var renderer = new ChromePdfRenderer();
// 4x6 inch shipping label
renderer.RenderingOptions.SetCustomPaperSizeInInches(4, 6);
renderer.RenderingOptions.MarginTop = 10;
renderer.RenderingOptions.MarginBottom = 10;
renderer.RenderingOptions.MarginLeft = 10;
renderer.RenderingOptions.MarginRight = 10;
var html = @"
<style>
body { font-family: Arial; }
.barcode { font-size: 24px; letter-spacing: 5px; }
.address { font-size: 14px; margin: 20px 0; }
</style>
<h2>SHIP TO:</h2>
<div class='address'>
<strong>John Doe</strong><br>
123 Main Street<br>
Anytown, ST 12345
</div>
<div class='barcode'>1Z999AA10123456784</div>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("shipping-label.pdf");
How Do I Create Business Cards?
Standard business card size:
using IronPdf;
// Install via NuGet: Install-Package IronPdf
var renderer = new ChromePdfRenderer();
// Standard business card: 3.5 x 2 inches (89 x 51 mm)
renderer.RenderingOptions.SetCustomPaperSizeInInches(3.5, 2);
renderer.RenderingOptions.MarginTop = 5;
renderer.RenderingOptions.MarginBottom = 5;
renderer.RenderingOptions.MarginLeft = 5;
renderer.RenderingOptions.MarginRight = 5;
var html = @"
<style>
body {
font-family: Arial;
display: flex;
flex-direction: column;
justify-content: center;
height: 100%;
}
h2 { margin: 0; font-size: 14px; }
p { margin: 2px 0; font-size: 10px; }
</style>
<h2>John Smith</h2>
<p>Senior Developer</p>
<p>john@company.com</p>
<p>+1 (555) 123-4567</p>";
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("business-card.pdf");
How Do I Create Poster Sizes?
Large format documents:
using IronPdf;
// Install via NuGet: Install-Package IronPdf
var renderer = new ChromePdfRenderer();
// A2 poster: 420 x 594 mm
renderer.RenderingOptions.SetCustomPaperSizeInMillimeters(420, 594);
// Or US poster: 18 x 24 inches
renderer.RenderingOptions.SetCustomPaperSizeInInches(18, 24);
var pdf = renderer.RenderHtmlAsPdf(@"
<style>
body {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
font-family: Impact;
}
h1 { font-size: 120px; color: red; }
</style>
<h1>SALE!</h1>");
pdf.SaveAs("poster.pdf");
How Do I Combine Size with Orientation?
Set both dimensions and orientation:
using IronPdf;
// Install via NuGet: Install-Package IronPdf
var renderer = new ChromePdfRenderer();
// A4 Landscape
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
// Or specify landscape dimensions directly
// A4 Landscape = 297 x 210 mm (width x height)
renderer.RenderingOptions.SetCustomPaperSizeInMillimeters(297, 210);
When setting custom sizes, width > height creates landscape.
How Do I Create Multiple Sizes?
Generate the same content in different sizes:
using IronPdf;
// Install via NuGet: Install-Package IronPdf
string html = "<h1>Document Title</h1><p>Content...</p>";
var sizes = new Dictionary<string, (double width, double height)>
{
{ "a4", (210, 297) },
{ "letter", (216, 279) },
{ "a5", (148, 210) }
};
foreach (var (name, (width, height)) in sizes)
{
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.SetCustomPaperSizeInMillimeters(width, height);
var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs($"document-{name}.pdf");
}
How Do I Handle Fit to Page?
Content might need scaling for different sizes:
using IronPdf;
// Install via NuGet: Install-Package IronPdf
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.SetCustomPaperSizeInMillimeters(100, 100);
// Enable fit-to-page scaling
renderer.RenderingOptions.FitToPaperMode = FitToPaperModes.Zoom;
// Or use CSS for responsive layout
var html = @"
<style>
@page { size: 100mm 100mm; margin: 5mm; }
body { font-size: 10px; }
img { max-width: 100%; height: auto; }
</style>
<h1>Scaled Content</h1>";
var pdf = renderer.RenderHtmlAsPdf(html);
What About Viewport Width?
Control how HTML renders before conversion:
using IronPdf;
// Install via NuGet: Install-Package IronPdf
var renderer = new ChromePdfRenderer();
// Small paper with narrow viewport
renderer.RenderingOptions.SetCustomPaperSizeInMillimeters(100, 150);
renderer.RenderingOptions.ViewPortWidth = 300; // Pixels
var pdf = renderer.RenderHtmlAsPdf(html);
Viewport affects responsive CSS breakpoints.
Quick Reference
| Paper Size | Millimeters | Inches |
|---|---|---|
| A4 | 210 x 297 | 8.27 x 11.69 |
| Letter | 216 x 279 | 8.5 x 11 |
| Legal | 216 x 356 | 8.5 x 14 |
| A3 | 297 x 420 | 11.69 x 16.54 |
| A5 | 148 x 210 | 5.83 x 8.27 |
| Business Card | 89 x 51 | 3.5 x 2 |
| 4x6 Photo | 102 x 152 | 4 x 6 |
| Method | Unit |
|---|---|
SetCustomPaperSizeInMillimeters(w, h) |
Millimeters |
SetCustomPaperSizeInInches(w, h) |
Inches |
SetCustomPaperSizeInPixelsOrPoints(w, h) |
Points (72/inch) |
PaperSize = PdfPaperSize.X |
Preset |
Custom paper sizes let you create PDFs for any printing need—from tiny labels to large posters.
For more paper size options, see the IronPDF custom paper size documentation.
Written by Jacob Mellor, CTO at Iron Software. Jacob created IronPDF and leads a team of 50+ engineers building .NET document processing libraries.
Top comments (0)