asiiflow — draw infinite ASCII diagrams in your browser
asiiflow is a free, browser-based editor for drawing, editing, and sharing ASCII-art diagrams on an infinite canvas. With asiiflow you can freeform-draw, resize boxes, snap to a character grid, and export straight to plain text or HTML.
┌──────────────────────────────────────────────────────────┐
│ asiiflow — ASCII diagram editor │
└──────────────────────────────────────────────────────────┘
┌──────────┐ ┌──────────┐
│ client │───────▶│ server │
└──────────┘ └──────────┘
│ │
│ https │ drive
▼ ▼
┌──────────┐ ┌──────────┐
│ Google │ │ Drive │
└──────────┘ └──────────┘
Features
Infinite canvas
Pan and zoom across an unbounded grid. Diagrams can be as small as a single box or as large as a system architecture overview.
Freeform draw
Draw boxes, lines, arrows, and freehand ASCII characters. Smart connectors re-route automatically when you move a box.
Resize & move
Drag box edges to resize, drag the body to move. Connected lines stay attached and reflow.
Export to text/HTML
Copy your diagram as plain ASCII text for embedding in code comments, READMEs, or chat, or export as HTML.
Save to Google Drive
Sign in with Google to save diagrams to your Drive and reopen them later from any device.
No install
Runs entirely in the browser. Nothing to download, nothing to install.
About asiiflow — what this app is for
The purpose of asiiflow is to give you a fast, install-free way to draw ASCII diagrams — flowcharts, system diagrams, sequence sketches, network topologies, or any other drawing that benefits from being represented as plain text. Because asiiflow stores diagrams as ASCII characters, they can be embedded in source code, README files, terminal output, and any other text-based medium.
asiiflow provides an infinite scrollable canvas, box/line drawing tools, freeform character entry, drag-to-resize and drag-to-move, undo and redo, and one-click export to plain text or HTML. When you sign in with Google, asiiflow can also list the diagrams you previously saved in your own Google Drive so you can reopen them from any device.
How asiiflow uses your Google Drive
To enable the Drive integration, asiiflow requests two Google Drive scopes:
drive.metadata.readonly— What asiiflow reads: the file names, IDs, and modification timestamps of ASCII diagram files you have saved in your own Google Drive, so asiiflow can list them in your diagram picker. asiiflow never reads file contents or files you did not create with it.drive.file— What asiiflow writes: a background worker creates a tiny temp file (asiiflow-keepalive-<timestamp>.txt) in your Drive every 24h and immediately deletes it, so the Drive API client stays active. Only files asiiflow itself created are ever touched — your other Drive files are never read, modified, or deleted. Thedrive.filescope technically prevents asiiflow from seeing files it did not create.- What asiiflow does NOT do: the contents of any other Drive file, files you did not create with asiiflow, your contacts, photos, emails, or any data outside your Drive. asiiflow never modifies, overwrites, or deletes files it did not create, and never writes to anyone else's Drive.
- Token handling: asiiflow stores the OAuth token returned by Google locally on the server, encrypted with AES-256-GCM, so it can keep listing your diagrams without prompting you to sign in on every visit. The token never leaves the server except when talking directly to Google over HTTPS.
Full details are in the privacy policy and the requested scopes reference.
Why asiiflow requests these scopes
When you sign in with Google, asiiflow requests the minimum scopes needed to identify you and to read/write your own diagrams in Google Drive. Here is exactly why each one is required and what it lets asiiflow do — and, just as importantly, what it does not let asiiflow do.
1. openid — Sign you in
Why: to authenticate you with a signed ID token from Google during the Sign-in with Google flow, so asiiflow knows who you are without ever seeing your password.
What it lets asiiflow do: verify your identity through Google's OpenID Connect endpoint, once, at sign-in time.
What it does NOT do: read your Gmail, see your contacts, or access any Google data beyond confirming your identity.
2. email — Match your account to the allowlist
Why: asiiflow is a single-user, self-hosted app
that only lets a configured allowlist of email addresses sign in (see
ALLOWED_EMAILS). The email scope returns your
verified email address so asiiflow can check it against that list.
What it lets asiiflow do: read your email address from Google's userinfo endpoint and store it on the server so it can greet you and keep you signed in across sessions.
What it does NOT do: read your email messages, send mail on your behalf, or share your address with anyone. Your email is never logged in plaintext — only a short, non-reversible fingerprint.
3. profile — Greet you by name
Why: to display your name and profile picture in the UI after you sign in, so the app feels personalized instead of showing a bare email address.
What it lets asiiflow do: read your display name and a profile picture URL from your Google profile.
What it does NOT do: read your profile posts, review your Google activity, or share your profile data. The profile data is used only for display and is not stored beyond your session.
4. drive.metadata.readonly — List your saved diagrams
Why: so asiiflow can show you the ASCII diagrams you previously saved to your own Google Drive and reopen them in the editor from any device.
What it lets asiiflow do: read the file name, file ID, and last-modified time of diagram files you saved through asiiflow in your own Drive.
What it does NOT do: read the contents of any Drive file, read files you did not create with asiiflow, or read anything outside Google Drive (no Gmail, no Contacts, no Photos, no Calendar).
5. drive.file — Keep the Drive client active (create + delete)
Why: Google deletes OAuth clients that have been
inactive for 5+ months. A background worker creates a tiny temp file
named asiiflow-keepalive-<timestamp>.txt in your Drive
every DRIVE_KEEPALIVE_INTERVAL (default 24h) and
immediately deletes it. This marks the Drive API client
"active" so Google does not delete your OAuth client.
What it lets asiiflow do: create a temp file in your Drive and then delete that same file by its ID, a few seconds later.
What it does NOT do: read, modify, overwrite, or
delete any other file. The drive.file scope technically
restricts asiiflow to only the files it created itself — your other
Drive files are invisible to it. If a delete ever fails, the file id is
logged so it can be removed manually; the temp file is never the file
you saved through asiiflow, and it is always visible only to
asiiflow.
The full per-scope breakdown, including the request method and storage behavior, is on the requested scopes page.
How it works
- Open the editor — the canvas loads in your browser, no install required.
- Draw using the box, line, arrow, and freeform tools on the toolbar.
- Sign in with Google to enable saving diagrams to your Google Drive.
- Export your diagram as plain text or HTML whenever you like.
Privacy & data
asiiflow requests only the minimum Google scopes needed for the Drive integration to function. asiiflow reads only the metadata of diagram files you saved in your own Drive, and writes only the diagrams you create through asiiflow — never to files or Drives you do not own. Diagrams saved to Drive stay in your own Drive account under your control. See the privacy policy and requested scopes for full details.
Your account
You are browsing the public home page — no account required.
To save diagrams to Google Drive, sign in with Google. Sign-in is optional and only needed for the Drive save feature.