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는 프로그레시브 웹 앱으로 설치할 수 있습니다. 설치 후 인터넷 연결 없이 작동합니다 — 비행기에서, 시골에서, 네트워크 장애 시에도 파일을 변환할 수 있습니다.
낮은 환경 영향
데이터 전송 없음은 네트워크 에너지 없음을 의미합니다. 서버 처리 없음은 데이터 센터 전기 없음을 의미합니다. 서버 기반 변환기의 숨겨진 에너지 비용에 대해 읽기.