웹사이트에 유튜브 영상 퍼가기 (반응형)
어떤 화면에도 맞는 유튜브 영상 퍼가기: 공유 메뉴, 반응형 코드, 시작 시간, 개인정보 보호 강화 모드, 워드프레스, 속도 팁.
유튜브 썸네일의 정확한 URL 형식(i.ytimg.com, img.youtube.com), 모든 파일 이름, WebP 버전, 코드에서 쓰는 방법을 정리했습니다.
유튜브 썸네일은 모두 예측 가능한 주소에 있습니다. 동영상의 11자리 ID만 알면 API 키 없이도 직접 링크를 만들 수 있습니다.
ID는 v=, youtu.be/, /shorts/ 뒤에 오는 11자입니다.
| 링크 | 동영상 ID |
|---|---|
youtube.com/watch?v=dQw4w9WgXcQ | dQw4w9WgXcQ |
youtu.be/dQw4w9WgXcQ | dQw4w9WgXcQ |
youtube.com/shorts/dQw4w9WgXcQ | dQw4w9WgXcQ |
https://i.ytimg.com/vi/동영상ID/파일이름.jpg
예전 도메인인 img.youtube.com/vi/동영상ID/파일이름.jpg에서도 같은 이미지가 나옵니다.
| 파일 | 크기 | 설명 |
|---|---|---|
maxresdefault.jpg | 1280 × 720 | 기본 썸네일, HD 동영상만 |
sddefault.jpg | 640 × 480 | 기본 썸네일, 4:3에 검은 띠 |
hqdefault.jpg | 480 × 360 | 기본 썸네일, 항상 있음 |
mqdefault.jpg | 320 × 180 | 기본 썸네일, 16:9 |
default.jpg | 120 × 90 | 기본 썸네일, 아주 작음 |
0.jpg | 480 × 360 | hqdefault와 같은 이미지 |
1.jpg, 2.jpg, 3.jpg | 120 × 90 | 동영상에서 자동으로 뽑은 장면 |
동영상에 따라 hq1.jpghq3.jpg, mq1.jpgmq3.jpg, sd1.jpg~sd3.jpg도 있는데, 자동 장면의 큰 버전입니다.
파일을 더 가볍게 하려면 vi를 vi_webp로, .jpg를 .webp로 바꾸세요.
https://i.ytimg.com/vi_webp/동영상ID/maxresdefault.webp
클릭하기 전까지 무거운 유튜브 플레이어를 불러오지 않는 가벼운 ‘클릭해서 재생’ 미리보기 예시입니다.
<a href="https://www.youtube.com/watch?v=동영상ID">
<img src="https://i.ytimg.com/vi/동영상ID/hqdefault.jpg"
width="480" height="360" loading="lazy"
alt="동영상 제목">
</a>
항상 작동하는 URL이 필요하면 hqdefault.jpg를 쓰세요. maxresdefault.jpg가 더 선명하지만 오래된 저해상도 동영상에는 없습니다(HD 썸네일이 없는 이유 참고).
크기가 없으면 유튜브는 120 × 90 대체 이미지를 돌려줍니다. 불러온 이미지의 너비를 확인하세요.
const img = new Image();
img.onload = () => {
const exists = img.naturalWidth > 120;
console.log(exists ? 'HD 있음' : 'HD 없음');
};
img.src = `https://i.ytimg.com/vi/${id}/maxresdefault.jpg`;
저희 썸네일 다운로더도 정확히 이 방법으로 회색 처리할 크기를 판단합니다.
YouTube Data API를 쓰면 snippet.thumbnails가 같은 파일을 다른 이름으로 돌려줍니다.
| API 이름 | 파일 | 크기 |
|---|---|---|
default | default.jpg | 120 × 90 |
medium | mqdefault.jpg | 320 × 180 |
high | hqdefault.jpg | 480 × 360 |
standard | sddefault.jpg | 640 × 480 |
maxres | maxresdefault.jpg | 1280 × 720 |
API 키 없이도 YouTube oEmbed 엔드포인트는 제목, 채널 이름, thumbnail_url(항상 hqdefault.jpg 크기)을 JSON으로 돌려줍니다.
https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v=VIDEO_ID&format=json
썸네일 한 장:
curl -o thumb.jpg https://i.ytimg.com/vi/VIDEO_ID/maxresdefault.jpg
ids.txt에 있는 ID 목록으로 여러 장을 받고, HD 크기가 없으면 hqdefault로 대신 받는 예입니다(-f를 붙이면 curl이 대체 이미지를 저장하지 않고 404에서 실패합니다).
while read id; do
curl -sf -o "$id.jpg" "https://i.ytimg.com/vi/$id/maxresdefault.jpg" \
|| curl -s -o "$id.jpg" "https://i.ytimg.com/vi/$id/hqdefault.jpg"
done < ids.txt
크리에이터가 새 썸네일을 올려도 URL은 그대로라서 브라우저나 CDN이 예전 이미지를 계속 보여 줄 수 있습니다. 아무 파라미터나 붙이면 새로 받아 옵니다. YouTube는 이를 무시하지만 캐시는 다른 주소로 취급합니다.
https://i.ytimg.com/vi/VIDEO_ID/maxresdefault.jpg?v=2
그다음 내 사이트나 CDN의 캐시를 비우면 모두에게 새 이미지가 보입니다. 다른 원인과 해결법은 유튜브 썸네일이 바뀌지 않을 때를 참고하세요.
유튜브도 퍼가기 플레이어와 링크 미리보기에 이 URL을 사용하고, 많은 사이트가 동영상 링크 옆에 이를 보여 줍니다. 항상 원본 동영상으로 링크하고 크리에이터의 권리를 존중하세요.
URL은 그대로이고, 그 안의 이미지가 바뀝니다. 캐시 때문에 브라우저와 CDN에서는 한동안 예전 이미지가 보일 수 있습니다.
없습니다. YouTube가 공개로 제공하는 가장 큰 파일은 1280 × 720 크기의 maxresdefault.jpg이며, 크리에이터가 더 큰 이미지를 올려도 마찬가지입니다. 더 큰 크기가 필요하면 이미지 편집기에서 직접 확대하세요.
보통은 안 됩니다. 비공개 영상은 썸네일을 외부에 제공하지 않아서 URL이 오류나 회색 대체 이미지를 돌려줍니다. 일부 공개 영상은 ID만 있으면 누구나 볼 수 있으므로 정상적으로 받을 수 있습니다.
watch, youtu.be, 쇼츠, 퍼가기, 라이브 링크에서 11자리 유튜브 영상 ID를 찾는 법. PC·휴대폰 모두, 많은 링크에서 한 번에 추출하는 방법까지.
유튜브에서 이벤트를 진행하는 방법을 단계별로 정리했습니다. 명확한 참여 규칙, YouTube 콘테스트 정책, 경품 아이디어, 댓글에서 공정하게 당첨자 뽑는 법까지.