Chip in

Open source licences

Every open source component iHateFiles runs on, the licence each one carries, and where to get its source code.

The short version

iHateFiles is built almost entirely out of other people's work. None of these licences ask anything of you as a visitor: the files you convert are yours, and what you do with them is your business. The obligations here are ours, and this page is us meeting them.

The conversion engine

FFmpeg does every video and audio conversion on this site, compiled to WebAssembly and running inside your browser tab. It is licensed under the GPL-2.0-or-later, shipped here as @ffmpeg/core 0.12.10.

Your browser downloads that binary in order to run it, which means we are distributing GPL software to you. The licence requires that we tell you so, and that we make the corresponding source available. We do, and it is linked below.

The binary we ship reports this configuration:

--enable-gpl --enable-libx264 --enable-libx265 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libzimg --enable-zlib

Of those, libx264 and libx265 are the GPL-licensed pieces, and they are the reason the whole build is GPL rather than the more permissive LGPL.

Inside the engine

These libraries are compiled into that single binary rather than downloaded separately, so they are listed here for completeness.

  • libx264 — H.264 video encoding. Licence: GPL-2.0-or-later.
  • libx265 — HEVC video encoding. Licence: GPL-2.0-or-later.
  • libvpx — VP8 and VP9 video encoding. Licence: BSD-3-Clause.
  • libmp3lame — MP3 audio encoding. Licence: LGPL-2.0-or-later.
  • libopus — Opus audio encoding. Licence: BSD-3-Clause.
  • libvorbis — Vorbis audio encoding. Licence: BSD-3-Clause.
  • libtheora — Theora video encoding. Licence: BSD-3-Clause.
  • libwebp — WebP encoding. Licence: BSD-3-Clause.
  • libass — Subtitle rendering. Licence: ISC.
  • FreeType — Font rasterising. Licence: FTL or GPL-2.0-or-later.
  • FriBidi — Bidirectional text. Licence: LGPL-2.1-or-later.
  • zimg — Colour and scaling. Licence: WTFPL.
  • zlib — Compression. Licence: zlib.

Everything else

Asking us for source

Every component above links to the repository its shipped file was built from, so nothing should require asking. If a link ever rots or you want the exact bytes we served on a given day, write to us and we will send them.

Questions

Can I use iHateFiles commercially?

Yes. The licences below cover the code this site is built from, not the files you convert with it. What you make here is yours, and nothing about it is encumbered by them.

Why is the conversion engine under the GPL?

FFmpeg can be built either way. The build we use includes libx264 and libx265, which are themselves GPL, and that makes the whole binary GPL. Because your browser downloads that binary, we are distributing it to you, and the licence requires us to say so and to give you its source.

Where do I get the source code?

Every component below links to the repository the shipped file was built from. For FFmpeg specifically, the exact sources and build scripts are in the ffmpeg.wasm repository.

Do I have to publish my own code to use this?

No. The GPL places obligations on whoever distributes the software, which here is us. Using the site imposes nothing on you at all.