- ASCII Draw là ứng dụng mã nguồn mở giúp vẽ flowchart, bảng, cây phân cấp bằng ASCII thuần - output là text, tích hợp hoàn hảo với Git.
- Đã đạt 49,358 lượt tải trên Flathub với 411 GitHub stars và 19 bản phát hành, mới nhất v1.3.0 tháng 11/2025.
- Miễn phí GPL v3, trong khi đối thủ Monodraw tính $19.99 và chỉ chạy trên macOS.
- Khởi động dưới 1 giây, chạy trên Linux qua Flatpak hoặc Snap.
TL;DR

ASCII Draw là ứng dụng mã nguồn mở cho phép vẽ sơ đồ flowchart, bảng, cây phân cấp và hình khối bằng ký tự ASCII thuần - không file ảnh, không binary blob trong git. Giao diện GTK4 native trên Linux, GPL v3, miễn phí hoàn toàn. 49,358 lượt tải trên Flathub, 411 GitHub stars, v1.3.0 phát hành tháng 11/2025.
Vấn đề muôn thuở của dev
Bạn cần vẽ sơ đồ kiến trúc microservice cho README, nhưng ảnh PNG không render tốt trên text browser, vỡ layout trên dark mode, và gây conflict khi merge. Bạn muốn nhúng diagram vào code comment nhưng IDE không hiển thị ảnh trong comment. Bạn update hạ tầng và cần commit diagram cùng Terraform config - nhưng file ảnh binary khiến git diff vô nghĩa, không review được.
Giải pháp cổ điển là vẽ tay ASCII art - mất thời gian, khó căn chỉnh, khó chỉnh sửa, và không ai thực sự muốn làm. Các tool web như ASCIIFlow cần internet, không có shortcut đầy đủ, và không tích hợp tốt vào workflow. ASCII Draw giải quyết đúng pain point này: giao diện GUI trực quan để vẽ bằng chuột, output ra text thuần túy hoạt động ở mọi nơi - README, terminal, code comment, man page, Slack message.
Bản chất văn bản của output có nghĩa là git diff hiển thị từng thay đổi dòng-theo-dòng, merge không conflict, và repo size cực nhỏ. Không còn commit message kiểu "updated diagram image" vô nghĩa.
Dưới nắp capô
Bạn vẽ bằng chuột trên canvas GTK4 - kéo, thả, resize các hình khối như app vẽ bình thường. Phía sau, mọi thứ được render thành ký tự ASCII hoặc Unicode box-drawing characters. Kết quả là text thuần, copy-paste vào bất kỳ đâu mà không cần dependency gì thêm.
App khởi động trong dưới 1 giây, dùng tối thiểu tài nguyên - lý tưởng cho VM, container, hay SSH vào remote server. Codebase 96.6% Python, build trên GTK4 + libadwaita, yêu cầu Python 3.8+. Canvas mặc định 80x24 chars (universal terminal safe zone), mở rộng tới 120 chars cho GitHub README.
Export ra pure ASCII (tương thích tối đa, phù hợp code comment & legacy system) hoặc Unicode box drawing (đẹp hơn trên terminal hiện đại, phù hợp user-facing docs). App còn hỗ trợ import file ASCII text có sẵn để parse và chỉnh sửa.
Bộ công cụ đầy đủ
- Rectangles & frames - nhiều kiểu border, fill ký tự tùy chỉnh
- Line drawing - Cartesian, freehand, stepped lines với mũi tên
- Table Creator - tạo bảng có format chuẩn, căn chỉnh tự động
- Tree View - cấu trúc phân cấp, org chart, file tree
- FIGlet Text - stylized ASCII text với nhiều font
- Character Picker - thư viện ký tự ASCII & Unicode đầy đủ
- Flood Fill, Eraser, Selection/Rotation - đủ công cụ chỉnh sửa
Keyboard shortcuts đầy đủ cho power user: B chọn box tool, L chọn line tool, T chọn text tool, Arrow Keys nudge 1 char, Shift+Arrow nudge 5 chars. Template reusable lưu qua File → Save as Template.
So sánh với đối thủ
| Tính năng | ASCII Draw | Monodraw | ASCIIFlow | Draw.io |
|---|---|---|---|---|
| Giá | Miễn phí (GPL v3) | $19.99 | Miễn phí | Miễn phí/freemium |
| Platform | Linux | macOS only | Web | Đa nền tảng |
| Output | ASCII/Unicode text | ASCII/Unicode | ASCII | PNG/SVG/XML |
| Version control | Hoàn hảo (text) | Tốt (text) | Manual export | Binary files |
| Offline | Có | Có | Không | Có |
| Mã nguồn mở | Có | Không | Không | Không |
Monodraw giao diện polished hơn nhưng tốn $19.99 và khóa trên macOS. ASCIIFlow tiện cho quick sketch nhưng cần internet, không có offline mode. Draw.io mạnh nhưng sinh binary file PNG/SVG làm bẩn repo git, nặng Electron. Với Linux dev cần version control thuần, ASCII Draw là lựa chọn rõ ràng nhất.
Hạn chế & ai nên dùng ngay
Hạn chế cần biết: Linux only - không có package Windows/macOS chính thức (cộng đồng đang khám phá WSL). Output chỉ monochrome, không hỗ trợ ANSI color native (có thể post-process bằng lolcat hoặc script). Cần GNOME desktop hoặc GTK4 cho trải nghiệm tốt nhất khi build từ source.
Dùng ngay nếu:
- Bạn là Linux dev thường xuyên viết README và tài liệu infrastructure
- Team dùng GitOps, muốn diagram thay đổi cùng code trong cùng commit
- Bạn muốn nhúng visual vào code comment, docstring, hoặc man page
- Bạn đang dùng Terraform/Ansible và cần lưu diagram dạng text cùng config
Cài đặt & tiếp theo
Cài nhanh qua Flatpak (khuyến nghị - sandbox, auto-update):
flatpak install flathub io.github.nokse22.asciidraw
Hoặc Snap trên Ubuntu và derivative:
sudo snap install ascii-draw
Repo đang phát triển tích cực với 15 contributors và 377 commits. Roadmap bao gồm native ANSI color export và WSL support. Community chat tại Matrix #ascii-draw:matrix.org, contribute tại github.com/Nokse22/ascii-draw.
Nguồn: GitHub Nokse22/ascii-draw, BrightCoding.
