Free Image to AVIF Converter

Convert your images (JPEG, PNG, GIF, WEBP, BMP) to the modern, efficient AVIF format. Upload multiple files at once!

Max 15MB per file. Allowed: JPEG, PNG, GIF, WEBP, BMP
75

Service Overview

How to Use

  1. Select one or more images (JPEG, PNG, GIF, WEBP, BMP).
  2. Adjust the desired AVIF quality (applies to all selected files).
  3. Click "Convert to AVIF".
  4. Wait for processing (each file is queued individually using a secure 10-char hash).
  5. View progress, previews, size reductions, and download links below.

Key Features

  • Batch Upload Support
  • Secure 10-Char Hash Identifiers
  • High-Efficiency AVIF Output
  • Adjustable Quality
  • Supports Common Input Formats
  • Duplicate Detection (Filename+Quality+Content based)
  • Background Processing Queue
  • Shows Size Reduction %
  • Individual Image Previews
  • Free Usage & API

API Access & Integration

API Features

  • POST requests to https://experimentaldata.co.uk/image_converter/?api=1.
  • Requires multipart/form-data encoding.
  • Submission: Requires image[] (one+ files) and quality (integer).
  • Polling Status: POST requires job_hash (10-char string).
  • Download/Preview Result: GET request with job_hash (10-char string) and download=1.
  • Submission Response: Returns JSON array, each object contains job_hash.
  • Polling Response: Returns single JSON object for the job hash.
Relies on Python worker script. Ensure DB table uses `hash VARCHAR(10)` with unique key.

API Examples

Submit Multiple Jobs

curl -X POST 'https://experimentaldata.co.uk/image_converter/?api=1' \
-F 'quality=75' \
-F 'image[]=@/path/image1.jpg' \
-F 'image[]=@/path/image2.png'

Response: HTTP 200 OK (or 201 if all were new)

[
{
"job_hash": "c3d4e5f6a7",
"filename": "image1.jpg",
"status": "queued", ...
},
{
"job_hash": "e5f6g7h8i9",
"filename": "image2.png",
"status": "completed",
"download_url": "...?api=1&job_hash=e5f6g7h8i9&download=1", ...
},
{
"job_hash": null,
"filename": "failed_image.gif",
"status": "failed",
"error": "Invalid image type ('image/gif')."
}
]

Poll Job Status (Job Hash c3d4e5f6a7)

curl -X POST 'https://experimentaldata.co.uk/image_converter/?api=1' -F 'job_hash=c3d4e5f6a7'

Response: HTTP 200 OK

{ "job_hash": "c3d4e5f6a7", "status": "processing", ... }

Download/Preview Completed File (Job Hash e5f6g7h8i9)

GET https://experimentaldata.co.uk/image_converter/?api=1&job_hash=e5f6g7h8i9&download=1

FAQ

Input Formats?

JPEG, PNG, GIF, WEBP, BMP.

Hash Calculation?

A unique 10-character hash is generated based on filename, quality, and image content.

Quality Setting?

Range 1-100. Applies to all files in a batch.

Limits?

Max 15MB per file.

File Storage?

Temporary. Download promptly.

How does it work?

PHP queues jobs identified by 10-char hash. Python worker processes queue via internal ID, converts, updates DB. Frontend polls using the hash.

Use responsibly. Conversion quality depends on input & quality level. Files are temporary.