Skip to content

Getting Started

webcvt is a browser-first, hardware-accelerated file conversion library. It ships as 22 focused npm packages — install only what you need.

Quick start

Try the playground

The fastest way to see webcvt in action is the live playground. Drop a file, pick an output format, convert — no setup required.

Node.js (3 lines)

bash
npm i @catlabtech/webcvt-core @catlabtech/webcvt-image-canvas
ts
import { convert, defaultRegistry } from '@catlabtech/webcvt-core';
import { CanvasBackend } from '@catlabtech/webcvt-image-canvas';

defaultRegistry.register(new CanvasBackend());
const result = await convert(inputBlob, { format: 'webp' });

Browser (3 lines)

html
<script type="module">
  import { convert, defaultRegistry } from 'https://esm.sh/@catlabtech/webcvt-core';
  import { CanvasBackend } from 'https://esm.sh/@catlabtech/webcvt-image-canvas';

  defaultRegistry.register(new CanvasBackend());
  const result = await convert(file, { format: 'webp' });
  const url = URL.createObjectURL(result.blob);
</script>

What's in webcvt

22 packages across five categories:

CategoryPackages
Foundationcore, codec-webcodecs, backend-wasm, ebml
Audio/Videocontainer-wav, container-mp3, container-flac, container-ogg, container-aac, container-mp4, container-webm, container-mkv, container-ts
Imagesimage-canvas, image-legacy, image-animation, image-svg
Archives, data & subtitlesarchive-zip, data-text, subtitle
CLIcli

All packages are ESM-only and require Node.js ≥ 20 for server-side use.

Next steps

  • Browser usage — COEP/COOP headers, bundler setup, bundle size tips
  • Node.js usage — full convert() flow, backend registration
  • CLI usagenpx @catlabtech/webcvt-cli for shell pipelines
  • Packages — per-package API references

MIT licensed