REST API · JSON · No auth required for public tools

File conversion & utility
API at your fingertips

Convert, compress, encrypt, hash, and transform files programmatically. Simple multipart or JSON requests — no API keys, no rate limits for basic usage.

Base URL https://api.filenewer.com/api/tools/ · All endpoints accept POST · Responses are binary files or JSON

Quick start

Make your first API call in seconds — no setup, no authentication.

Convert PDF → Word

curl -X POST \
  https://api.filenewer.com/api/tools/pdf-to-word \
  -F "file=@document.pdf" \
  --output output.docx

Hash a file (SHA-256)

curl -X POST \
  https://api.filenewer.com/api/tools/hash-generate \
  -F "file=@document.pdf" \
  -F "algorithms=sha256"

Generate passwords

curl -X POST \
  https://api.filenewer.com/api/tools/password-generate \
  -H "Content-Type: application/json" \
  -d '{"length":16,"count":5}'

Tool categories

All tools are available at https://api.filenewer.com/api/tools/{endpoint}

Endpoint reference

Key endpoints with request parameters and response format.

Request formats

Most tools accept multipart/form-data for file uploads or application/json for text-only operations.

multipart/form-data File uploads

curl -X POST \
  https://api.filenewer.com/api/tools/pdf-compress \
  -F "file=@document.pdf" \
  -F "compression_level=extreme" \
  -F "output=json"

application/json Text operations

curl -X POST \
  https://api.filenewer.com/api/tools/hash-generate \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello, World!",
     "algorithms":["sha256","blake2b"]}'

JSON success response

{
  "hashes": {
    "sha256": {
      "hash":   "dffd6021bb2bd5b0...",
      "bits":   256,
      "secure": true
    }
  },
  "input_type": "text"
}

Error response

{
  "error": "password is required."
}

// HTTP status codes
// 200 — Success
// 400 — Bad request / invalid params
// 415 — Unsupported media type
// 500 — Server error

File download headers

When a tool returns a binary file, useful metadata is included as response headers.

# File conversion response headers
Content-Disposition: attachment; filename="document_compressed.pdf"
Content-Type:        application/octet-stream
X-Algorithm:         AES-256-GCM
X-Original-Size-KB:  2048.50
X-Compressed-Size-KB:512.25
X-Reduction-Percent: 74.98

Use in any language

No SDK required — standard HTTP clients work out of the box.

Python · requests

import requests

files = {'file': open('document.pdf', 'rb')}
data  = {'compression_level': 'extreme'}

res = requests.post(
    'https://api.filenewer.com/api/tools/pdf-compress',
    files=files, data=data
)
with open('compressed.pdf', 'wb') as f:
    f.write(res.content)

JavaScript · fetch

const fd = new FormData();
fd.append('file', file);
fd.append('compression_level', 'extreme');

const res  = await fetch(
  'https://api.filenewer.com/api/tools/pdf-compress',
  { method: 'POST', body: fd }
);
const blob = await res.blob();
// blob → URL.createObjectURL(blob)

PHP · cURL

$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL        => 'https://api.filenewer.com/api/tools/pdf-compress',
    CURLOPT_POST       => true,
    CURLOPT_POSTFIELDS => [
        'file'              => new CURLFile('document.pdf'),
        'compression_level' => 'extreme',
    ],
    CURLOPT_RETURNTRANSFER => true,
]);
$response = curl_exec($ch);
file_put_contents('compressed.pdf', $response);

JSON body · password generator

const res  = await fetch(
  'https://api.filenewer.com/api/tools/password-generate',
  {
    method:  'POST',
    headers: { 'Content-Type': 'application/json' },
    body:    JSON.stringify({
      length:  16,
      count:   5,
      symbols: true,
    }),
  }
);
const { passwords } = await res.json();