TL;DR

Giao diện ASCII Draw với sơ đồ CPU vẽ bằng ký tự ASCII

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ăngASCII DrawMonodrawASCIIFlowDraw.io
GiáMiễn phí (GPL v3)$19.99Miễn phíMiễn phí/freemium
PlatformLinuxmacOS onlyWebĐa nền tảng
OutputASCII/Unicode textASCII/UnicodeASCIIPNG/SVG/XML
Version controlHoàn hảo (text)Tốt (text)Manual exportBinary files
OfflineKhông
Mã nguồn mởKhôngKhôngKhô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.