이미지 → 아스키 아트 변환기
사진을 아스키 아트로 변환 (TXT·PNG 저장)
이미지를 여기에 끌어다 놓으세요
또는 클릭해서 파일 선택 (JPG, PNG, WebP)
휠로 확대·축소 · 드래그로 이동 · 더블클릭하면 화면에 맞춤
원본 픽셀 하나를 여러 문자로 표현합니다. 풀컬러·고해상도로 렌더되고 PNG로 저장할 수 있어요. 격자가 아주 커지면 렌더링에 몇 초 걸릴 수 있습니다.
저밀도(밝음) → 고밀도(어두움) 순서로 입력하세요
밝기가 몰린 사진의 명암을 넓혀 더 또렷하게 만듭니다
초정밀 모드에서는 항상 풀컬러로 렌더됩니다
처리 중…
0.0
멈춘 것이 아닙니다. 계산이 끝나면 결과가 표시됩니다.
이미지 → 아스키 아트 변환기 소개
아스키 아트 변환은 이미지를 격자로 나누고, 칸마다 평균 밝기를 구해 그 밝기에 맞는 「진하기」의 문자를 놓는 작업입니다. 이 도구는 열 수(20~300, 초정밀 모드는 최대 2,400)를 정하면 행 수를 자동으로 계산하고, 문자셋·반전·감마·자동 대비·컬러 여부를 바꿔 가며 결과를 텍스트나 PNG로 저장하게 해 줍니다.
결과의 품질을 좌우하는 것은 세 가지입니다. 어떤 문자를 어떤 순서로 쓰는지(밝기 램프), 글자 칸이 정사각형이 아니라는 점을 어떻게 보정하는지(종횡비), 그리고 원본의 밝기 분포가 램프 전체를 쓰도록 펼쳐져 있는지입니다.
밝기 램프: 문자를 진하기 순으로 줄 세우기
기본 10단계 램프는 「 .:-=+*#%@」입니다. 공백은 종이를 거의 가리지 않고, @는 칸의 상당 부분을 잉크로 채웁니다. 70단계 램프는 1997년 Paul Bourke가 정리한 목록을 밝은 쪽부터 뒤집은 것으로, 단계가 많아 부드러운 그러데이션에 유리하지만 문자마다 모양이 제각각이라 작은 크기에서는 오히려 지저분해 보일 수 있습니다.
문자의 진하기는 글꼴마다 다릅니다. 같은 「#」도 Consolas와 D2Coding에서 칠해지는 면적이 다르므로, 램프 순서는 「대체로 맞는」 순서일 뿐입니다. 블록 문자 램프(░▒▓█)는 채움 비율이 명확해서 순서가 안정적이지만, 일부 한글·일본어 글꼴에서는 두 칸 폭으로 그려집니다. 이 도구의 PNG 저장은 라틴 고정폭 글꼴을 먼저 쓰고 글자를 칸 너비 안에 맞춰 그리므로 격자가 유지되지만, TXT 파일은 여는 프로그램의 글꼴을 따르므로 한글 글꼴이 기본인 메모장 등에서는 틀어질 수 있습니다.
기본 매핑은 흰 바탕에 검은 글씨 기준입니다. 밝은 칸에는 공백을, 어두운 칸에는 @를 둡니다. 검은 터미널 배경에 붙여 넣을 거라면 반전을 켜야 원본처럼 보입니다. 반전을 켜지 않으면 사진의 네거티브처럼 나옵니다.
글자 칸은 세로로 길다: 종횡비 보정
고정폭 글꼴 한 칸은 보통 폭보다 높이가 1.8~2배 정도 큽니다. 이미지를 가로세로 같은 간격으로 잘라 한 칸에 한 글자씩 놓으면, 결과가 세로로 그만큼 늘어납니다. 그래서 행 수를 「열 수 × 원본 세로/가로 × 문자 종횡비」로 줄입니다. 이 도구의 기본값은 0.55이며 0.3~1 사이에서 조절할 수 있습니다.
결과가 납작하거나 길쭉해 보이면 이 값을 붙여 넣을 곳의 글꼴에 맞추면 됩니다. 줄 간격(line-height)을 넓게 쓰는 편집기나 블로그에 붙이면 세로로 더 늘어나므로 값을 낮추세요.
칸의 밝기는 어떻게 구하나
각 칸은 해당 영역 픽셀의 평균색으로 요약합니다(한 점만 뽑지 않고 블록 평균을 씀). 투명 픽셀은 알파만큼 덜 반영하고, 완전히 투명한 칸은 흰 배경으로 봅니다. 투명 PNG 로고의 바깥이 검은 @ 덩어리로 채워지지 않는 이유입니다.
밝기는 0.2126R + 0.7152G + 0.0722B 가중합입니다. 감마를 풀지 않은 값을 그대로 쓰지만, 문자를 고르는 데 필요한 것은 밝기의 순서라서 실용상 문제는 없습니다. 흐린 사진은 밝기가 가운데에 몰려 램프 양 끝을 쓰지 못하므로, 자동 대비를 켜면 상하위 2%를 잘라 낸 범위를 0~255로 펼쳐 줍니다.
예시
행 수 계산
- 입력
1920×1080 이미지, 120열, 종횡비 0.55- 결과
120 × 37 격자
120 × (1080/1920) × 0.55 = 37.1 → 37행. 보정 없이(1.0) 68행으로 만들면 세로로 약 1.8배 늘어난 그림이 됩니다.
밝기에서 문자로 (10단계, 반전 없음)
- 입력
밝기 255 / 200 / 30 / 0- 결과
공백 / : / % / @
(255 − 밝기)/255 × 10의 정수 부분이 인덱스입니다. 200 → 2.16 → 「:」, 30 → 8.82 → 「%」, 0 → 10이지만 마지막 칸(9) 「@」로 제한됩니다.
자동 대비의 효과
- 입력
칸 밝기 60, 전체 분포의 2%·98% 지점이 40과 200- 결과
「#」 → 「%」
(60 − 40)/(200 − 40) × 255 = 31.9로 펼쳐져 더 진한 문자가 됩니다. 그림자 부분이 한 단계씩 깊어져 윤곽이 또렷해집니다.
사용 방법
- 이미지를 끌어 놓거나 선택합니다.
- 열 수와 문자셋을 고르고, 어두운 배경에 쓸 거면 반전을 켭니다.
- 비율이 이상하면 문자 종횡비를, 흐릿하면 자동 대비나 감마를 조정합니다.
- 텍스트로 복사하거나 TXT·PNG로 저장합니다.
자주 묻는 질문
메신저에 붙였더니 모양이 깨집니다.
고정폭 글꼴이 아니면 문자마다 폭이 달라 격자가 무너집니다. 코드 블록(```)으로 감싸거나 PNG로 저장해 공유하세요.
몇 열이 적당한가요?
터미널이나 README에 넣을 거라면 80~120열, 확대해서 볼 이미지라면 200열 이상이 좋습니다. 열이 많을수록 사진에 가까워지고 글자 느낌은 약해집니다.
컬러 모드는 텍스트로 복사해도 색이 남나요?
아니요. 일반 텍스트에는 색 정보가 없어 문자만 복사됩니다. 색을 유지하려면 PNG로 저장하세요.
출처
기준일: