Documentation & Guides
Welcome to the AnyFormat guide. Below you will find detailed documentation on getting started, tools capabilities, internal REST API endpoints, and our self-hosted privacy architecture.
Getting Started
AnyFormat is a private, lightweight, and modern **self-hosted file converter** designed to replace remote online services. It processes all tasks directly on your server, ensuring that sensitive documents and assets never leave your control.
No third-party trackers, no metadata harvesting, and no subscription walls. Just professional-grade, byte-level file conversion utilities available at your disposal.
How to Use AnyFormat
- Select a Tool: Navigate to the Tools catalog and select a conversion or utility tool matching your file format.
- Upload File: Drag and drop or browse to select your source file. All formats are validated strictly by their magic numbers (byte arrays) on upload.
- Configure Options: Fine-tune options such as quality, resolution, output bitrate, page rotations, or passwords.
- Convert & Download: Click "Convert" to enqueue the task. A spring-animated progress bar will monitor the real-time execution status. Click download once complete.
Tools Reference
AnyFormat offers 6 core categories containing specialized file conversion utilities. All conversion processes are managed via an asynchronous queue system running on Redis and Bull with a concurrency factor of 3 to maximize processing throughput.
PDF Tools
Limit: 50MBProfessional PDF generation, editing, compressing, and encryption suite utilizing secure CLI binaries and high-performance libraries.
| Tool | Description | Inputs | Outputs |
|---|---|---|---|
| Merge PDFs | Combines multiple PDF documents into a single sequential file. | ||
| Split PDF | Extracts defined page ranges or separates pages. | ||
| Compress PDF | Reduces file sizes using Ghostscript engine rendering (72 to 300 DPI). | ||
| PDF to Word | Converts complex PDF text structures into editable DOCX format via LibreOffice. | .docx | |
| PDF to Excel | Converts document tables to XLSX spreadsheets headlessly. | .xlsx | |
| PPT to PDF | Converts PowerPoint slide decks into PDF documents. | .ppt, .pptx, .odp | |
| Protect PDF | Encrypts PDF document using secure AES-256 password protection. | ||
| OCR PDF | Recognizes text characters from scans or image pages using Tesseract. | .pdf, .jpg, .png | .pdf, .txt |
| Rotate / Watermark | Alters page layouts or overlays structured text stamps onto PDF backgrounds. |
Image Tools
Limit: 50MBPowerful rasterizing, processing, resizing, and analysis tools utilizing Sharp and AI segmentation engines.
| Tool | Description | Inputs | Outputs |
|---|---|---|---|
| Convert Image | Transfers formats between modern raster assets and vector images. | .jpg, .png, .webp, .avif, .svg, .gif, .tiff, .bmp | .jpg, .png, .webp, .avif |
| Compress & Resize | Reduces byte weight via custom resolution scales or compression factor. | .jpg, .png, .webp, .avif, .gif, .tiff, .bmp | .jpg, .png, .webp |
| EXIF Purger | Irreversibly purges GPS coordinate logs, camera metadata, and creator profiles. | .jpg, .png, .webp, .tiff, .pdf, .docx | Matches Input |
| Remove Background | Automatically segments foreground and purges background image using AI models. | .jpg, .png, .webp | .png (transparent) |
| Palette Extractor | Analyzes image to return hexadecimal arrays of dominant color codes. | .jpg, .png, .webp | .json (hex array) |
| QR Generator | Generates scannable QR Codes from custom inputs. | Raw text / URLs | .png |
Document Tools
Limit: 50MBDocument standard conversions, LaTeX code compilation helpers, and analytical text processing tools.
| Tool | Description | Inputs | Outputs |
|---|---|---|---|
| Document to PDF | Converts Office documents (Word, Excel, PPT) to PDF. | .docx, .xlsx, .pptx, .doc, .xls, .ppt, .odt, .ods, .odp | |
| PDF to Document | Extracts PDF contents back to standard Office format structures. | .docx, .xlsx, .pptx | |
| To LaTeX Converter | Compiles Word and PDF structures into formatted scientific LaTeX scripts. | .docx, .pdf | .tex |
| OCR to Markdown | Performs OCR text extraction, compiling paragraphs into clean markdown syntax. | .pdf, .jpg, .png | .md |
| Word Counter | Analyzes documents or files to count words, characters, and sentences. | Raw text, .txt, .md, .docx, .pdf | .json (word metrics) |
Video Tools
Limit: 50MBVideo encoding, visual compression, and media streams extraction powered by FFmpeg.
| Tool | Description | Inputs | Outputs |
|---|---|---|---|
| Convert Video | Encodes video streams to high-compatibility formats. | .mp4, .mov, .avi, .mkv, .webm | .mp4, .mov, .avi, .mkv, .webm, .gif |
| Compress Video | Reduces visual bitrate using Constant Rate Factor (CRF 18-51). | .mp4, .mov, .avi, .mkv, .webm | .mp4 |
| Extract Audio | Strips visual components and exports the audio track directly. | .mp4, .mov, .avi, .mkv, .webm | .mp3, .wav, .flac, .aac, .ogg |
| Social Downloader | Downloads audio/video media streams from remote URLs (YouTube, Reels, TikTok). | Valid video URLs | .mp4, .mp3 |
Audio Tools
Limit: 50MBAudio transcoding engine allowing fine bitrate and frequency compression via FFmpeg.
| Tool | Description | Inputs | Outputs |
|---|---|---|---|
| Convert Audio | Transcodes audio codecs, supporting variable bitrates (96k to 320k). | .mp3, .wav, .flac, .aac, .ogg, .m4a, .wma | .mp3, .wav, .flac, .aac, .ogg |
Archive Tools
Limit: 50MBHigh-efficiency archive creation and extraction utilities securing files compression.
| Tool | Description | Inputs | Outputs |
|---|---|---|---|
| Create Archive | Compresses any combination of supported uploads into zipped containers. | Any Supported Files | .zip, .tar, .tar.gz |
| Extract Archive | Decompresses compressed folder archives into standard directories. | .zip, .rar, .7z, .tar, .gz, .tar.gz | .zip (contents) |
API Reference
AnyFormat features a robust internal REST API that powers its conversion frontend. You can query these routes directly from custom scripts or external client integrations. All API payloads accept and return JSON schemas.
Conversion API Endpoints
To run file conversions, submit a `POST` request to the endpoint corresponding to the tool's category. The body must be encoded as `multipart/form-data`.
| Method | Endpoint | Category Action Type |
|---|---|---|
| POST | /api/convert/image | Image operations (`convert`, `resize`, `compress`, `bg-remove`) |
| POST | /api/convert/pdf | PDF operations (`merge`, `split`, `compress`, `protect`, `ocr`) |
| POST | /api/convert/document | Document operations (`convert`, `to-latex`, `ocr-to-md`) |
| POST | /api/convert/video | Video operations (`convert`, `compress`, `extract`, `download`) |
| POST | /api/convert/audio | Audio operations (`convert`) |
| POST | /api/convert/archive | Archive operations (`create`, `extract`) |
Multipart Form Parameters
Content-Type: multipart/form-data- file (Required): The input file buffer. Supports array uploads for PDF merge / Image-to-PDF / Archive create.
- action (Optional): Action subtype.
- outputFormat (Optional): Target format.
const formData = new FormData();
formData.append('file', imageFile); // File binary
formData.append('action', 'convert');
formData.append('outputFormat', 'webp');
formData.append('quality', '85');
const response = await fetch('/api/convert/image', {
method: 'POST',
body: formData
});
const result = await response.json();
console.log(result);All conversion endpoints return an asynchronous job ID immediately instead of blocking the request:
{
"success": true,
"data": {
"jobId": "73d72b22-835b-426c-8438-fb36696dbf1a"
}
}GET/api/job/[jobId]
Poll this endpoint to query the real-time execution status, progress percentage, and final download metadata of your conversion job.
{
"success": true,
"data": {
"id": "73d72b22-835b-426c-8438-fb36696dbf1a",
"status": "active",
"progress": 45,
"result": null,
"error": null
}
}{
"success": true,
"data": {
"id": "73d72b22-835b-426c-8438-fb36696dbf1a",
"status": "completed",
"progress": 100,
"result": {
"id": "9bb72a2b-2771-46da-bc43-23ff19ea81aa",
"fileName": "converted.webp",
"fileSize": 348210,
"outputFormat": "webp",
"downloadUrl": "/api/download/9bb72a2b-2771-46da-bc43-23ff19ea81aa",
"expiresAt": 1781524922777
},
"error": null
}
}GET/api/download/[fileId]
Retrieves the binary file buffer directly. Returns correct MIME headers and triggers standard browser attachment downloads.
Privacy & Security
AnyFormat is engineered from the ground up to respect data residency guidelines and user privacy. Unlike traditional cloud conversion services, your documents are protected by strict hardware isolation boundaries.
All file conversion processes occur locally on your server node. No third-party network requests are generated, preventing tracking, telemetry logging, or cloud storage risks.
Uploaded files are sanitized using standard character filters to prevent path traversal. They are stored inside randomly-generated UUID folders in `/tmp/anyformat`, isolating memory segments.
Temporary assets, upload buffers, and final outputs are marked with strict expiration logs. An automated background worker deletes all file folders precisely 30 minutes after creation.
No cookie tracking engines, advertisement trackers, or analytics scripts are loaded in AnyFormat. Your usage remains 100% private, anonymous, and secured.
Frequently Asked Questions
Find answers to common questions about AnyFormat's features, operations, and deployment parameters.