A desktop app for turning images, GIFs and video into ASCII art.
| Platform | Package | Link |
|---|---|---|
| Windows (x64) | NSIS installer | Glyphify.exe |
| Linux (x64) | AppImage | Glyphify.AppImage |
Both links download the newest release directly. On Linux, mark the AppImage as executable before running it:
chmod +x Glyphify.AppImage
./Glyphify.AppImagemacOS builds are not published yet. You can run Glyphify on macOS from source (see Building from source).
Glyphify checks GitHub for newer releases and lets you know when one is available. You can also check manually from Settings → Check for updates.
- Image input: PNG, JPG, GIF, WebP and BMP.
- Video input: MP4 and WebM play natively. Other containers such as MOV and AVI are decoded through the bundled FFmpeg.
- Seven character sets: Standard, Detailed (70 characters), Block elements, Simple, Binary, Braille, and your own custom ramp.
- Color output: 24-bit color or grayscale, with optional palette reduction to ANSI 256, ANSI 16, CGA or Game Boy.
- Adjustments: output width, font size, line height, contrast, brightness, character inversion and background color, with a live preview.
- Animation: GIFs and videos are converted frame by frame, at a frame rate you choose.
- Export: plain text, standalone HTML, PNG (1× to 4× scale), animated GIF and MP4.
- Themes: five dark themes (Graphite, Obsidian, Midnight, Forest and Amethyst) and a choice of monospace output fonts.
- Drag a file onto the Source panel, or click Browse files (Ctrl+O).
- Adjust the style, size and tone in the Options panel. With live preview on, the output updates as you go.
- Click Convert to ASCII or press Enter.
- Choose a format in the Output panel and click Save (Ctrl+S), or copy the text to the clipboard.
| Shortcut | Action |
|---|---|
| Ctrl+O | Open a file |
| Enter | Convert |
| Ctrl+C | Copy the output as plain text |
| Ctrl+S | Save the output |
| Esc | Clear the current input |
| Format | Use it for |
|---|---|
Text (.txt) |
Terminals, code comments, chat. Carries no color. |
HTML (.html) |
A self-contained page that keeps per-character color. |
Image (.png) |
A rendered snapshot, scaled 1× to 4× (set in Settings). |
| Animated GIF | Animated output from GIF or video input. |
Video (.mp4) |
Longer animations, encoded with FFmpeg. |
- Node.js 24 or later (the version CI uses)
- npm
- Git
git clone https://github.com/KillaMeep/Glyphify.git
cd Glyphify
npm install
npm startTo open Chromium DevTools alongside the app, run:
npm start -- --devPackaging uses electron-builder and writes to dist/.
npm run build:win # Windows NSIS installer
npm run build:linux # Linux AppImage
npm run build # Default target for the current OSBuild each target on its own operating system, as CI does.
src/
├── main.js Electron main process: window, dialogs, file I/O, FFmpeg encoding
├── preload.js Safe IPC bridge exposed to the renderer as window.electronAPI
├── update-checker.js Checks GitHub Releases for newer versions
└── renderer/
├── index.html Application UI
├── styles.css Theme tokens and component styles
├── renderer.js UI state, settings and the conversion pipeline
├── ascii-converter.js Pixel-to-character mapping, color palettes, HTML/PNG output
└── *-worker.js Web workers for frame extraction and GIF/video encoding
assets/ App icons and logo
Every push to main that touches the application source runs the Build and Release workflow. It builds the Windows installer and the Linux AppImage and publishes them as a GitHub release numbered v0.0.<run>. Only the three most recent releases are kept.
You can also run the workflow manually. The optional tag input (for example v1.2.0) sets the version embedded in the built app.
Bug reports and pull requests are welcome. Before opening a pull request:
- Run the app with
npm startand exercise the part you changed, with both image and video input if relevant. - Keep changes focused. Put UI styling in
styles.cssusing the existing theme tokens rather than hard-coded colors. - Describe what changed and how you tested it.
Released under the MIT License.
