PSD / PSB 검사기
포토샵 없이 .psd·.psb를 읽습니다. 캔버스, 컬러 모드, 레이어별 혼합 모드·불투명도·마스크·그룹, 그리고 썸네일까지.
사용법
- .psd 또는 .psb 파일을 상자에 놓으세요. 파일은 탭 안에서만 읽히고 업로드되지 않으므로 고객 파일도 어디에도 보내지 않고 살펴볼 수 있습니다.
- 개요를 먼저 보세요. 캔버스, 컬러 모드, 비트 심도, 레이어 수입니다. 모드가 CMYK나 Lab이면 픽셀을 변환하기 전에 어떻게 할지 정하세요.
- 합성본이 있는지 확인하세요. 없다고 나오면 포토샵이 아닌 모든 뷰어에서 문서가 비어 보이며, 이는 뷰어가 아니라 파일의 성질입니다.
- 레이어 표를 아래로 훑어보세요. 이름 앞의 점은 폴더 깊이이고, 숨겨진 레이어는 표시되며, 클리핑된 레이어는 아래 레이어에 픽셀이 있는 곳에만 칠해집니다.
- 바이트 오프셋이 필요하면 채널 표를 쓰세요. 각 행이 채널 픽셀 데이터의 시작 위치와 길이를 알려주며, 직접 리더를 만들 때 필요한 값이 바로 그것입니다.
- 발견 사항은 마지막에 읽으세요. 음수 레이어 수, 파일 끝을 넘어가는 채널, 리더마다 다르게 읽는 이름처럼 특이한 점을 조용히 넘기지 않고 이름 붙여 알려줍니다.
자세한 설명
펼치기접기
누군가 PSD를 건네주면 첫 질문은 대개 “이걸 열어보려면 라이선스가 필요한가”입니다. 이 페이지는 라이선스 없이 그 질문의 대부분에 답합니다. 포토샵 문서는 길이가 앞에 붙은 다섯 섹션이 고정된 순서로 이어지고 모든 값이 빅엔디언입니다. 26바이트 헤더, 컬러 모드 데이터, 이미지 리소스, 레이어 및 마스크 정보, 그리고 병합된 합성본입니다. 여기서는 각 섹션의 위치와 크기를 잡고, 사람들이 정작 원하는 레이어 섹션은 레코드 단위로 훑습니다. 캔버스 크기와 이름으로 표시한 컬러 모드, 비트 심도와 채널 수, 레이어 개수와 그중 숨겨진 개수, 폴더 구조, 그리고 레이어마다 경계 사각형·크기·위치·혼합 모드·불투명도·아래 레이어에 클리핑되었는지·어떤 채널을 담고 있으며 각 채널이 파일 어디에 있는지를 보여줍니다. 이 형식에는 리더를 헛디디게 하는 지점이 여럿 있고, 각각을 의도적으로 처리합니다. 헤더는 너비보다 높이를 먼저 저장하는데, 이는 거의 모든 다른 래스터 형식과 반대이며 정사각형이 아닌 캔버스에서만 문제가 드러납니다. 레이어 사각형은 위·왼쪽·아래·오른쪽 순서로 저장되며, 대부분의 라이브러리가 돌려주는 왼쪽·위·오른쪽·아래와 다릅니다. 레이어 수는 부호가 있고 음수는 오류가 아닙니다. 합성본의 첫 알파 채널이 병합 이미지의 투명도를 담고 있다는 뜻입니다. 레이어 그룹은 파일 안에서 트리가 아니라 섹션 구분자 마커의 평평한 스택이며, 폴더 헤더가 내용 위에, 경계 마커가 내용 아래에 놓입니다. 그래서 중첩 구조는 스택에서 다시 만들어야 하고, 여기서는 그렇게 복원해 들여쓰기로 보여줍니다. 레이어는 이름을 둘 가지고 있습니다. MacRoman으로 된 옛 파스칼 문자열과 추가 정보 블록에 든 유니코드 이름이며, 둘이 다를 수 있습니다. 이 페이지는 유니코드 이름을 쓰고 다를 때 옛 이름을 함께 보여줍니다. 표시 여부는 플래그 바이트의 비트 1이며, 이를 무시하는 리더는 포토샵이 보여주지 않는 레이어까지 나열합니다. 파일을 다른 곳으로 넘기려는 사람에게는 두 가지가 특히 중요합니다. 하나는 컬러 모드입니다. CMYK나 Lab 문서를 올바른 프로파일 없이 변환하면 나중에 “색이 이상하다”는 말이 돌아옵니다. 다른 하나는 합성본이 아예 있는지입니다. 포토샵은 합성본 없이 저장할 수 있고, 그러면 모든 뷰어와 썸네일 생성기와 배치 미리보기가 빈 이미지를 보여주는데 포토샵에서만 멀쩡해 보입니다. 여기서는 그것을 추측하지 않고 이름 붙여 알려주며, 레이어 데이터가 합성본 대비 몇 바이트를 쓰는지도 함께 보여줍니다. 레이어 픽셀은 디코딩하지 않습니다. 채널의 위치와 길이만 보고하고 바이트는 압축된 그대로 둡니다. ICC 프로파일, EXIF 블록, XMP 패킷도 식별하고 크기만 재며 열지 않습니다. 브라우저에는 PSD 디코더가 없으므로 그림도 그리지 않습니다. 대신 대부분의 문서가 품고 있는 온전한 JPEG인 썸네일 이미지 리소스를 보여줍니다. 모든 작업은 탭 안에서 이뤄지고 업로드는 없습니다.
자주 묻는 질문
왜 실제 레이어를 그림으로 보여주지 않나요?
브라우저에 PSD 디코더가 없기도 하지만, 레이어를 그리는 일은 압축을 푸는 것보다 훨씬 큰 작업이기 때문입니다. 채널은 각각 따로 저장되고 PackBits 또는 zip으로 압축되며, 레이어가 포토샵과 같은 모습이 되려면 불투명도, 혼합 모드, 마스크, 아래 레이어와의 클리핑 관계, 그룹 스택 안의 위치가 모두 적용되어야 합니다. 그것을 충실히 하려면 파서가 아니라 렌더링 엔진이 필요합니다. 그래서 이 페이지는 구조를 정확히 보고하고, 파일이 이미 품고 있는 단 하나의 그림인 썸네일 이미지 리소스를 보여줍니다. 그것은 포토샵이 마지막 저장 때 써 넣은 완전한 JPEG입니다.
레이어 순서가 레이어 패널과 반대인 이유는 무엇인가요?
파일은 아래쪽 레이어부터 저장하고 패널은 위쪽부터 나열하기 때문입니다. 이것은 단순한 표시 문제가 아닙니다. 레이어 그룹은 한 방향으로만 의미가 통하는 섹션 구분자 마커의 스택으로 인코딩됩니다. 폴더 레코드는 패널에서 내용 위에 있으니 파일에서는 내용 뒤에 오고, 경계 구분자는 내용 아래에 있으니 파일에서는 내용 앞에 옵니다. 따라서 폴더 트리를 복원하려면 목록을 위에서 아래로 걸으며 폴더 레코드에서 그룹을 열고 경계 구분자에서 닫아야 합니다. 레이어 표의 들여쓰기가 바로 거기서 나오며, 레이어 목록을 평평한 나열로만 다루는 리더는 구조를 통째로 잃습니다.
다른 도구가 같은 레이어를 다른 이름으로 보여줍니다. 어느 쪽이 맞나요?
둘 다 파일 안에 있습니다. 모든 레이어 레코드는 MacRoman으로 된 파스칼 문자열로 끝나며 4바이트 배수로 채워집니다. 1990년대의 원래 필드이고 세계 대부분의 문자 체계를 담지 못합니다. 요즘 포토샵도 이 필드를 여전히 쓰지만, 실제로 화면에 보여주는 이름은 "luni" 키의 추가 정보 블록에 문자 수와 UTF-16으로 들어 있습니다. 파스칼 문자열에서 멈추는 리더는 깨지거나 잘린 이름을 자신 있게 보여줍니다. 이 페이지는 유니코드 이름을 먼저 쓰고 둘이 다를 때 MacRoman 이름을 아래에 적어, 어떤 리더가 무엇을 내놓았는지 알 수 있게 합니다.
레이어 수가 음수입니다. 파일이 깨진 건가요?
아닙니다. 명세에 있는 신호입니다. 레이어 수는 부호 있는 16비트 값이고, 음수는 병합 이미지의 첫 알파 채널이 여분 채널이 아니라 그 합성본의 투명도를 담고 있다는 뜻입니다. 포토샵은 병합 이미지에 보존할 실제 투명도가 있을 때 이렇게 씁니다. 절댓값을 취하는 리더는 레이어 수를 맞게 얻기 때문에 이 실수는 대개 눈에 띄지 않지만, 값을 부호 없는 수로 읽는 리더는 65 534개를 읽고 몇 킬로바이트에서 수만 개의 레이어 레코드를 파싱하려 듭니다.
PSD와 PSB는 무엇이 다른가요?
숫자 하나와 그 결과입니다. 헤더의 버전 값이 PSD는 1, 대용량 문서 형식인 PSB는 2입니다. PSB는 한 변이 30 000이 아니라 300 000픽셀까지 가능하고, 그만한 데이터를 가리키려고 세 가지 길이가 4바이트에서 8바이트로 넓어집니다. 레이어 및 마스크 섹션 길이, 레이어 정보 길이, 그리고 레이어 레코드 안의 채널별 길이입니다. 나머지 배치는 그대로입니다. 바로 그 점이 위험합니다. 버전 값을 무시하는 리더는 깔끔하게 실패하지 않고, 그럴듯하지만 틀린 길이를 읽고 픽셀 데이터 한복판으로 걸어 들어갑니다.
포토샵 말고는 전부 빈 이미지로 열립니다. 왜 그런가요?
거의 확실히 병합된 합성본 없이 저장되었기 때문입니다. 파일의 다섯 번째 섹션은 레이어를 읽지 못하는 모든 것을 위해 포토샵이 기록하는 하나의 병합 그림입니다. 운영체제 썸네일, 파일을 배치하는 다른 애플리케이션, 대부분의 라이브러리가 그것을 씁니다. 선택 사항이라 “호환성 최대화”를 끄면 빠집니다. 포토샵은 레이어에서 이미지를 다시 만들기 때문에 신경 쓰지 않으며, 그래서 만든 사람에게는 완벽해 보이고 다른 모두에게는 비어 보입니다. 이 페이지는 합성본이 있는지, 몇 바이트인지, 비압축이라면 몇 바이트가 필요한지를 알려주므로 진단이 오후 한나절이 아니라 몇 초로 끝납니다.
관련 도구
NumPy .npy / .npz 검사기
.npy·.npz 헤더를 브라우저에서 읽습니다. dtype, shape, 바이트 순서, 필드 배치와 값 미리보기까지. NumPy 설치도 업로드도 필요 없습니다.
개발
CSS 블렌드 모드 시뮬레이터
W3C 컴포지팅 표준의 16 가지 mix-blend-mode(multiply·screen·overlay·soft-light·hue·color·luminosity 등)를 두 색에 적용한 결과를 한눈에 비교하고, 각 모드별 CSS 스니펫을 복사할 수 있습니다.
색상·CSS
ICC 색 프로파일 분석기
.icc 또는 .icm 파일을 열어 헤더, 태그 테이블, 원색, 백색점, 톤 커브를 확인합니다. 모든 해석은 브라우저 안에서 이뤄집니다.
파일
TAR 아카이브 검사기
.tar, .tar.gz, .tgz 파일을 풀지 않고 내부 항목을 전부 봅니다. 권한, 소유자, 크기, 시각, 링크 대상까지 표시합니다.
파일
xz(.xz) 스트림 분석기
xz 컨테이너를 읽습니다. 스트림 헤더, 블록 헤더와 필터 체인, 인덱스와 푸터, 그리고 압축을 풀지 않고 알아낸 실제 원본 크기까지.
파일
파일 분할기
큰 파일을 작은 청크로 나눠 첨부·업로드 용량 제한을 우회하세요.
파일