WebConverter 작동 방식
모든 변환은 브라우저에서 실행됩니다. 파일이 업로드되는 일은 절대 없습니다. 파일을 변환할 때 정확히 무슨 일이 일어나는지 설명합니다.
간단한 설명
WebConverter에 파일을 드롭하면 디스크에서 브라우저 메모리로 읽혀지고, WebAssembly로 실행되는 컴파일된 C++ 코드로 처리되며, 새 파일로 디스크에 다시 저장됩니다. 전체 파이프라인이 CPU에서 실행됩니다 — 기기를 떠나는 것은 아무것도 없습니다.
확인 방법: 브라우저의 개발자 도구 → 네트워크 탭을 열고 파일을 변환하세요. 파일 데이터를 전송하는 발신 요청이 제로인 것을 확인할 수 있습니다.
이미지 변환
이미지 변환은 Emscripten을 사용하여 WebAssembly로 컴파일된 Magnum C++ 그래픽 라이브러리로 구동됩니다. Magnum은 다양한 형식에 대한 검증된 디코더와 인코더를 제공합니다 — 네이티브 데스크톱 애플리케이션에서 사용되는 동일한 코드입니다.
변환 흐름:
- File API를 사용하여 파일이
ArrayBuffer로 읽혀짐 - 버퍼가 4개의 병렬 Web Worker 중 하나로 전달됨
- Worker 내에서 WASM 모듈이 소스 형식을 디코딩하고 대상 형식으로 재인코딩
- 결과가 메인 스레드로 전송되고 다운로드로 트리거됨
4개의 Worker가 병렬로 실행되므로 수십 개 파일의 일괄 변환이 페이지를 멈추지 않고 빠르게 완료됩니다.
지원 이미지 형식
- 입력 (14가지 형식): BMP, DDS, GIF, HDR, ICO, JPEG, KTX, KTX2, PGM, PIC, PNG, PPM, PSD, TGA, WebP
- 출력 (8가지 형식): PNG, JPEG, BMP, TGA, HDR, EXR, KTX2, WebP
오디오 변환
오디오 및 비디오-오디오 변환은 브라우저 내장 AudioContext.decodeAudioData()를 사용하여 소스 파일을 디코딩한 후 Web Worker에서 대상 형식으로 인코딩합니다.
- MP3 및 OGG 인코딩은 wasm-media-encoders 사용 — LAME(MP3)과 libvorbis(OGG)의 WebAssembly 빌드
- WAV 인코딩은 순수 JavaScript — RIFF 헤더와 16비트 PCM 인터리브 샘플
- FLAC 인코딩은 브라우저 네이티브
AudioEncoderAPI(Chrome 107+) 사용, 미지원 브라우저는 WAV 폴백
입력 형식: MP4, M4A, WAV, OGG, FLAC, WebM, MP3 — 브라우저가 네이티브로 디코딩할 수 있는 모든 컨테이너.
PDF 변환
이미지-PDF 변환은 브라우저에서 PDF 문서를 생성하고 조작하는 순수 JavaScript PDF 라이브러리인 pdf-lib을 사용합니다. 각 이미지는 Canvas API를 통해 디코딩되고, JPEG으로 재인코딩되며, PDF에 전체 페이지로 임베드됩니다.
OCR이 활성화되면 Tesseract.js — 선도적인 오픈소스 OCR 엔진 — 이 각 이미지의 텍스트를 분석하고 PDF에 보이지 않는 선택 가능한 레이어로 배치합니다. OCR 모델(약 10MB)은 요청 시 다운로드되며 브라우저에 캐시됩니다.
왜 클라이언트 측인가?
프라이버시
파일이 기기를 떠나는 일은 절대 없습니다. 해킹할 서버 없음, 침해할 데이터베이스 없음, 신뢰해야 할 "30분 후 파일 삭제" 약속 없음. 서버 기반 변환기의 프라이버시 위험에 대해 더 읽기.
속도
서버 기반 도구는 파일 업로드, 대기열 대기, 결과 다운로드가 필요합니다. WebConverter는 세 단계를 모두 건너뜁니다. 50MB 이미지가 1초 미만에 변환됩니다.
제한 없음
지불할 서버 인프라가 없으므로 파일 크기 제한 없음, 일일 변환 할당량 없음, "프로로 업그레이드" 장벽 없음.
오프라인 작동
WebConverter는 프로그레시브 웹 앱으로 설치할 수 있습니다. 설치 후 인터넷 연결 없이 작동합니다 — 비행기에서, 시골에서, 네트워크 장애 시에도 파일을 변환할 수 있습니다.
낮은 환경 영향
데이터 전송 없음은 네트워크 에너지 없음을 의미합니다. 서버 처리 없음은 데이터 센터 전기 없음을 의미합니다. 서버 기반 변환기의 숨겨진 에너지 비용에 대해 읽기.
오픈소스
WebConverter는 무료 오픈소스입니다. GitLab에서 코드를 검사하고, 문제를 보고하고, 기여할 수 있습니다.