Automated PDF Reporting using JSON

Reportly helps you turn JSON data into beautiful, branded PDF reports instantly.
Define your template once, call our API anytime.
We care about your privacy. Your requests and completed reports are never stored.

Get Started For Free

No credit card required – try it risk-free.

How it Works

1. Design your report template using intuitive Razor (CSHTML) syntax.
2. Send your JSON data to our API endpoint.
3. Receive a downloadable, styled PDF in seconds.

View Documentation

How Reportly Works
Free Trial

Sign up and start generating reports right away. No credit card required.

Start Free Trial
Need a Custom Plan?

High-volume or custom use case? Email us and we’ll tailor a plan just for you.

Contact Us
Help with Templates

Having trouble creating a Razor template? We’ll help you for free.

Get Free Help

Simple, Transparent Pricing

$9.99/month

  • 1,000 reports per month
  • 20 custom templates
  • Batch reporting (up to 25 simultaneous)
  • Error support included
  • Legacy template conversion

Start with a 10-day free trial
Questions? Email us at mysupport@goreportly.com

Examples

🧾 Simple report
Template (CSHTML)
                    
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Employee List</title>
</head>
<body>

<header>
    <h1>@Model.CompanyName</h1>
    <div class="meta">
        Location: @Model.CompanyLocation
    </div>
</header>

<table>
    <thead>
        <tr>
            <th>Emp ID</th>
            <th>Name</th>
            <th>Branch</th>
            <th>Date of Joining</th>
            <th>Date of Leaving</th>
        </tr>
    </thead>
    <tbody>
        @foreach (var emp in Model.Employees)
        {
            <tr>
                <td>@emp.EmployeeId</td>
                                        
                <td>@emp.Name</td>
                                        
                <td>@emp.Branch</td>
                                        
                <td>@emp.DateOfJoining.ToString("dd-MM-yyyy")</td>
                                        
                <td>@(emp.DateOfLeaving?.ToString("dd-MM-yyyy") ?? "—")</td>
            </tr>
        }
    </tbody>
</table>

</body>
<style>
    body {
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        font-size: 12px;
        color: #333;
        background-color: #fff;
        margin: 40px;
    }

    header, footer {
        text-align: center;
        margin-bottom: 30px;
    }

    header h1 {
        font-size: 20px;
        margin: 0;
    }

    header .meta {
        margin-top: 5px;
        font-size: 11px;
        color: #666;
    }

    table {
        width: 100%;
        border-collapse: collapse;
        table-layout: fixed;
        page-break-inside: avoid;
    }

    th, td {
        border: 1px solid #ccc;
        padding: 6px 8px;
        text-align: left;
        width: 20%;
        word-wrap: break-word;
    }

    th {
        background-color: #eee;
        color: #333;
        font-weight: 600;
    }
</style>
</html>
                    
                
JSON Data
{
  "CompanyName": "Northbridge Solutions Inc.",
  "CompanyLocation": "Chicago, IL, USA",
  "Employees": [
     {
       "EmployeeId": 101,
       "Name": "Alice Turner",
       "Branch": "Chicago Headquarters",
       "DateOfJoining": "2018-06-15",
       "DateOfLeaving": null
     },
     {
       "EmployeeId": 102,
       "Name": "Michael O'Brien",
       "Branch": "Chicago Headquarters",
       "DateOfJoining": "2019-04-01",
       "DateOfLeaving": "2024-05-25"
     },
     {
       "EmployeeId": 103,
       "Name": "Emily Chen",
       "Branch": "Remote",
       "DateOfJoining": "2020-01-20",
       "DateOfLeaving": null
     }
  ]
}
                
Generated PDF
View PDF
🧾 Real life examples
Human Resources Report
View Template View JSON View PDF
Telecomunication Invoice
View Template View JSON View PDF
Multiple Invoices
View Template View JSON View PDF

Already have an account?

Login to Dashboard