Twitterシェアボタン

500枚の連続変換に対応した WebPコンバーター 500枚の連続変換に対応した 
WebPコンバーター
概要
ABOUT
JPEG・PNG画像を、WebP画像に変換できるツールです。
WebP画像はGoogleが開発した画像形式です。JPEG画像よりもファイルサイズが減らせ、PNGのように透明色に対応しています。
主要なウェブブラウザすべてが(Chrome、Firefox、Safari、Edge)対応しています。
すべての処理はデバイス内で完結しています。データを一切サーバーに送信していません。
カスタマイズ
CUSTOMIZE
入力画像
INPUT
オリジナル画像
ORIGINAL

WebP画像
WEBP

技術概要
IMPLEMENTATION
公式ライブラリ libwebp を Emscripten で WebAssembly にビルドしました。
完全にオフラインのみで動作しており、外部サーバーを一切使用しておりません。
技術詳細
Makefile
CC = emcc
CFLAGS = -I libwebp -O3 --bind -msimd128 -s EXPORTED_RUNTIME_METHODS=HEAP8,HEAPU8 -s WASM=1 -s ALLOW_MEMORY_GROWTH=1 -s ENVIRONMENT=web,worker -s EXPORT_ES6=0 -s DYNAMIC_EXECUTION=0 -s MODULARIZE=0

TARGET_JS = webp160.js
TARGET_WASM = webp160.wasm

SRCS = $(wildcard libwebp/src/dec/*.c)
SRCS += $(wildcard libwebp/src/dsp/*.c)
SRCS += $(wildcard libwebp/src/demux/*.c)
SRCS += $(wildcard libwebp/src/enc/*.c)
SRCS += $(wildcard libwebp/src/mux/*.c)
SRCS += $(wildcard libwebp/src/utils/*.c)
SRCS += $(wildcard libwebp/sharpyuv/*.c)
SRCS += $(wildcard src/*.c)

all: $(TARGET_JS)

$(TARGET_JS): $(SRCS)
	$(CC) $(SRCS) $(CFLAGS) -o $(TARGET_JS)

clean:
	@if exist $(TARGET_JS) del $(TARGET_JS)
	@if exist $(TARGET_WASM) del $(TARGET_WASM)


webp.c
#include "emscripten.h"
#include "src/webp/encode.h"
#include <stdlib.h>

EMSCRIPTEN_KEEPALIVE
int version()
{
    return WebPGetEncoderVersion();
}

EMSCRIPTEN_KEEPALIVE
void *create_buffer(int width, int height)
{
    return malloc(width * height * 4 * sizeof(uint8_t));
}

EMSCRIPTEN_KEEPALIVE
void destroy_buffer(uint8_t *p)
{
    free(p);
}

int result[2];
EMSCRIPTEN_KEEPALIVE
void encode(uint8_t *img_in, int width, int height, float quality)
{
    uint8_t *img_out;
    size_t size;

    size = WebPEncodeRGBA(img_in, width, height, width * 4, quality, &img_out);

    result[0] = (int)img_out;
    result[1] = size;
}

EMSCRIPTEN_KEEPALIVE
void free_result(uint8_t *result)
{
    WebPFree(result);
}

EMSCRIPTEN_KEEPALIVE
int get_result_pointer()
{
    return result[0];
}

EMSCRIPTEN_KEEPALIVE
int get_result_size()
{
    return result[1];
}

更新履歴
HISTORY
2026年5月26日:エンコードに使用する libweb を v1.6.0 に更新しました。
ご利用について
TERMS OF USE
本ツールのご利用は完全に無料です。開発者はいかなる形でも対価を求めません。
本ツールで作成した画像は商用利用を含めてご自由に利用できます。
本ツールを利用した事によるいかなる損害についても開発者は一切の責任を負いません。
権利表記
LICENCE
@タイトル
@テキスト
感想・要望・バグ報告など
FEEDBACK
感想・要望・バグ報告などはこちらまで
https://x.com/mmgamess
mmmgames@gmail.com
シェア
SHARE
もしツールを気に入っていただけた場合、シェアしていただけるととても励みになります。
Twitterシェアボタン Facebookシェアボタン はてブボタン
便利なアプリ
UTILITY