워드클라우드는 무엇을 보여 주나요?
워드클라우드는 글에서 어떤 단어가 몇 번 나왔는지를 글자 크기로 바꿔 한 장에 모아 보여 주는 그림입니다. 설문 주관식 응답, 제품 리뷰, 회의록, 연설문, 블로그 글처럼 읽기에는 길지만 "무슨 얘기를 가장 많이 했나"를 한눈에 보고 싶을 때 씁니다. 이 도구는 텍스트를 공백과 문장부호 기준으로 나눠 단어별 등장 횟수를 세고, 많이 나온 상위 40개 단어를 중앙에서 바깥쪽으로 나선형으로 배치합니다. 그림 아래에는 같은 결과를 숫자로 확인할 수 있게 상위 10개 단어와 횟수를 표로 보여 줍니다.
단어를 세는 규칙
한국어는 조사와 어미가 붙어 같은 단어도 "사과를", "사과가", "사과는"처럼 다른 글자열이 됩니다. 그대로 세면 같은 말이 여러 조각으로 갈라져 크기가 작게 나오므로, "흔한 조사·불용어 자동 제외"가 켜져 있으면 다음 순서로 처리합니다.
- 공백, 쉼표, 마침표, 괄호, 따옴표 등 문장부호를 기준으로 나눕니다.
- 단어 끝의 조사(을/를/은/는/가/의/에/에서/으로/에게/처럼/입니다 등 35종)를 한 번 잘라 냅니다. 단, 잘라 내고 남는 글자가 2글자 이상일 때만 자릅니다.
- "이"로 끝나는 단어는 곧바로 자르지 않고, 잘라 낸 말이 같은 글 안에서 따로 쓰인 경우에만 합칩니다. "고양이"처럼 원래 "이"로 끝나는 단어를 "고양"으로 잘못 자르지 않기 위한 장치입니다.
- 2글자 미만 단어와 그리고·하지만·정말·너무 같은 불용어 목록, 영어 the·a·is 등을 제외합니다.
- 영어 단어는 대소문자를 합쳐 소문자로 셉니다(Apple과 apple은 같은 단어).
- 입력창에 적은 "제외할 단어"는 옵션과 관계없이 항상 제외합니다.
아래 표는 조사 제거 규칙을 같은 코드로 빌드할 때 계산한 결과입니다.
| 원래 단어 | 조사 제거 결과 |
|---|---|
| 사과를 | 사과 |
| 학교에서 | 학교 |
| 서울로 | 서울 |
| 세계의 | 세계 |
| 바다는 | 바다 |
| 고양이가 | 고양이 |
| 고양이 | 고양이 |
| 나이 | 나이 |
| Apple | Apple |
표에서 "나이"처럼 2글자 단어는 조사를 자르지 않고, "고양이"는 그대로 남는 것이 보입니다("이"로 끝나는 단어의 별도 규칙은 위 3번 참고). 이 처리는 형태소 분석이 아니라 글자 끝 패턴만 보는 단순 규칙이므로, "학교에서는"처럼 조사가 겹친 말, "먹었습니다"와 "먹고" 같은 어미 변화, "사과나무"처럼 단어 일부가 조사와 닮은 경우까지 정확히 구분하지는 못합니다. 정밀한 분석이 필요하면 전용 형태소 분석기를 거쳐 단어 목록을 만든 뒤 사용하세요.
글자 크기는 어떻게 정해지나요?
가장 많이 나온 단어를 84px, 그보다 적은 단어는 빈도 비율의 제곱근에 비례해 키우고 최소 16px로 정합니다(크기 = 16 + 68 × √(빈도 ÷ 최대 빈도)). 빈도에 정비례로 키우면 1등 단어가 화면을 다 차지하고 나머지는 보이지 않을 정도로 작아지기 때문에 제곱근으로 격차를 줄였습니다. 대신 글자 크기 차이가 실제 빈도 차이보다 작게 보이므로, 정확한 횟수는 그림 아래 표로 확인하세요.
| 최대 빈도 대비 | 이 도구의 크기(제곱근) | 비교: 정비례일 때 크기 |
|---|---|---|
| 100% | 84px | 84px |
| 50% | 64px | 50px |
| 25% | 50px | 33px |
| 10% | 38px | 23px |
| 5% | 31px | 19px |
| 1% | 23px | 17px |
예를 들어 최대 빈도의 25%인 단어는 정비례라면 33px이지만 이 도구에서는 50px로 그려져, 1등 단어(84px)와의 차이가 완만해집니다.
직접 해 보기: 예시 2가지
예시 1. 조사 합치기. 입력란에 "사과를 먹고 사과가 좋아서 사과 주스도 마셨다"를 넣으면 "사과를", "사과가", "사과"가 모두 "사과" 하나로 합쳐져 사과가 3회로 집계됩니다(조사 제외 옵션이 켜져 있을 때). 옵션을 끄면 세 단어가 따로 1회씩 집계되어 모두 작게 나옵니다. 두 상태를 비교해 보면 옵션의 효과를 바로 이해할 수 있습니다.
예시 2. 제외 단어 지정. 리뷰 모음에서 "제품", "배송"처럼 모든 글에 나오는 말이 가장 크게 나오면 정작 알고 싶은 차이가 가려집니다. 제외할 단어에 "제품, 배송"을 적고 다시 만들면 그다음으로 자주 나온 단어(예: 품질, 가격)가 커집니다. 제외 단어는 쉼표, 공백, 줄바꿈 어느 것으로 구분해도 되며 영어는 대소문자를 구분하지 않습니다.
시나리오: 카페 후기 7문장을 분석하면
다음 글(7문장, 카페 후기 가정)을 입력창에 넣고 기본 옵션과 "조사·불용어 자동 제외" 해제 상태로 각각 집계했을 때의 차이입니다. 아래 두 표는 도구와 같은 규칙으로 빌드 시점에 계산한 값입니다.
커피가 맛있고 분위기가 좋아요. 커피를 마시며 책을 읽기 좋은 카페입니다. 직원이 친절하고 커피 향이 진해요. 가격은 조금 비싸지만 커피 맛은 정말 좋습니다. 분위기는 조용하고 자리가 넓어서 책을 읽기에 좋아요. 주차는 불편해요. 주차가 어려워서 다시 오기는 망설여집니다.
| 순위 | 옵션 켬: 단어 | 횟수 | 옵션 끔: 단어 | 횟수 |
|---|---|---|---|---|
| 1 | 커피 | 4 | 좋아요 | 2 |
| 2 | 분위기 | 2 | 책을 | 2 |
| 3 | 좋아요 | 2 | 커피 | 2 |
| 4 | 책을 | 2 | 커피가 | 1 |
| 5 | 읽기 | 2 | 맛있고 | 1 |
| 6 | 주차 | 2 | 분위기가 | 1 |
옵션을 켜면 서로 다른 단어가 27개, 끄면 33개로 집계됩니다. 켠 상태에서는 "커피가", "커피를", "커피"가 모두 "커피"로 합쳐져 4회로 1위가 되지만, 끈 상태에서는 "커피"는 2회뿐이고 나머지는 "커피가"·"커피를"처럼 1회씩 흩어집니다. 이 글에서 사람이 읽으면 "커피"가 가장 많이 언급된 단어지만, 옵션을 끄면 그림만 봐서는 알 수 없다는 뜻입니다.
글자 크기는 1위 빈도를 기준으로 상대적으로 정해집니다. 이 글에서 최대 빈도는 4회이므로 4회 단어 1개는 84px, 2회 단어 5개는 64px, 1회 단어 21개는 50px로 그려집니다. 같은 글을 두 배 길이로 늘려 모든 횟수가 정확히 두 배가 되면 비율이 같으므로 크기는 그대로입니다. 즉 글자 크기는 절대 횟수가 아니라 "1위 대비 비율"을 나타내므로, 길이가 다른 두 글의 그림을 나란히 놓고 크기를 직접 비교하면 안 됩니다.
조사 제거가 틀리는 경우
조사 제거는 "3글자 이상이고 조사로 끝나면 자른다"는 글자 패턴 규칙이어서 단어의 뜻을 알지 못합니다. 아래 표는 같은 코드로 계산한 결과이며, 잘못 잘리는 쪽과 잘리지 않는 쪽의 대표 사례입니다.
| 입력 단어 | 조사 제거 결과 | 설명 |
|---|---|---|
| 고속도로 | 고속도 | 단어 일부가 조사와 같은 글자라 잘못 잘림 |
| 지하도 | 지하 | 단어 일부가 조사와 같은 글자라 잘못 잘림 |
| 소아과 | 소아 | 단어 일부가 조사와 같은 글자라 잘못 잘림 |
| 책을 | 책을 | 2글자 이하라 자르지 않음 |
| 책 | 책 | 2글자 이하라 자르지 않음 |
| 사과를 | 사과 | 정상적으로 조사 제거 |
표의 "책을"처럼 2글자 단어에 조사가 붙은 경우는 자르지 않으므로 "책"과 "책을"이 따로 집계됩니다. 위 후기에서 "책을"이 "책"으로 합쳐지지 않고 따로 2회로 남은 것이 같은 이유입니다. 1글자 명사에 붙은 조사를 놓치는 대신, "마을"처럼 조사와 닮은 글자로 끝나는 2글자 단어를 건드리지 않는 쪽을 택한 설계입니다. 해결책은 결과가 이상한 단어를 보면 "제외할 단어" 칸에 해당 글자열을 적어 빼거나, 원문에서 그 단어만 미리 고쳐 쓰는 것입니다. 단어 합치기는 이 도구에서 지원하지 않으므로 "책"과 "책을"을 하나로 만들려면 원문을 고쳐야 합니다.
토큰 분리 규칙의 세부 동작
- 분리 문자: 공백, 쉼표, 마침표, 느낌표, 물음표, 물결, 큰따옴표와 작은따옴표(')와 둥근 큰따옴표(“ ”), 가운뎃점, 괄호류, 콜론, 세미콜론, 슬래시, 백슬래시, 세로선, 꺾쇠, @ # $ % ^ & * _ = + 백틱이 모두 단어 경계가 됩니다. 하이픈(-)은 경계가 아니므로 e-mail은 한 단어로 남습니다.
- 어포스트로피: 작은따옴표가 경계이므로 영어 축약형 don't는 "don"과 "t"로 갈라지고, 1글자 "t"는 버려져 "don"만 집계됩니다. it's도 "it"만 남습니다. 영어 문장의 빈도 분석에는 주의가 필요합니다.
- 숫자: 2글자 이상의 숫자("2026")는 단어로 집계됩니다. 1글자 숫자는 버려집니다. 연도나 금액이 많은 글은 숫자가 순위에 올라올 수 있으니 필요하면 제외 단어에 넣으세요.
- 길이 기준: 조사 제거 뒤의 길이가 2글자 미만이면 버립니다. 조사 제거 옵션을 꺼도 1글자 단어는 버려집니다.
- 대소문자: 영문·숫자·하이픈만으로 된 단어는 소문자로 통일합니다. 한글이 섞인 토큰은 그대로 둡니다.
배치 알고리즘과 PNG 크기
그림 영역은 900×560 픽셀 고정이며 배경은 흰색입니다. 단어는 빈도 순으로 하나씩 중앙에서 시작해 나선형으로 바깥쪽으로 옮기며 빈 자리를 찾습니다. 한 번 시도할 때마다 각도를 0.35라디안, 반지름을 2.4픽셀 늘리고 최대 400번 시도하므로 탐색 반지름은 최대 약 960픽셀, 회전 수로는 약 22.3바퀴입니다. 각 단어는 글자 너비에 6픽셀을 더한 폭, 글자 크기의 1.1배 높이의 직사각형으로 취급되어 서로 겹치지 않고 가장자리 4픽셀 안쪽에 들어와야 배치됩니다. 글자는 모두 가로 방향이며 회전하지 않습니다. 색은 크기가 아니라 순위 순서대로 테마의 6가지 색을 번갈아 씁니다. 그래서 색이 같다고 빈도가 비슷한 것은 아니고, 색만으로 의미를 전달하려고 하면 안 됩니다. PNG는 이 캔버스 그대로(900×560) 저장되므로 큰 화면에 쓰려면 해상도가 부족할 수 있습니다. 그림은 "워드클라우드 만들기" 버튼을 눌렀을 때만 다시 그려지므로, 입력을 고친 뒤 버튼을 누르지 않고 다운로드하면 이전 그림이 저장됩니다.
이 도구가 맞지 않는 경우
- 정밀한 키워드 분석: 어미 변화("좋아요/좋습니다/좋은")를 합치지 못하므로 감성이나 주제를 정량 분석하는 근거로는 부족합니다. 위 후기에서도 "좋아요"와 "좋습니다"가 별개 단어로 셉니다.
- 띄어쓰기가 없는 언어: 중국어·일본어 문장은 단어 경계를 찾지 못합니다.
- 순서나 문맥이 중요한 분석: 빈도만 세므로 "좋지 않다"의 "좋"과 "좋다"의 "좋"을 구별하지 못합니다. 부정 표현이 많은 글은 그림의 인상이 실제와 반대일 수 있습니다.
- 표본 크기가 작은 경우: 문장 몇 개만으로는 1회 차이가 크기 차이로 과장됩니다. 의미 있는 비교는 충분한 분량의 텍스트에서 하세요.
엣지 케이스와 한계
빈 입력. 텍스트가 없거나 걸러진 뒤 남는 단어가 없으면 안내 문구만 표시하고 표는 숨깁니다.
상위 40개 제한. 단어가 아무리 많아도 빈도 상위 40개만 그립니다. 또 큰 단어가 먼저 자리를 차지하면 작은 단어가 들어갈 틈이 없어 일부는 배치되지 못할 수 있으며, 이 경우 그림 위 안내 문구에 "후보 N개 중 M개 배치"로 알려 줍니다. 배치 위치는 단어 크기 순서에 따른 결정적 방식이라 같은 입력이면 같은 그림이 나옵니다.
동률 단어. 횟수가 같은 단어는 글에서 먼저 나온 순서가 대체로 앞서지만 보장하지는 않습니다. 순위 비교에 쓰려면 표의 횟수를 기준으로 하세요.
이모지·특수 문자. 이모지는 글꼴에 따라 캔버스에서 다르게 보일 수 있어 단어로 쓰는 것을 권하지 않습니다. 한자·일본어처럼 띄어쓰기가 없는 글은 문장 전체가 하나의 단어로 잡혀 의미 있는 결과가 나오지 않습니다.
큰 입력. 수십만 자 규모도 단어 세기는 빠르게 끝나지만, 입력창에 붙여넣는 순간 브라우저가 느려질 수 있습니다. 필요한 부분만 잘라 넣는 편이 좋습니다.
글꼴. 캔버스 그림은 Pretendard 글꼴이 로드되어 있으면 그 글꼴을, 아니면 기기의 기본 산세리프 글꼴을 사용합니다. 기기에 따라 PNG의 글자 모양이 조금 다를 수 있습니다.
보안·개인정보
이 페이지의 스크립트는 입력한 텍스트를 브라우저 안에서 단어로 나누고 캔버스에 그리는 작업만 하며, 텍스트를 서버로 보내는 네트워크 요청은 없습니다. PNG 저장도 화면의 캔버스를 파일로 내려받는 것이어서 업로드가 일어나지 않습니다. 입력 내용은 저장되지 않아 새로 고치면 사라집니다. 다만 고객 정보나 내부 문서처럼 민감한 텍스트를 다룰 때는 공유 전 이름, 연락처 같은 개인정보 단어가 큰 글자로 드러나지 않았는지 반드시 확인하세요. 워드클라우드는 자주 나온 단어를 키우기 때문에 이름이나 회사명이 오히려 가장 눈에 띄는 요소가 될 수 있습니다.
결과를 활용하는 방법
발표 자료에 넣을 때는 PNG를 내려받아 슬라이드에 배치하고, 그림 옆에 상위 단어와 횟수를 한두 줄로 덧붙여 해석을 달아 주세요. 단어 크기만으로는 정확한 차이를 전달하기 어렵습니다. 설문 응답을 비교할 때는 집단별로 같은 제외 단어를 쓰고 따로 만들어 나란히 놓으면 차이가 드러납니다. 글자 수나 단어 수 자체가 필요하면 글자 수 세기를, 문서 두 개의 차이를 보려면 텍스트 비교 도구를 함께 쓰세요.
자주 묻는 질문
정확한 한국어 형태소 분석을 하나요?
아니요. 띄어쓰기와 문장부호로 나누고 글자 끝의 흔한 조사를 잘라 내는 단순 규칙입니다. 발표 자료나 후기 모음처럼 대략적인 키워드 분포를 빠르게 볼 때 적합하며, 어미 변화나 복합어까지 정확히 처리하지는 못합니다.
영어 텍스트도 지원하나요?
네. 한국어와 영어가 섞인 글도 함께 분석합니다. 영어는 대소문자를 합쳐서 세고, the·a·is 같은 흔한 단어는 불용어 옵션이 켜져 있으면 제외됩니다.
특정 단어를 빼고 싶으면 어떻게 하나요?
"제외할 단어" 입력란에 쉼표나 공백으로 구분해 적고 다시 만들기를 누르세요. 조사 제외 옵션이 켜져 있으면 조사를 뗀 형태("사과")만 적어도 "사과를", "사과가"가 함께 빠집니다. 옵션이 꺼져 있으면 입력한 글자열과 똑같은 단어만 빠집니다.
그림에 일부 단어가 안 보여요.
상위 40개 후보 중 큰 글자가 먼저 자리를 차지해 남은 공간에 들어가지 못한 경우입니다. 그림 위의 "후보 N개 중 M개 배치" 안내와 아래 빈도표로 누락 여부를 확인할 수 있고, 제외 단어로 큰 단어를 줄이면 더 많이 배치됩니다.
입력한 텍스트가 서버로 전송되나요?
아니요. 단어 세기와 그리기는 모두 브라우저에서 이루어지고 텍스트를 보내는 요청이 없습니다. PNG 다운로드도 내 기기로 저장될 뿐입니다.
같은 글인데 옵션을 껐다 켜면 순위가 크게 달라져요.
정상입니다. 옵션을 켜면 "커피가"·"커피를" 같은 조사 붙은 형태가 "커피"로 합쳐지고 불용어가 빠지므로 집계 단위 자체가 바뀝니다. 위 후기 예시에서도 서로 다른 단어 수가 달라집니다. 한국어 글은 옵션을 켠 결과가 대체로 읽기 쉽지만, 2글자 단어에 붙은 조사는 합쳐지지 않으니 표의 단어를 보고 판단하세요.
PNG를 내려받았는데 글자가 흐리거나 해상도가 낮아요.
캔버스가 900×560 픽셀로 고정되어 있어 그대로 저장되기 때문입니다. 슬라이드 한 장 정도에는 쓸 수 있지만 큰 인쇄물에는 부족할 수 있습니다. 확대해서 쓰면 흐려지므로 가능하면 처음부터 실제 크기에 가깝게 배치하세요. 해상도 조절 옵션은 없습니다.
색상 테마는 단어 의미나 빈도와 관계가 있나요?
없습니다. 색은 빈도 순위 순서대로 테마의 여섯 가지 색을 돌아가며 칠하는 것이어서 7위 단어는 1위와 같은 색이 됩니다. 의미 있는 정보는 글자 크기(1위 대비 비율)와 아래 표의 횟수입니다.
관련 도구
- 글자 수 세기(단어 카운터) - 글자·단어·문장 수 집계
- 텍스트 비교 도구 - 두 글의 차이 확인
- 텍스트 대소문자 변환기 - 영문 표기 정리
- 공백 정리 도구 - 붙여넣은 글의 줄바꿈·공백 정리