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

  1. Select a Tool: Navigate to the Tools catalog and select a conversion or utility tool matching your file format.
  2. 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.
  3. Configure Options: Fine-tune options such as quality, resolution, output bitrate, page rotations, or passwords.
  4. Convert & Download: Click "Convert" to enqueue the task. A spring-animated progress bar will monitor the real-time execution status. Click download once complete.
Notice: A global file size limit of 50MB is enforced across all tools to guarantee server stability. Uploads exceeding this threshold will be automatically rejected.

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: 50MB

Professional PDF generation, editing, compressing, and encryption suite utilizing secure CLI binaries and high-performance libraries.

ToolDescriptionInputsOutputs
Merge PDFsCombines multiple PDF documents into a single sequential file..pdf.pdf
Split PDFExtracts defined page ranges or separates pages..pdf.pdf
Compress PDFReduces file sizes using Ghostscript engine rendering (72 to 300 DPI)..pdf.pdf
PDF to WordConverts complex PDF text structures into editable DOCX format via LibreOffice..pdf.docx
PDF to ExcelConverts document tables to XLSX spreadsheets headlessly..pdf.xlsx
PPT to PDFConverts PowerPoint slide decks into PDF documents..ppt, .pptx, .odp.pdf
Protect PDFEncrypts PDF document using secure AES-256 password protection..pdf.pdf
OCR PDFRecognizes text characters from scans or image pages using Tesseract..pdf, .jpg, .png.pdf, .txt
Rotate / WatermarkAlters page layouts or overlays structured text stamps onto PDF backgrounds..pdf.pdf

Image Tools

Limit: 50MB

Powerful rasterizing, processing, resizing, and analysis tools utilizing Sharp and AI segmentation engines.

ToolDescriptionInputsOutputs
Convert ImageTransfers formats between modern raster assets and vector images..jpg, .png, .webp, .avif, .svg, .gif, .tiff, .bmp.jpg, .png, .webp, .avif
Compress & ResizeReduces byte weight via custom resolution scales or compression factor..jpg, .png, .webp, .avif, .gif, .tiff, .bmp.jpg, .png, .webp
EXIF PurgerIrreversibly purges GPS coordinate logs, camera metadata, and creator profiles..jpg, .png, .webp, .tiff, .pdf, .docxMatches Input
Remove BackgroundAutomatically segments foreground and purges background image using AI models..jpg, .png, .webp.png (transparent)
Palette ExtractorAnalyzes image to return hexadecimal arrays of dominant color codes..jpg, .png, .webp.json (hex array)
QR GeneratorGenerates scannable QR Codes from custom inputs.Raw text / URLs.png

Document Tools

Limit: 50MB

Document standard conversions, LaTeX code compilation helpers, and analytical text processing tools.

ToolDescriptionInputsOutputs
Document to PDFConverts Office documents (Word, Excel, PPT) to PDF..docx, .xlsx, .pptx, .doc, .xls, .ppt, .odt, .ods, .odp.pdf
PDF to DocumentExtracts PDF contents back to standard Office format structures..pdf.docx, .xlsx, .pptx
To LaTeX ConverterCompiles Word and PDF structures into formatted scientific LaTeX scripts..docx, .pdf.tex
OCR to MarkdownPerforms OCR text extraction, compiling paragraphs into clean markdown syntax..pdf, .jpg, .png.md
Word CounterAnalyzes documents or files to count words, characters, and sentences.Raw text, .txt, .md, .docx, .pdf.json (word metrics)

Video Tools

Limit: 50MB

Video encoding, visual compression, and media streams extraction powered by FFmpeg.

ToolDescriptionInputsOutputs
Convert VideoEncodes video streams to high-compatibility formats..mp4, .mov, .avi, .mkv, .webm.mp4, .mov, .avi, .mkv, .webm, .gif
Compress VideoReduces visual bitrate using Constant Rate Factor (CRF 18-51)..mp4, .mov, .avi, .mkv, .webm.mp4
Extract AudioStrips visual components and exports the audio track directly..mp4, .mov, .avi, .mkv, .webm.mp3, .wav, .flac, .aac, .ogg
Social DownloaderDownloads audio/video media streams from remote URLs (YouTube, Reels, TikTok).Valid video URLs.mp4, .mp3

Audio Tools

Limit: 50MB

Audio transcoding engine allowing fine bitrate and frequency compression via FFmpeg.

ToolDescriptionInputsOutputs
Convert AudioTranscodes audio codecs, supporting variable bitrates (96k to 320k)..mp3, .wav, .flac, .aac, .ogg, .m4a, .wma.mp3, .wav, .flac, .aac, .ogg

Archive Tools

Limit: 50MB

High-efficiency archive creation and extraction utilities securing files compression.

ToolDescriptionInputsOutputs
Create ArchiveCompresses any combination of supported uploads into zipped containers.Any Supported Files.zip, .tar, .tar.gz
Extract ArchiveDecompresses 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`.

MethodEndpointCategory Action Type
POST/api/convert/imageImage operations (`convert`, `resize`, `compress`, `bg-remove`)
POST/api/convert/pdfPDF operations (`merge`, `split`, `compress`, `protect`, `ocr`)
POST/api/convert/documentDocument operations (`convert`, `to-latex`, `ocr-to-md`)
POST/api/convert/videoVideo operations (`convert`, `compress`, `extract`, `download`)
POST/api/convert/audioAudio operations (`convert`)
POST/api/convert/archiveArchive operations (`create`, `extract`)

Multipart Form Parameters

Request Headers
Content-Type: multipart/form-data
Specify the boundary string automatically generated by your HTTP client or browser form.
Common Parameters
  • 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.
Example Fetch Call
javascript
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);
Immediate JSON Response

All conversion endpoints return an asynchronous job ID immediately instead of blocking the request:

json
{
  "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.

Example Response: Job in Progress
json
{
  "success": true,
  "data": {
    "id": "73d72b22-835b-426c-8438-fb36696dbf1a",
    "status": "active",
    "progress": 45,
    "result": null,
    "error": null
  }
}
Example Response: Job Completed
json
{
  "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.

HTTP Response Headers
Content-Type: [matches output MIME, e.g. image/webp]
Content-Disposition: attachment; filename="converted.webp"
Cache-Control: no-store, must-revalidate

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.

Local Server Processing

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.

Isolated Disk Directories

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.

Auto-purging Lifecycle

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.

Zero Third-party Tracking

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.