Documentation
Guides for using PointPDF, plus the API reference for developers.
Overview
PointPDF lets you blur (redact) sensitive information in documents and images, and convert files between formats. You can do this directly here on the website, or programmatically through the PointPDF API. This documentation has two parts: step-by-step Guides for using the tools on the site, and the API Reference for integrating document blurring into your own applications.
Blur a document
Blur sensitive text and regions in your PDFs, Office documents, and images. Here's how to do it on the website.
- Open the blur tool. In the top navigation, click Blur PDF (this opens the upload page).
- Add your files. Drag files into the upload area, or click Select Files. Supported file types: PDF, Word (.docx, .doc), CSV, Excel (.xlsx, .xls), and images (JPG, JPEG, PNG, WebP). Maximum 10 MB per file. You can add multiple files. Selected files are listed with their name and size, and each has a Remove file button. (Your files aren't uploaded yet at this stage.)
- Adjust settings (optional). Click Adjust Settings to open the Blur Settings dialog, where you can enable and set Blur Intensity and Blur Height. Settings are optional — you can process without changing them. If you leave them off, a default blur of 20% is applied. (Note: signed-out users can set values up to 20; sign in to use higher values.)
- Process. Click Process Documents. Your files are uploaded and blurring begins.
- Review the result. When processing finishes you're taken to the result page, where images and PDFs are previewed so you can check them before downloading.
- Download. Signed-in users see Download File. If you're signed out, you'll see Login to Download — signing in returns you to your result so you can download it.
Processed files are automatically deleted within 24 hours.
Convert a file
Convert documents and images between formats. Here's how to do it on the website.
- Choose a conversion. In the top navigation, open the File Converter menu and pick the conversion you want (for example, PDF to Word). This opens the converter for that format. (If you open the converter without choosing, pick a format from the File Converter menu first.)
- Add your files. Drag files into the upload area, or click Select Files. Supported source types: PDF, Word (.docx, .doc), CSV, Excel (.xlsx, .xls), images (JPG, JPEG, PNG, WebP), and SVG. Maximum 10 MB per file. (Unlike the blur tool, files are uploaded as soon as you select them.) Uploaded files appear under Uploaded Files with name, size, and a remove button.
- SVG options (SVG sources only). If you're converting from SVG, extra settings appear: Resolution (DPI), Scale Factor, and Background Color.
- Convert. Click Convert. (The button is disabled until you've chosen a format and added at least one file.)
- Review and download. You're taken to the result page showing your converted files, with previews where available and downloads (sign in to download).
What you can convert
The conversions available are shown in the File Converter menu. They include:
- PDF → Word, TXT, PNG, JPG, JPEG, WebP
- Word → PDF, TXT, PNG
- Excel → PDF, CSV
- CSV → Excel, PDF
- Images (JPG / JPEG / PNG / WebP) → PDF, and between image formats
- SVG → PDF, PNG, JPG, JPEG, WebP
Processed files are automatically deleted within 24 hours.
Authentication
Secure authentication with API keys. Get your API key and start integrating document blurring into your applications today.
Get your API key from your dashboard →
Include your API key in the X-API-Key request header (recommended):
X-API-Key: blur_sk_your_api_key_hereAlternatively, you can provide it in the Authorization header using the ApiKey prefix:
Authorization: ApiKey blur_sk_your_api_key_hereBase URL
Use this base URL for your API requests.
https://blurify.pointpdf.comBlur a document
Customizable blur percentage and height settings.
{BASE_URL}/api/blurify/upload/Request body
Send the document and blur settings as multipart/form-data.
| Parameter | Value | Description |
|---|---|---|
files | Document | The document to blur (PDF, PNG, JPG, JPEG, etc.). |
blur_percentage | e.g. 20 | Blur percentage (1-100). Default is 20. |
blur_height_percentage | e.g. 20 | Blur height percentage (1-100). Default is 20. |
Response
The endpoint returns a JSON response. The examples below show how to read it.
Convert a document
Convert documents between PDF, Word (DOCX), Excel (XLSX, CSV), SVG, and image formats.
{BASE_URL}/api/blurify/convert/Request body
Send the conversion request as application/json with your document IDs and target format.
| Parameter | Type | Description |
|---|---|---|
document_ids | Array of Numbers | Required. The IDs of uploaded documents to convert (obtained from the upload endpoint). |
convert_to_format | String | Required. Target format (e.g. pdf, docx, txt, png, jpg, webp, xlsx, csv). |
convert_quality | Number | Optional. Output quality from 1 to 100 (default: 95). |
convert_resolution | String | Optional. DPI resolution, e.g. 300dpi (default: 300dpi). |
Example request payload
{
"document_ids": [104],
"convert_to_format": "pdf",
"convert_quality": 95,
"convert_resolution": "300dpi"
}Response
The endpoint returns a JSON response containing converted document details, status, and download URLs.
GET /api/blurify/conversions/supported/?source_format=docx.Code Examples
Get started quickly with code examples in your preferred programming language:
import requests
# Your API Key (from Dashboard > API Keys)
API_KEY = "blur_sk_your_api_key_here"
BASE_URL = "https://blurify.pointpdf.com"
# Blur a document
def blur_document(file_path, blur_percentage=20):
url = f"{BASE_URL}/api/blurify/upload/"
with open(file_path, 'rb') as f:
files = {'files': f}
data = {
'blur_percentage': blur_percentage,
'blur_height_percentage': blur_percentage
}
headers = {
'X-API-Key': API_KEY
}
response = requests.post(url, files=files, data=data, headers=headers)
return response.json()
# Example usage
result = blur_document('document.pdf', blur_percentage=30)
print(result)Request outline: encode the fields above as a multipart body with a matching boundary before using this Java example.
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import java.nio.file.Paths;
public class PointPDFAPI {
private static final String API_KEY = "blur_sk_your_api_key_here";
private static final String BASE_URL = "https://blurify.pointpdf.com";
public static void blurDocument(String filePath, int blurPercentage) {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(BASE_URL + "/api/blurify/upload/"))
.header("X-API-Key", API_KEY)
.header("Content-Type", "multipart/form-data")
.POST(HttpRequest.BodyPublishers.ofFile(Paths.get(filePath)))
.build();
try {
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
} catch (Exception e) {
e.printStackTrace();
}
}
}const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
const API_KEY = 'blur_sk_your_api_key_here';
const BASE_URL = 'https://blurify.pointpdf.com';
async function blurDocument(filePath, blurPercentage = 20) {
const form = new FormData();
form.append('files', fs.createReadStream(filePath));
form.append('blur_percentage', blurPercentage);
form.append('blur_height_percentage', blurPercentage);
try {
const response = await axios.post(
`${BASE_URL}/api/blurify/upload/`,
form,
{
headers: {
...form.getHeaders(),
'X-API-Key': API_KEY
}
}
);
return response.data;
} catch (error) {
console.error('Error:', error.response?.data || error.message);
throw error;
}
}
// Example usage
blurDocument('document.pdf', 30)
.then(result => console.log(result))
.catch(error => console.error(error));curl -X POST "https://blurify.pointpdf.com/api/blurify/upload/" \
-H "X-API-Key: blur_sk_your_api_key_here" \
-F "files=@document.pdf" \
-F "blur_percentage=20" \
-F "blur_height_percentage=20"Rate limits
For applicable usage limits and usage tracking, see your dashboard or contact us before planning your integration.
Errors
If a request fails, check your API key, request fields, and the returned response. The JavaScript example shows how to inspect a failed request.