A beautiful, intuitive visual editor for creating and managing dialogue trees and conversation flows.
- Visual Node-Based Editor - Create dialogue flows with an intuitive drag-and-drop interface
- Multi-language Support - Available in Portuguese, Spanish, English, Japanese, and Chinese
- Import/Export - Save and load your dialogue trees as JSON files
- Smart Connections - Visually connect dialogue blocks with response options
- Grid Snapping - Precise block positioning with optional grid snapping
- Custom Variables - Add custom key-value pairs to dialogue blocks
- Color Coding - Organize responses and variables with custom colors
- Keyboard Shortcuts - Fast workflow with keyboard navigation
- Auto-save - Never lose your work with automatic local storage
- Zoom & Pan - Navigate large dialogue trees with ease
Visit dialogbench.com to start creating dialogue trees immediately - no installation required!
- Clone the repository:
git clone https://github.com/ctresb/dialogbench.git
cd dialogue_editor- Open
index.htmlin your browser:
open index.htmlThat's it! No build process or dependencies needed.
- Create Blocks - Click "Novo Bloco" (New Block) to add dialogue nodes
- Edit Content - Click on text areas to edit dialogue lines
- Add Responses - Click the
+button in the responses section to add player choices - Connect Blocks - Link responses to other dialogue blocks
- Add Variables - Add custom key-value pairs for game state or metadata
- Save Your Work - Export as JSON or let auto-save handle it locally
Shift + N- Create new dialogue blockShift + Enter- Add new line in dialogue (while editing)Backspace(on empty line) - Delete current line
Dialog Bench supports multiple languages:
- Português (Portuguese)
- Español (Spanish)
- English
- 日本語 (Japanese)
- 中文 (Chinese)
Want to add your language? See Contributing below!
- Vanilla JavaScript - No frameworks, pure JS for maximum performance
- CSS3 - Modern styling with gradients and animations
- SVG - Smooth connection lines between blocks
- LocalStorage - Auto-save functionality
- JSON - Simple import/export format
- Boards System - Work on multiple dialogue files simultaneously with a board/project management system
- Different Block Types - Support for various block types:
- Image blocks for visual references
- Condition blocks for branching logic
- Event blocks for triggering game actions
- Note blocks for documentation
- Advanced Search - Find and filter dialogue blocks
- Undo/Redo - Full history management
- Collaboration Mode - Real-time collaborative editing
- Templates - Pre-built dialogue templates
- Export Formats - Support for various game engines (Unity, Godot, Unreal)
- Dark/Light Themes - Customizable appearance
- Dialogue Testing - Preview and test conversation flows
- Character Management - Assign speakers to dialogue blocks
- Branching Analytics - Visualize dialogue complexity and paths
We love contributions! Dialog Bench is open-source and community-driven.
-
Add Translations
- Edit
locales.jsonto add your language - Follow the existing structure for consistency
- Test thoroughly before submitting
- Edit
-
Report Bugs
- Open an issue with detailed reproduction steps
- Include browser version and OS information
-
Suggest Features
- Open an issue with your feature idea
- Explain the use case and benefits
-
Code Contributions
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
To add a new language:
- Add flag icon to
/icons/folder (24x16px PNG) - Add locale entry in
locales.json - Add language option in
index.htmllanguage dropdown - Test all UI elements in the new language
dialogue_editor/
├── index.html # Main HTML file
├── style.css # Styles and animations
├── script.js # Entry point
├── locales.json # Translation strings
├── icons/ # Flag icons for languages
└── scripts/
├── main.js # App initialization
├── blocks.js # Block management
├── canvas.js # Canvas and zoom controls
├── connections.js # Visual connections between blocks
├── modals.js # Modal dialogs
├── storage.js # Save/load functionality
├── i18n.js # Internationalization
├── state.js # Application state
├── dom.js # DOM element references
├── autocomplete.js # Search/autocomplete
├── toast.js # Notifications
├── modal.js # Confirmation modals
└── utils.js # Utility functions
This project is licensed under the MIT License - see the LICENSE file for details.
- Built for game developers, writers, and storytellers
- Inspired by the need for a simple, accessible dialogue editor
- Thanks to all contributors who help make this project better
- Website: dialogbench.com
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Star us on GitHub if you find this project useful!