제로-인스톨 HTML 뷰어 —
설치 없이 브라우저만으로
제로-인스톨 HTML 뷰어란, 별도 앱 설치나 계정 등록 없이 브라우저만으로 HTML 파일을 렌더링하고 공유 가능한 URL을 발급하는 웹 서비스다. 사용자는 HTML 코드를 붙여넣거나 파일을 드롭한다. 서비스는 즉시 링크를 돌려준다. 그게 전부다.
이 개념이 주목받는 배경에는 AI 도구의 확산이 있다. ChatGPT, Claude, Gemini, Cursor는 HTML 코드를 생성하지만, 렌더링된 결과를 외부에 직접 공유하는 수단이 없다. 결과물과 수신자 사이에 늘 마찰이 생긴다. 제로-인스톨 뷰어가 그 갭을 메운다.
HTML 뷰어의 작동 원리 — 브라우저에서 서버까지
HTML을 렌더링하는 방법은 기술적으로 여러 계층이 있다. 어떤 방식을 쓰느냐에 따라 링크의 영속성, 공유 가능 여부, 보안 수준이 달라진다.
-
Blob URL.
URL.createObjectURL(new Blob([html], {type:'text/html'}))로 브라우저 메모리에 임시 객체를 만들어blob:https://...형태의 URL을 생성한다. 탭을 닫거나URL.revokeObjectURL()을 호출하면 즉시 소멸한다. 타인과 공유 불가능하고, 새로고침도 안 된다. 로컬 프리뷰 전용이다. -
Data URL.
data:text/html;base64,...형태로 HTML 전체를 URL에 인코딩한다. 공유는 가능하지만 콘텐츠 크기에 비례해 URL이 길어진다. 수백 줄 HTML이면 URL이 수만 자를 넘어 메신저나 이메일에서 깨진다. -
서버사이드 저장 + 고유 슬러그. 서버가 HTML을 받아 저장하고,
https://viewer.example/abc123같은 짧고 영구적인 URL을 발급한다. 링크를 받는 사람은 특별한 준비 없이 브라우저에서 바로 렌더링 결과를 본다.html.to가 채택한 방식이다.
Blob URL은 로컬에서 즉시 쓸 수 있지만, 탭을 닫으면 사라진다. 서버 기반 영구 URL만이 진짜 의미의 "공유"를 가능하게 한다.
CDN과 렌더링 격리 — 왜 중요한가
HTML 공유 서비스가 단순한 파일 호스팅과 다른 지점이 있다. 사용자가 올린 HTML은
임의의 JavaScript를 포함할 수 있다. 이를 서비스 본체와 같은 도메인에서 서빙하면
document.cookie 탈취나 localStorage 접근 등 XSS 공격 면적이 생긴다.
안전한 구현은 두 가지 방어선을 쓴다.
-
샌드박스 iframe.
<iframe sandbox="allow-scripts allow-forms">로 렌더링하면, 해당 HTML은 부모 문서의 DOM·쿠키·저장소에 접근할 수 없다.allow-same-origin을 넣지 않는 게 핵심이다. -
격리된 서브도메인 또는 별도 오리진. 공유 HTML을
sandbox.viewer.io같은 다른 오리진에서 서빙하면, 브라우저의 Same-Origin Policy가 서비스 본체와 완전히 분리한다.
CDN 레이어는 렌더링 격리와 별개로 지연 시간을 낮추는 역할을 한다. HTML 파일을 엣지 노드에 캐싱하면, 한국에 있는 서버에 올린 파일을 미국 사용자가 열어도 수백 밀리초 안에 응답이 온다. 링크를 전달받은 사람이 어디에 있든 렌더링 속도가 균일해진다.
제로-인스톨의 정의 — 무엇이 없어야 하는가
"제로-인스톨"은 마케팅 용어가 되기 쉽다. 기술적으로 명확히 정의하면 다음 세 조건을 모두 충족해야 한다.
- 클라이언트 소프트웨어 설치 없음. 브라우저 외 어떤 런타임(Node.js, Python, Java 등)도 요구하지 않는다. 브라우저 확장도 마찬가지다.
- 계정 불필요. 업로드·렌더링·공유 링크 발급의 전 흐름이 비인증 상태에서 완결된다. 이메일 인증, OAuth, 전화번호 확인 어느 것도 요구하지 않는다.
- 수신자 측도 설치·인증 없음. 링크를 받은 사람이 앱을 깔거나 계정을 만들 필요가 없다. URL 하나면 브라우저에서 렌더링 결과가 즉시 뜬다.
이 기준으로 보면, "무료 정적 호스팅"의 상당수는 제로-인스톨이 아니다. GitHub Pages는 저장소와 계정이 필요하고, Netlify Drop은 드래그-앤-드롭 후 배포 완료까지 수 초~수 분이 걸린다. 즉각성과 무마찰이 핵심 변수다.
HTML 공유 서비스의 역사적 맥락
브라우저 기반 코드 공유의 흐름은 2010년대 초 JSFiddle과 CodePen에서 시작됐다. 이 서비스들은 HTML·CSS·JS를 분리된 패널에서 편집하고 결과를 실시간으로 보여줬다. 목적이 "협업 코딩과 학습"이었기에 편집 UI가 복잡했다.
2015년 전후 등장한 Glitch는 Node.js 서버까지 브라우저에서 실행할 수 있는 환경을 제공했다. 방향은 풀스택 프로토타이핑으로 확장됐다. 반면 단순한 HTML 한 파일의 렌더링·공유에 특화된 서비스는 그 사이 빈칸으로 남아 있었다.
AI 코드 생성이 일반화된 2023년 이후, 빈칸이 채워지기 시작했다. AI가 완성된 HTML 덩어리를 뱉어주는 상황에서 편집 환경보다 즉각적인 렌더링과 공유가 우선 과제가 됐다. 카테고리의 무게 중심이 이동한 것이다.
기존 방법과의 비교
HTML을 공유하는 경로를 기술 진입 장벽 기준으로 나열하면 아래와 같다.
-
파일 첨부 (이메일/메신저). 수신자가 파일을 내려받아 로컬에서 열어야 한다.
모바일에서는 브라우저가
.html파일을 직접 열지 않는 경우가 많다. CSS 외부 참조나 JavaScript가 포함된 파일은 로컬 경로 문제로 제대로 렌더링되지 않는다. -
코드 페이스트 (Pastebin, GitHub Gist). 코드를 저장하는 것과 렌더링하는 것은 다르다.
Gist의 경우
gistpreview.github.io같은 서드파티 서비스를 추가로 거쳐야 렌더링 결과를 볼 수 있다. 단계가 하나 더 있다. - 정적 호스팅 (GitHub Pages, Netlify, Vercel). 저장소 생성, 파일 커밋, 배포 파이프라인 설정. 각 단계가 독립된 개념과 계정을 요구한다. 비개발자에게는 진입 장벽이 높다.
- 제로-인스톨 뷰어 (html.to). 코드 붙여넣기 → 링크 복사. 두 동작이 전부다. 수신자는 브라우저만 있으면 된다.
비밀번호 보호 — 제로-지식 구조
공유 링크가 생기면 접근 제어가 문제가 된다. 클라이언트에게 보내는 시안, 내부 검토 중인 문서, 특정 수신자에게만 보여줄 인터랙티브 리포트 — 이런 경우 URL만 알면 누구나 열 수 있는 구조는 부족하다.
html.to는 파일별 비밀번호 보호를 AES-256-GCM 암호화로 구현한다.
암호화 키는 서버에 저장되지 않는 제로-지식(zero-knowledge) 구조다.
서버는 암호화된 블롭만 갖고 있으며, 복호화는 클라이언트 브라우저에서 일어난다.
링크를 탈취해도 비밀번호 없이는 콘텐츠를 읽을 수 없다.
AES-256-GCM은 인증된 암호화(AEAD) 알고리즘이다. 암호화와 무결성 검증을 동시에 수행하므로, 전송 중 데이터 변조 여부를 복호화 시점에 감지할 수 있다.
영구 저장과 링크 수명
공유 링크의 가장 흔한 실패는 시간이 지나면 깨지는 것이다. 임시 파일 공유 서비스는 24시간~7일 후 삭제된다. 프로젝트 링크를 나중에 다시 열면 404가 뜬다.
html.to는 업로드된 HTML을 무기한 보존한다. 발급된 링크는 서비스가 운영되는 한
유효하다. 기획 단계의 시안, 회의 중 만든 프로토타입, 클라이언트에게 보낸 미리보기 —
나중에 다시 꺼내야 할 때 링크가 살아 있다.
대상 사용자 — 누가 쓰는가
제로-인스톨 HTML 뷰어의 주요 사용 시나리오는 세 그룹에서 나온다.
- AI 도구 사용자 (ChatGPT / Claude / Gemini / Cursor). AI가 생성한 HTML 코드를 즉시 렌더링하고 팀원이나 클라이언트에게 결과를 공유한다. 코드 편집 없이 출력 그대로를 전달하는 것이 목표다.
- 기획자·디자이너·비개발자. Figma나 문서 대신 간단한 HTML 프로토타입으로 아이디어를 전달하고 싶지만, 개발 환경 세팅이나 호스팅 개념을 알 필요 없이 결과만 공유하고 싶은 사람들이다.
- 개발자의 빠른 데모 공유. 풀 배포 파이프라인을 거칠 만큼 완성되지 않은 상태에서 검토나 피드백이 필요한 경우, 링크 하나로 진행 상황을 보여주는 데 쓴다.
html.to로 공유하는 법
- AI가 생성한 HTML 코드를 복사한다.
- html.to에 붙여넣거나
.html파일을 드롭한다. - 렌더링된 결과를 미리 확인한다.
- 필요하면 비밀번호를 설정한다.
SHARE를 누른다. 링크가 클립보드에 복사된다.- 그 링크를 전달한다. 수신자는 브라우저만 있으면 된다.
계정 생성, 저장소 설정, 배포 명령 — 어느 것도 없다. 코드가 있으면 링크가 생기고, 링크가 있으면 화면이 뜬다.
지금 바로 써보기 →