
사진을 서버에 안 올리고 GIF 만드는 도구를 만들었어요
아무 변환 사이트에나 사진 올리기 찜찜해서 만든 브라우저 GIF 메이커입니다.
자랑 포인트
- 이미지가 서버로 한 번도 전송되지 않고 브라우저 안에서만 GIF가 만들어져, 민감한 사진도 안심하고 쓸 수 있어요
- gif.js를 Web Worker로 돌려 인코딩 중에도 화면이 끊기지 않고, 사진 몇 장이면 몇 초 만에 결과가 나옵니다
- 드래그로 순서 변경, 속도·해상도·품질·무한 반복까지 한 패널에서 직관적으로 조절합니다
여행 사진 연사로 찍은 걸 움짤로 만들고 싶어서 "GIF 만들기" 검색해본 적 있으신가요. 상위에 뜨는 사이트 아무 데나 들어가서 사진을 올리다가 문득 그런 생각이 들었습니다. 이 사진 지금 어느 나라 서버에 올라가는 거지? 지워지긴 하나? 얼굴 나온 사진인데?
그 찜찜함이 시작이었습니다. 사진을 서버로 안 보내고 브라우저 안에서만 GIF를 만드는 도구, GIF Forge예요.

위에 움직이는 GIF가 이 앱으로 뽑은 실제 결과물입니다. 노을 사진 다섯 장 올리고 속도만 맞춰서 바로 내려받았어요.
쓰는 법은 사진 여러 장 올리고, 썸네일 드래그로 순서 바꾸고, 속도 조절하고, 만들기 누르면 끝입니다. 프레임 간격은 ms 단위로 조절되고(200ms면 5fps), 240p부터 720p까지 해상도 프리셋이랑 품질 슬라이더, 무한반복 토글도 있어요. JPG, PNG, WebP, GIF 다 받습니다.
핵심은 인코딩이 전부 브라우저에서 돈다는 겁니다. gif.js를 Web Worker에 올려서 돌리는데, Worker에 올린 이유는 인코딩 중에도 화면이 안 멈추게 하려고요. 결과물도 blob URL로만 다뤄서 끝까지 로컬에 있습니다. 개발자도구 네트워크 탭 열어놓고 써보시면 업로드 요청이 없다는 걸 직접 확인할 수 있어요.
써보니 의외의 장점이 속도였습니다. 서버 왕복이 없으니까 "업로드 중..." "변환 대기 중..." 이런 게 아예 없어요. 만들기 누르면 몇 초 안에 결과가 뜹니다.
용도는 생각보다 다양합니다. 여행 연사를 움짤로 만들고, 앱 시연 화면 캡처를 순서대로 이어서 데모 GIF로 만들고(녹화 프로그램 켜는 것보다 빠릅니다), 아이 사진 같은 민감한 이미지도 마음 편하게 다루고요.
이거 만들고 나서 제 습관이 하나 바뀌었습니다. 예전엔 별생각 없이 아무 변환 사이트에나 사진을 올렸는데, 만들면서 그 사진들이 전부 남의 서버를 거쳐 갔다는 걸 새삼 의식하게 됐어요. 기능이 화려한 도구는 아니지만 "내 사진은 내 기기에서만"이라는 원칙 하나는 확실합니다. 저는 요즘도 잘 쓰고 있어요. 한번 써보시면 이 가벼움이 왜 좋은지 아실 겁니다.
한계도 솔직히 적어두겠습니다. GIF라는 포맷 자체가 256색 제한이 있어서 그라데이션 많은 사진은 색 띠가 생길 수 있어요. 이건 어떤 도구를 써도 마찬가지인 GIF의 숙명입니다. 그리고 브라우저에서 인코딩하다 보니 아주 큰 해상도에 프레임을 수십 장 넣으면 폰에서는 살짝 버겁습니다. 그래서 해상도 프리셋 기본값을 적당한 선에 맞춰놨어요. SNS 올리는 용도면 어차피 그 이상 필요 없기도 하고요.
다음 버전에서는 프레임별 지속시간 개별 조정(마지막 장만 오래 보여주기 같은 거)이랑 간단한 텍스트 얹기를 생각하고 있습니다. 근데 기능 욕심내다가 무거워지면 이 도구의 존재 이유가 사라지는 거라, 가벼움을 해치지 않는 선에서만 붙이려고요.
마지막 팁. 결과물 용량이 부담되면 해상도보다 프레임 수를 먼저 줄이는 게 효과가 큽니다. 5장으로 충분한 움짤에 20장 넣을 필요 없더라고요. 몇 번 만들다 보면 감이 옵니다.