Skip to main content

Features

Convert to it! stands out from traditional online converters with its unique approach to file conversion.

Core Features

Offline-First Architecture

All conversions happen entirely in your browser using WebAssembly. Your files never touch a server.
Privacy guaranteed: Since everything runs client-side, your sensitive files remain completely private. No uploads, no storage, no tracking.

Cross-Medium Conversion

Unlike traditional converters that restrict you to converting within the same media type, Convert to it! breaks these boundaries:
  • Convert images to audio (extract color data as waveforms)
  • Convert videos to documents (frame extraction to PDF)
  • Convert fonts to images (render glyphs)
  • Convert 3D models to images (render scenes)
  • And thousands of other unusual combinations

Intelligent Format Detection

Drop any file and Convert to it! automatically detects its format using:
  • MIME type analysis
  • File extension matching
  • Binary signature detection

Advanced Conversion Paths

The tool uses a graph-based traversal algorithm to find conversion paths between formats, even when no direct converter exists:
// From src/FormatHandler.ts
export class ConvertPathNode {
  public handler: FormatHandler;
  public format: FileFormat;
  constructor(handler: FormatHandler, format: FileFormat) {
    this.handler = handler;
    this.format = format;
  }
}
This means if you want to convert from Format A to Format C, but only A→B and B→C converters exist, Convert to it! will automatically chain them together.

Supported Format Categories

Convert to it! supports formats across multiple categories:

Images

PNG, JPEG, WebP, TIFF, BMP, GIF, SVG, and many specialized formats

Videos

MP4, AVI, WebM, MOV, and more via FFmpeg

Audio

MP3, WAV, OGG, FLAC, MIDI, and tracker formats

Documents

PDF, DOCX, XLSX, PPTX, HTML, Markdown

Data Formats

JSON, XML, YAML, CSV, BSON, SQLite

Archives

ZIP, and various game/specialized archives

Fonts

TTF, OTF, WOFF, WOFF2

Code

Python, Shell scripts, Batch files, and more

Conversion Handlers

Convert to it! uses specialized handlers for different conversion tasks:

FFmpeg Handler

Handles most video and audio conversions using FFmpeg compiled to WebAssembly.

ImageMagick Handler

Processes raster images with ImageMagick’s powerful manipulation capabilities.

Specialized Handlers

The tool includes 60+ specialized handlers for niche formats:
  • Game formats: Minecraft schematics, Terraria worlds, Doom WAD files
  • Music notation: MusicXML, MIDI with Verovio rendering
  • 3D formats: STL, OBJ via Three.js
  • Archive formats: ZIP, LZH
  • Font rendering: TTF/OTF to images
  • And many more!

User Interface Features

Simple Mode

Drag, drop, select output format, and convert. Perfect for quick conversions.

Advanced Mode

Access additional options and settings for power users. Quickly find formats with built-in search:
<!-- From index.html -->
<input type="text" id="search-from" class="search" placeholder="Search">
<input type="text" id="search-to" class="search" placeholder="Search">

Batch Processing

Convert multiple files at once with the same settings.

Technical Features

Format Handler API

Extensible architecture makes it easy to add new formats:
// From src/FormatHandler.ts
export interface FormatHandler {
  name: string;
  supportedFormats?: FileFormat[];
  ready: boolean;
  init: () => Promise<void>;
  doConvert: (
    inputFiles: FileData[],
    inputFormat: FileFormat,
    outputFormat: FileFormat,
    args?: string[]
  ) => Promise<FileData[]>;
}

Common Format Definitions

Reusable format definitions reduce code duplication:
// From src/CommonFormats.ts
PNG: new FormatDefinition(
  "Portable Network Graphics",
  "png",
  "png",
  "image/png",
  Category.IMAGE
)

Category System

Formats are organized into logical categories:
export const Category = {
  DATA: "data",
  IMAGE: "image",
  VIDEO: "video",
  VECTOR: "vector",
  DOCUMENT: "document",
  TEXT: "text",
  AUDIO: "audio",
  ARCHIVE: "archive",
  SPREADSHEET: "spreadsheet",
  PRESENTATION: "presentation",
  FONT: "font",
  CODE: "code"
}

Open Source

Convert to it! is licensed under GPL-2.0 and available on GitHub. Contributions are welcome following the project’s contribution guidelines.

Build docs developers (and LLMs) love