---
title: "GrobPaint: MS Paint와 Paint.NET 사이를 노리는 가벼운 이미지 에디터"
published: 2026-03-14T22:41:28.000Z
canonical: https://jeff.news/article/586
---
# GrobPaint: MS Paint와 Paint.NET 사이를 노리는 가벼운 이미지 에디터

Paint.NET이 macOS에서 안 돌아가는 갭을 메우는 경량 이미지 에디터. 레이어, 블렌드 모드, 선택 도구 등을 바닐라 JS 5,000줄 + Python 백엔드로 구현. npm/번들러/빌드 스텝 없음.

- Paint.NET이 macOS에서 안 돌아가는 문제를 해결하려고 만든 가벼운 이미지 에디터임. MS Paint와 Paint.NET 사이 어딘가를 목표로 하고 있고, 멀티플랫폼 지원

- 기능이 꽤 알찬데: 레이어(추가/삭제/복제/병합/순서변경 + 레이어별 투명도와 블렌드 모드 16종), 도구(연필/브러시/지우개/채우기/스포이트/라인/사각형/타원/텍스트/선택/마법봉/올가미/이동), 선택 영역 이동/크기조절/회전까지 지원

- 밝기/대비, 색조/채도, 가우시안 블러, 샤프닝 같은 이미지 보정도 라이브 프리뷰로 됨. 스프라이트 시트 분리/내보내기도 되고, 자체 포맷(.gbp)은 레이어를 ZIP으로 보존함

- 기술 스택이 인상적인 게, **바닐라 JS 약 5,000줄 + Python 백엔드**가 전부임. npm도 번들러도 빌드 스텝도 없음. 프론트엔드는 ES 모듈로 된 순수 JS이고, 외부 의존성이라곤 CDN에서 불러오는 JSZip 하나뿐

- `python grobpaint.py` 하면 pywebview로 네이티브 창이 뜨고, pywebview 없으면 브라우저로 폴백함. PWA라서 브라우저에서 설치하면 오프라인으로도 작동함. 자동저장은 localStorage에 저장됨

- PyInstaller로 macOS .app이나 바이너리 빌드도 가능하고, 그냥 index.html을 직접 열어도 에디터가 동작함 (파일 다이얼로그만 브라우저 기본으로 폴백)

## 핵심 포인트

- 바닐라 JS ~5,000줄 + Python 백엔드, 외부 의존성 거의 없음
- 레이어, 16가지 블렌드 모드, 이미지 보정 라이브 프리뷰
- PWA로 오프라인 동작, localStorage 자동저장
- macOS .app 빌드 가능, 브라우저에서도 동작

## 인사이트

프레임워크 없이 바닐라 JS만으로 꽤 완성도 높은 이미지 에디터를 만들 수 있다는 좋은 사례.
