Embed widget

Drop Converter.Plus into any website

One <script> tag and a placeholder gives your readers a fully working image converter — no uploads, no API key, no server.

Files never leave the device

Conversions run entirely in the visitor's browser. No data ever touches our servers.

Tiny loader, lazy engines

The loader is a few KB. Heavy decoders (HEIC, JXL, TIFF) load only when needed.

Works on any site

Sandboxed iframe — no CSS collisions with your page, no script conflicts.

Live demo

Demo pair:

Copy-paste snippets

Add the placeholder where you want the widget to appear, then include the loader once per page (anywhere in <body>). Change the data-converter-plus attribute to switch the conversion pair.

HEIC → JPG

data-converter-plus="heic-to-jpg"
<div data-converter-plus="heic-to-jpg"></div>
<script async src="https://converter.plus/widget/v1/converter-plus.js"></script>

AVIF → JPG

data-converter-plus="avif-to-jpg"
<div data-converter-plus="avif-to-jpg"></div>
<script async src="https://converter.plus/widget/v1/converter-plus.js"></script>

WebP → JPG

data-converter-plus="webp-to-jpg"
<div data-converter-plus="webp-to-jpg"></div>
<script async src="https://converter.plus/widget/v1/converter-plus.js"></script>

PNG → WebP

data-converter-plus="png-to-webp"
<div data-converter-plus="png-to-webp"></div>
<script async src="https://converter.plus/widget/v1/converter-plus.js"></script>

JPG → WebP

data-converter-plus="jpg-to-webp"
<div data-converter-plus="jpg-to-webp"></div>
<script async src="https://converter.plus/widget/v1/converter-plus.js"></script>

Any image (generic)

data-converter-plus="any"
<div data-converter-plus="any"></div>
<script async src="https://converter.plus/widget/v1/converter-plus.js"></script>

Supported attributes

  • data-converter-plus="heic-to-jpg" — preselects a specific conversion pair. See the snippets above for the full list.
  • data-converter-plus="any" — generic image converter that accepts any input format and lets the visitor pick an output (JPG, PNG, WebP, AVIF).

The widget auto-adapts to your page's light or dark color scheme via prefers-color-scheme. The loader is pinned at /widget/v1/ so updates never break existing embeds.