A web tool that visualizes GitHub and GitLab repositories with clean ASCII trees. Perfect for documentation, sharing, and understanding project structures. It runs entirely in the browser and fetches live data using GitHubβs official REST API (Git/Trees API) to ensure accuracy.
- π Instant Visualization: Convert any GitHub & GitLab repository structure into a clean ASCII tree
- π― Interactive Tree View: Expand or collapse folders for better navigation and exploration
- π Repository Analysis: Visualize file type distribution and language breakdown with interactive graphs
- π€ AI-Powered Feedback (Currently Disabled): Get intelligent suggestions and analysis for your repository structure
- πΎ Multiple Export Formats: Download trees as README.md, .txt, .json, or .html files
- π Real-time Search: Quickly filter and highlight specific files or directories
- π¨ Dual View Modes: Switch between ASCII and Interactive views for enhanced user experience
- π Dark & Light Themes: Comfortable viewing in any lighting condition
- β¨ Syntax Highlighting: Enhanced readability with beautiful code highlighting
- π One-Click Copy: Copy directory structure to clipboard
- πΎ Persistent State: Remembers your last repository URL between sessions
- π Private Repository Support: Access private repos with personal access tokens
- π Zero Installation: Works directly in your browser - no setup required
RepoTree is built with modern technologies for optimal performance and user experience:
Technology | Purpose |
---|---|
Next.js | React framework for server-side rendering and routing |
TypeScript | Type-safe development and better code quality |
Tailwind CSS | Utility-first CSS framework for rapid UI development |
Shadcn UI | Beautiful, accessible component library |
Octokit | Official GitHub API client for repository data |
Recharts | Composable charting library for data visualization |
Framer Motion | Smooth animations and transitions |
Radix UI | Low-level UI primitives for accessibility |
Lucide React | Beautiful, customizable icon set |
Simply visit RepoTree and start generating trees instantly!
# Clone the repository
git clone https://github.com/coder-ralph/RepoTree.git
# Navigate to project directory
cd RepoTree
# Install dependencies
npm install
# Start development server
npm run dev
# Open your browser
open http://localhost:3000
- π Visit RepoTree
- π Paste your GitHub or GitLab repository URL
- π Click the Generate button
- π Explore your repository structure!
- πΎ Download in your preferred format
For private repositories, you'll need to enable private access:
- Click "Enable Private Repos" at the top of the input field
- Follow the setup instructions:
- GitHub: Create a personal access token with
repo
scope - GitLab: Create a token with
read_repository
scope
- GitHub: Create a personal access token with
- Enter your token - it's stored locally and never shared
- Generate trees from your private repositories securely!
RepoTree provides insightful visualizations:
- File Type Distribution: See what types of files make up your project
- Language Breakdown: Understand the programming languages used
- Repository Structure (Currently Disabled): Get AI-powered feedback on your project organization
- π Documentation: Include clean directory trees in your README files
- π Education: Help students understand project structures
- πΌ Code Reviews: Quickly grasp repository organization
- π Migration Planning: Visualize before restructuring projects
- π Project Analysis: Get insights into codebase composition
I created RepoTree to help developers easily visualize and share repository structures.
A year ago, I saw a Stack Overflow question about generating directory trees from GitHub repositories, which inspired me to build this tool.
Original Stack Overflow Question π
Contributions are welcome! Report issues here or submit a Pull Request here.
This project was inspired by Nathan Friend's Tree Online and ASCII Tree Generator. I used these tools to create documentation for my project before.
If RepoTree has helped you, please consider:
- β Starring this repository to show your support
- π Sharing it with other developers
Made with β by Ralph Rosael