Early access

PDF to JPG for your browser, your PC and your code.

Convert PDF pages to sharp JPG images online, in the Windows app, or through a REST API. One account and one credit balance work in all three.

  • 14-day trial of Pro
  • 100 credits
  • No card needed
RasterNivo
PDF
annual-report.pdf8 pages · 150 DPI · Quality 90
Done
8 credits used · 92 left Download ZIP
Illustration of the web app
One product, three ways to use it

Work the way that suits you

Log in with the same account everywhere. Your plan and credits follow you.

Web app

Nothing to install. Log in, upload a PDF and download your images from any computer.

  • Works in your browser
  • History and credit log in your dashboard
  • Images deleted after one hour
Start online

Windows desktop app

Install it, log in with your email and password, and convert on your own PC.

  • Your files stay on your PC
  • Batch conversion of many PDFs
  • Needs internet to log in and use credits
About the desktop app

REST API

Add PDF to JPG conversion to your own product with an API key from your dashboard.

  • PHP, Python and Node.js examples
  • Signed webhooks when jobs finish
  • Safe retries with idempotency keys
Developer docs
Credit log

See where every credit went

Each conversion appears in your dashboard with where it ran and what it cost, whether it came from the web, the desktop app or an API key.

  • Failed and cancelled pages cost nothing
  • You are never charged extra when credits run out
  • GST invoice with every payment
WhenUsed fromFileCreditsBalance
2 Nov, 15:42APIstatement.pdf−18946
2 Nov, 12:10DesktopDesktop conversion−20964
1 Nov, 18:05Webinvoice-march.pdf−16984
Example with sample data
For developers

A simple REST API, with examples that run

Upload a PDF, follow the job, download the images. The PHP, Python and Node.js examples are tested against the real API.

  • Scoped API keys you can revoke at any time
  • Stable error codes and a request ID on every response
  • Page selection, up to 600 DPI, quality, ZIP and protected PDFs
<?php
$api = getenv('RASTERNIVO_API_URL') ?: 'https://rasternivo-api.swiftinfocorp.com/v1';

$ch = curl_init("$api/conversions");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . getenv('RASTERNIVO_API_KEY'),
        'Idempotency-Key: ' . bin2hex(random_bytes(16)),
    ],
    CURLOPT_POSTFIELDS => [
        'options' => json_encode(['pages' => '1-3', 'dpi' => 300, 'zip' => true]),
        'file' => new CURLFile('report.pdf', 'application/pdf'),
    ],
]);
$job = json_decode(curl_exec($ch), true);
echo $job['id'], ' ', $job['state'], "\n";
import json
import os
import uuid

import requests

API = os.environ.get("RASTERNIVO_API_URL", "https://rasternivo-api.swiftinfocorp.com/v1")

with open("report.pdf", "rb") as pdf:
    job = requests.post(
        f"{API}/conversions",
        headers={
            "Authorization": "Bearer " + os.environ["RASTERNIVO_API_KEY"],
            "Idempotency-Key": str(uuid.uuid4()),
        },
        data={"options": json.dumps({"pages": "1-3", "dpi": 300, "zip": True})},
        files={"file": ("report.pdf", pdf, "application/pdf")},
    ).json()
print(job["id"], job["state"])
// Node.js 20 or newer: no packages needed.
import { randomUUID } from "node:crypto";
import { readFile } from "node:fs/promises";

const API = process.env.RASTERNIVO_API_URL ?? "https://rasternivo-api.swiftinfocorp.com/v1";

const form = new FormData();
form.append("options", JSON.stringify({ pages: "1-3", dpi: 300, zip: true }));
form.append("file", new Blob([await readFile("report.pdf")], { type: "application/pdf" }), "report.pdf");

const res = await fetch(`${API}/conversions`, {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.RASTERNIVO_API_KEY}`,
    "Idempotency-Key": randomUUID(),
  },
  body: form,
});
const job = await res.json();
console.log(job.id, job.state);
curl -X POST "https://rasternivo-api.swiftinfocorp.com/v1/conversions" \
  -H "Authorization: Bearer $RASTERNIVO_API_KEY" \
  -H "Idempotency-Key: report-2026-11-02-001" \
  -F 'options={"pages": "1-3", "dpi": 300, "zip": true}' \
  -F "file=@report.pdf;type=application/pdf"
Your documents

Kept only as long as the job needs

Desktop stays local

The desktop app converts on your computer and never uploads the file. Only the page count and DPI are sent, to use your credits.

Short cloud retention

Uploaded PDFs are deleted when the job finishes. Images are deleted after one hour, and download links expire after 15 minutes.

Isolated processing

Cloud conversions run in isolated workers with no internet access and strict resource limits.

Passwords protected

A PDF password is encrypted while the job waits and erased when it ends. It is never logged or returned.

Try every feature free for 14 days

100 credits and no card. When the trial ends you move to the Free plan and are not charged.