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

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

powershell -ExecutionPolicy Bypass -File serve.ps1

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

이미지 가리기 — 검게 칠하기, 모자이크, 흐리게

가린 부분은 파일에서 지워집니다. 파일 안에 숨겨 두는 것이 아닙니다.

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

이미지를 디코딩하고, 그 위에 칠하고, 다시 인코딩하는 일은 모두 이 브라우저가 이미 갖고 있는 코덱으로 합니다. 이 도구에는 네트워크 기능이 아예 없어서 무언가를 가져올 수도, 보낼 수도 없습니다. 이 사이트의 다른 어떤 페이지보다 여기서 그 사실이 중요합니다. 가리기 도구에 올라오는 이미지는 이름과 주소와 계좌번호가 아직 읽히는 바로 그 이미지이기 때문입니다.

실시간 확인: 확인 중…

오프라인: 확인 중…

말만 믿으실 필요는 없습니다. 개발자 도구를 열고 네트워크 탭을 보면서 캡처 화면을 하나 가려 보세요. 이미지도, 썸네일도, 파일 이름도, 상자를 놓은 위치조차 어떤 요청에도 실리지 않습니다. 아니면 인터넷을 끊고 그대로 해 보셔도 됩니다.

1 이미지 고르기

은행 명세서 캡처, 여권 사진, 주소가 찍힌 고지서. 가려야 하는 이미지는 그 작업을 하겠다고 낯선 서버에 올려서는 안 되는 이미지와 정확히 같습니다. 이 이미지는 브라우저가 디스크에서 바로 읽습니다.

2 보이면 안 되는 곳 가리기

이미지 위를 끌면 상자가 그려집니다. 상자는 끌어서 옮기고 손잡이로 크기를 바꿉니다. Tab 키로 상자에 옮겨 가 화살표 키로 다룰 수도 있고, Alt와 화살표 키는 크기를, Delete 키는 삭제를 합니다. 상자 아래 보이는 것이 실제 결과입니다. 미리보기는 파일을 쓰는 바로 그 코드가 화면 크기로 그린 것입니다.

검게 칠하기 가장자리까지 한 가지 색입니다. 거기 있던 것은 아무것도 남지 않습니다. 테두리도, 평균값도, 글자 수도 남지 않습니다. 셋 중 이야기가 끝나는 것은 이것뿐이고, 글자로 읽히는 것에는 이것을 쓰셔야 합니다.

모자이크 각 블록이 그 블록의 평균색이 됩니다. 원래 픽셀은 정말로 파일에서 사라지지만, 평균의 격자는 여전히 아래 있던 것에 대한 측정값입니다. 흔한 글꼴의 글자라면 그것만으로 원본을 되살린 연구가 공개돼 있습니다. 사람들 틈의 얼굴에는 좋지만 계좌번호에는 맞지 않습니다.

흐리게 각 픽셀이 이웃들의 가중 평균이 됩니다. 모자이크와 같은 문제이고, 조금 더 분명합니다. 흐리게는 합성곱이고 합성곱은 원리상 되돌릴 수 있습니다. 감추려는 것이 아니라 부드럽게 하려는 자리에 쓰세요.

이미지를 고르면 여기에 나와서 상자를 그릴 수 있습니다.

3 가린 사본 저장하기

이미지는 픽셀로 디코딩되고, 상자는 그 픽셀 위에 쓰이고, 결과가 새 파일로 인코딩됩니다. 레이어도, 주석도, 상자가 어디 있었는지에 대한 기록도 없습니다. 가려진 픽셀은 인코더가 무언가를 받기 전에 존재하지 않게 되기 때문입니다.

형식 가리기와는 무관합니다. 인코더가 볼 때 픽셀은 이미 사라진 뒤입니다. 이 선택이 정하는 것은 나머지 이미지의 용량과 압축 방식뿐입니다.

Markdown으로 보기

가린 부분이 정말로 사라지도록 이미지를 가리는 방법

  1. 이미지를 고릅니다. 캡처 화면이든 스캔본이든 사진이든, 브라우저가 열 수 있는 것이면 됩니다. 디스크에서 바로 읽어 들이고, 그동안 어디로도 나가지 않습니다.
  2. 보이면 안 되는 곳에 상자를 그립니다. 그다음 것에도 하나 더 그리면 됩니다. 상자는 끌어서 옮기고 손잡이로 크기를 바꿉니다. Tab 키로 상자에 옮겨 가 화살표 키로 다룰 수도 있습니다. 상자 아래 보이는 것이 실제 결과이고, 파일을 쓰는 바로 그 코드가 그린 것입니다.
  3. 검게 칠하기, 모자이크, 흐리게 중에 고릅니다. 되도록 검게 칠하세요. 검게 채우면 아무것도 남지 않습니다. 모자이크와 흐리게는 픽셀을 그 자신의 평균으로 바꿀 뿐이라, 배경에 찍힌 얼굴에는 충분해도 글자로 읽히는 것에는 부족합니다.
  4. “가리고 저장”을 누른 뒤 파일을 확인합니다. 그다음에 보이는 이미지는 완성된 파일을 다시 디코딩한 것입니다. 편집 프로그램에서 열어 레이어를 찾아보거나, 가린 글자를 선택해 보세요. 평평한 이미지 한 장뿐이고, 가린 자리는 파일이 쓰이기 전에 덮어써졌습니다.

자세한 설명

가린 부분이 정말로 사라지도록 이미지를 가리는 방법 대부분의 프로그램이 그리는 검은 사각형은 이미지 위에 얹혀 있어서 옆으로 밀어낼 수 있습니다. 진짜 가리기와 덮어 두기의 차이, 모자이크한 글자가 다시 읽히는 이유, 그리고 보내기 전에 파일을 확인하는 방법.

자주 묻는 질문

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

아닙니다. 파일을 디코딩하고 가리고 다시 인코딩하는 일은 모두 이 브라우저가 이 기기에서 합니다. 이 도구에는 네트워크 기능이 아예 없어서 무언가를 가져오지도, 보내지도 않습니다. 페이지의 Content-Security-Policy에는 접속할 수 있는 주소가 모두 적혀 있고, 그중 어느 것도 이 사이트의 것이 아닙니다. 페이지를 한 번 불러온 뒤 인터넷을 끊어도 그대로 작동합니다.

가린 부분이 정말 파일에서 사라지나요?

네, 그래서 이 도구가 있습니다. 이미지는 픽셀 버퍼로 디코딩되고, 상자는 그 안의 픽셀을 덮어쓰고, 버퍼는 새 파일로 인코딩됩니다. 인코더가 무언가를 받기 전에 원래 값은 이미 메모리에서 사라지기 때문에 숨길 레이어도, 지울 주석도, 되돌릴 기록도 없습니다. 확인은 남의 주장을 확인하듯 하시면 됩니다. 결과를 이미지 편집기에서 열어 두 번째 레이어를 찾아보거나, 가린 글자를 선택해 보세요.

모자이크나 흐리게 처리한 부분을 복원할 수 있나요?

가능한 경우가 있고, 고르기 전에 읽어 둘 값어치가 있는 대목은 이것 하나입니다. 검게 채우면 아래 있던 것이 전부 한 가지 색으로 바뀌므로 아무것도 남지 않습니다. 테두리도, 평균값도, 글자 수도 남지 않습니다. 모자이크는 각 블록을 그 블록의 평균으로 바꾸는데, 평균의 격자는 여전히 아래 있던 것에 대한 측정값입니다. 흔한 글꼴에 크기도 짐작되는 글자라면, 후보 문자열을 똑같이 그려 평균을 맞춰 보는 방식으로 원본을 되살린 연구가 공개돼 있습니다. 흐리게는 합성곱이고, 합성곱은 원리상 되돌릴 수 있습니다. 배경에 찍힌 얼굴은 모자이크로 두셔도 되지만, 글자로 읽히는 것은 검게 칠하세요.

문서 프로그램에서 검은 사각형을 그리는 것과 무엇이 다른가요?

대부분의 프로그램이 그 사각형을 이미지 안이 아니라 이미지 옆에 저장하기 때문입니다. PDF 뷰어나 슬라이드, 워드프로세서, 레이어가 있는 이미지 편집기에서 그린 도형은 위치를 가진 채 문서 위에 얹혀 있는 개체입니다. 옮기거나 지우거나 다른 프로그램에서 열면 가려 두었던 것이 그대로 다시 나옵니다. 신문사도, 법원도, 정부 부처도 그런 방식으로 문서를 공개한 적이 있습니다. 여기서는 사각형이 아예 저장되지 않습니다. 남는 것은 원래 값 위에 쓰인 픽셀 값뿐입니다.

EXIF와 GPS 정보도 지워지나요?

네, 부수적으로 지워집니다. 저장이란 픽셀로 채운 캔버스를 인코딩하는 일이고, 캔버스는 태그를 갖고 있지 않습니다. 촬영 위치도, 카메라 기종도, 시각도, 내장 썸네일도 새 파일에는 그냥 쓰이지 않습니다. 썸네일은 특히 중요합니다. 이미지의 작은 두 번째 사본인데 사진을 편집해도 늘 새로 만들어지지는 않아서, 가린 사진이 가리기 전 썸네일을 달고 나가면 작업 전체가 무의미해집니다. 이미지를 다시 인코딩하지 않고 메타데이터만 없애고 싶다면 EXIF 확인 및 제거가 컨테이너 쪽을 다시 씁니다.

어떤 형식을 읽고 쓸 수 있나요?

브라우저가 디코딩할 수 있는 것은 모두 읽습니다. 실제로는 JPEG, PNG, WebP, GIF, BMP이고 요즘 브라우저 대부분에서는 AVIF도 됩니다. 쓰는 쪽은 JPEG, PNG, WebP인데, 브라우저에 들어 있는 인코더가 그것들이기 때문입니다. “자동”에서는 JPEG는 JPEG로, 나머지는 PNG로 나옵니다. 사진은 사진다운 용량을 유지하고, 캡처 화면에 남겨 둔 글자는 또렷하게 남습니다. 이 선택은 가리기와는 무관합니다. 인코더가 볼 때 픽셀은 이미 사라진 뒤입니다.

마우스 없이도 할 수 있나요?

됩니다. “가운데에 상자 추가”로 하나를 올리고, Tab 키로 상자 사이를 옮기고, 화살표 키로 선택된 상자를 움직이고, Alt와 화살표 키로 크기를 바꿉니다. Shift를 누르면 한 번에 10픽셀씩 움직이고 Delete 키로 지웁니다. 상자마다 이미지 아래에 크기와 위치, 무슨 일을 하는지, 그리고 지우기 단추가 있는 줄도 함께 나오므로 도구 전체를 키보드로 쓸 수 있고 스크린 리더로 읽을 수 있습니다.

휴대폰에서도 되나요?

됩니다. 그리기, 옮기기, 크기 바꾸기가 마우스 이벤트가 아니라 포인터 이벤트라 손가락으로도 똑같이 되고, 터치 화면에서는 손잡이가 더 크게 그려집니다. 화면의 이미지는 작업하는 동안 화면 크기로 다시 그려지고, 파일 자체는 단추를 누르는 순간 원래 해상도 그대로 가려집니다.

무료인가요? 계정이 필요한가요?

무료이고 계정도, 로그인도, 체험 기간도, 워터마크도 없습니다. 이미지 크기 제한도 없습니다. 비용을 대는 서버가 없고 작업이 이 기기에서 일어나기 때문입니다. 사이트는 광고로 운영되지만, 광고 쪽에 이미지에 관한 것은 아무것도 넘기지 않습니다.