이 페이지의 코드가 시작되지 않았습니다.

index.html을 폴더에서 바로 열면 브라우저가 JavaScript 모듈을 막습니다. 그래서 이미지 파일을 골라도 아무 일도 일어나지 않아요. 폴더를 http로 띄워서 여세요:

powershell -ExecutionPolicy Bypass -File serve.ps1

그런 다음 http://localhost:8080/을 여세요.

GIF 만들기 — 이미지를 움직이는 GIF로

여러 장의 사진을 움직임 하나로.

언어: 한국어
소스 보기
이미지 파일은 절대 업로드되지 않습니다. 서버가 아예 없으니까요.

모든 프레임을 그리고 색을 고르고 압축하는 일은 내 브라우저가 하고, 완성된 GIF는 이 기기의 메모리에서 조립됩니다. 설령 여기 무언가가 사진을 보내고 싶어 한다 해도, 이 페이지 반대편에는 그걸 받아 줄 서버가 없습니다.

실시간 확인: 확인 중…

오프라인: 확인 중…

그냥 믿지 마시고 직접 확인해 보세요. 개발자 도구의 '네트워크' 탭을 켜 놓고 GIF를 만들어 보십시오. 이미지도, 미리보기도, 파일 이름도 실려 나가는 요청이 없습니다. 아니면 인터넷을 끊고 그냥 만들어 보셔도 됩니다.

1 이미지 고르기

2 GIF 설정

색 색이 적을수록 파일은 작아지고 띠는 늘어납니다.

디더링 로고와 선화, 스크린샷에는 꺼 두세요.

이미지를 넣으면 미리보기가 나옵니다

프레임
—
재생 길이
—
화면 크기
—
재생 횟수
—

3 GIF 만들기

Markdown으로 보기

이미지로 GIF 만드는 방법

  1. 이미지를 고릅니다. 폴더를 통째로 선택 영역에 끌어다 놓거나 파일을 직접 고르세요. 브라우저가 디스크에서 곧바로 읽습니다. 그동안 어디로도 아무것도 나가지 않습니다.
  2. 재생될 순서대로 놓습니다. 손잡이를 잡고 끌거나 화살표를 쓰세요. "이름순 정렬"이 사람이 기대하는 대로 세기 때문에 frame_2가 frame_10보다 앞에 놓입니다.
  3. 각 프레임이 얼마나 머무를지 정합니다. 한 장에 0.5초면 슬라이드쇼이고, 20분의 1초면 애니메이션입니다. 모든 프레임에 같은 시간을 한 번에 주거나, 한 장만 따로 오래 머물게 할 수도 있습니다.
  4. 크기와 색을 고르는 방식을 정합니다. GIF는 면적과 프레임 수에 따라 커지는데 그걸 되돌릴 화질 슬라이더가 없습니다. 그래서 크기가 가장 중요한 설정입니다. 프레임마다 256색을 쓰는 쪽이 가장 보기 좋은 기본값이고, 공유 팔레트 하나를 쓰면 더 작고 더 차분해집니다.
  5. GIF를 만들고 내려받습니다. 내 기기에서 만들어지므로, 걸리는 시간은 대기열이 아니라 기기 성능에 달려 있습니다. 완성된 움직임은 저장하기 전에 페이지에서 먼저 재생됩니다.

자세한 설명

이미지로 움직이는 GIF 만드는 방법 여러 장의 사진을 움직이는 GIF 하나로. GIF가 실제로 얼마나 빠르게 재생될 수 있는지, 팔레트 설정이 무엇을 바꾸는지, 그리고 파일을 실제로 작게 만드는 세 가지.

자주 묻는 질문

제 이미지가 어딘가로 업로드되나요?

아닙니다. 이미지를 읽고 그리고 색을 고르고 압축하는 일은 내 기기에서 도는 내 브라우저가 합니다. 이 도구에는 서버 쪽이라는 것이 없고, 이 페이지의 Content-Security-Policy에 연결해도 되는 주소가 전부 적혀 있는데 그중 이 사이트 것은 하나도 없습니다. 네트워크 선을 뽑아도 GIF는 그대로 만들어집니다.

어떤 이미지 형식을 쓸 수 있나요?

브라우저가 디코딩할 수 있는 정지 이미지 형식은 다 됩니다. 실제로는 JPG, PNG, WebP, GIF, AVIF, 그리고 애플 기기에서는 HEIC입니다. 여기서 따로 관리할 목록이 없습니다. 디코딩은 우리가 아니라 브라우저의 일이니까요.

제 GIF는 왜 이렇게 큰가요?

GIF가 모든 프레임을 픽셀 전체로 저장하기 때문입니다. 움직임 보상이 없고, "지난번과 같은데 옆으로 옮겨졌다"로 저장되는 것이 없으며, 화질 다이얼도 없습니다. 크기는 대략 면적 곱하기 프레임 수이고, 그걸 끌어내리는 방법은 셋뿐입니다.

먼저 작게 만드세요. 가로세로를 절반으로 줄이면 파일은 4분의 1이 됩니다. 프레임을 줄이거나 한 장을 더 오래 머물게 하세요. 색을 64나 32로 내리고 디더링을 끄세요. 평평한 그림에서는 대가가 생각보다 적고, 사진에서는 아주 큽니다. 그래도 안 들어간다면 정직한 답은 이렇습니다. 지금 만들고 계신 것은 사실 영상이고, MP4로 만들면 아마 10분의 1이 됩니다.

GIF는 얼마나 빠르게 재생될 수 있나요?

숫자가 시사하는 만큼 빠르지는 않습니다. 이 형식은 각 프레임의 지연을 100분의 1초 단위로 저장하는데, 브라우저들은 1990년대부터 그중 둘 미만인 것을 10분의 1초로 묶어 왔습니다. 당시 빙글빙글 돌던 지구본 이미지 때문에 생겨서 한 번도 걷히지 않은 규칙이에요. 그래서 0.01초 지연은 초당 100프레임이 아니라 10프레임으로 재생됩니다. 이 도구가 0.02초 아래를 내놓지 않는 것도 그래서이고, 0.05초(초당 20프레임)쯤이 요구할 만한 최고 속도입니다.

팔레트 설정은 무엇을 바꾸나요?

GIF 프레임은 최대 256색을 담고, 무언가는 그 256색을 골라야 합니다.

프레임마다 최적의 색은 사진마다 따로 256색을 고릅니다. 가장 또렷해 보이고, 서로 무관한 사진 묶음에는 이쪽이 맞습니다. GIF 전체에 하나의 팔레트는 모든 프레임을 한 번에 훑어 표 하나를 만듭니다. 파일이 더 작아지고, 같은 장면의 프레임 사이에서 팔레트가 휙휙 바뀔 때 생기는 깜빡임도 사라집니다. 프레임이 이것저것 모아 놓은 것이 아니라 이어지는 장면이라면 이쪽을 고르세요.

투명한 배경을 유지할 수 있나요?

이미지에 투명한 영역이 있다면 됩니다. "투명도"를 "투명한 영역 유지"로 바꾸세요. 다만 알아 두실 것이 하나 있습니다. GIF의 투명도는 1비트입니다. 픽셀은 아예 보이지 않거나 완전히 칠해지거나 둘 중 하나이고 그 사이가 없어요. 그래서 안티앨리어싱된 가장자리와 부드러운 그림자, 흐려지는 부분이 모두 딱딱한 경계로 바뀝니다. 움직임이 놓일 배경 색을 알고 계신다면, 그 색 위에 눌러 두는 편이 더 나아 보입니다.

이미지를 몇 장까지 쓸 수 있나요?

도구에 정해 둔 제한은 없습니다. 현실적인 한계는 기기의 메모리, 그리고 나오는 파일 크기를 견디는 인내심입니다. 사진은 한 장씩 읽으니 백 프레임도 괜찮습니다만, 640px짜리 백 프레임이면 아주 큰 GIF가 됩니다. 위의 "제 GIF는 왜 이렇게 큰가요?"를 보세요.

무료인가요? 가입해야 하나요?

무료이고 계정도, 로그인도, 체험판도 없습니다. 결과물에 워터마크도 붙지 않고요. 이 사이트는 광고로 유지되는데, 그 광고에도 내 이미지에 관한 것은 넘어가지 않습니다.

오프라인에서도 되나요?

됩니다. 페이지를 한 번 불러온 다음 인터넷을 끊어도 계속 동작합니다. 아무것도 업로드되지 않는다는 가장 간단한 증명이기도 하고요. 이미지를 어딘가로 보내서 처리하는 도구라면 선을 뽑는 순간 멈춰 버릴 테니까요.