Home › Developer Tools › Bash Prompt Generator

Bash Prompt Generator

Build your terminal prompt visually: drag usernames, paths, git branch, time, exit code and symbols into place, color each piece, and watch a live terminal preview. Copy the finished PS1 for bash or PROMPT for zsh straight into your shell config.

Last updated:

Elements drag into the prompt below, or click to add

Your prompt drag to reorder, click a piece to style it

Live preview

Add to ~/.bashrc

    Advertisement
    Advertisement

    How to use the Bash Prompt Generator

    1. Choose your shell: bash writes a PS1 variable, zsh writes PROMPT.
    2. Load a preset or start empty, then drag elements such as Username, Full path or Git branch into the prompt bar. Clicking an element adds it too.
    3. Click a piece to give it a text color, background or bold style, edit its text, or move and remove it.
    4. Check the live preview in and out of a git repo, after a failed command and as root.
    5. Copy the code to the end of ~/.bashrc or ~/.zshrc and run source ~/.bashrc (or open a new terminal).

    Prompt escape codes in bash and zsh

    Both shells replace special sequences in the prompt each time it is displayed. The generator writes the right code for each shell:

    Showsbash (PS1)zsh (PROMPT)Example
    User name\u%nalex
    Host name (short / full)\h / \H%m / %Mlaptop / laptop.home.lan
    Working directory (full / last part)\w / \W%~ / %1~~/projects/website / website
    Time 24h with seconds\t%*14:05:09
    Time 24h HH:MM\A%T14:05
    Time 12h with AM/PM\@%@02:05 PM
    Date\d%D{%a %b %d}Tue May 26
    $ or # (root)\$%# (shows % or #)$
    Last exit code$?%?1
    Background jobs\j%j0
    New line\na real line break

    Color codes

    bash uses ANSI escape sequences such as \[\e[1;32m\] (bold green) and \[\e[0m\] (reset). Foreground colors are 30-37 and bright 90-97; backgrounds are 40-47 and bright 100-107. zsh has readable shortcuts: %F{green}…%f for text color, %K{blue}…%k for background and %B…%b for bold. The exact shades depend on your terminal's color scheme, so the preview is an approximation.

    Tips for a fast, readable prompt

    • Keep it short. Use the current folder instead of the full path, or a two-line prompt so long paths never squeeze your command.
    • Use color for meaning. A red exit code or a different color as root tells you something at a glance; too many colors just add noise.
    • Test in the current terminal first. Paste the code directly into the shell to try it; nothing is saved until you add it to your config file.
    • Avoid slow commands. Everything inside $( … ) runs before every prompt, so keep such functions light.

    Frequently asked questions

    What is PS1 in bash?

    PS1 is the shell variable that defines the primary prompt bash shows before each command. It can contain plain text, backslash escapes such as \u (user), \h (host) and \w (working directory), color codes, and command substitutions that run every time the prompt is drawn.

    How do I make my custom prompt permanent?

    Add the generated code to the end of ~/.bashrc for bash or ~/.zshrc for zsh, then run source ~/.bashrc (or source ~/.zshrc) or open a new terminal. On macOS, Terminal opens login shells, so bash users may need to source ~/.bashrc from ~/.bash_profile.

    Why do colors need \[ and \] in bash?

    Color codes are invisible but bash counts every character to know where the cursor is. Wrapping escape sequences in \[ and \] tells bash they take no space. Without them, long commands wrap onto the same line and editing with the arrow keys becomes garbled.

    How does the git branch part work?

    The generated function asks git for the current branch name with git symbolic-ref, falls back to the short commit hash when HEAD is detached, and prints nothing outside a repository. The prompt calls it each time it is drawn, so the branch updates as soon as you switch.

    How do I reset my prompt to the default?

    Remove or comment out the prompt lines in ~/.bashrc or ~/.zshrc and open a new terminal. To undo it only in the current session, run exec bash (or exec zsh), which starts a fresh shell that reads your config files again.

    Does it work with zsh and Oh My Zsh?

    Yes. Switch to zsh to get a PROMPT using %n, %m, %~ and %F{color} codes, with PROMPT_SUBST enabled for the git branch. If you use Oh My Zsh or another framework, set ZSH_THEME="" or place the code after the framework loads so the theme does not overwrite it.

    Why do some symbols show as boxes?

    Characters like ❯, ➜ and λ need a font that contains them. Most modern terminal fonts do; if yours does not, use plain characters such as $, > or : instead.

    Are all the tools on FreeToolCabin tested for quality and accuracy?

    Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.

    Related tools

    ANSI Color Code GeneratorStyle terminal text with 16, 256 or RGB colors and get escape codes for bash, Python, JS and C.Linux Commands Cheat SheetSearchable Linux and bash command reference with flags explained, examples and copy buttons.Git Cheat SheetSearchable Git command reference by task, with copy buttons and an undo/rename/fix wizard.Chmod CalculatorConvert Linux file permissions between checkboxes, octal (755) and symbolic (rwxr-xr-x) notation.QR Code GeneratorMake QR codes for links, Wi-Fi, email and more.Barcode GeneratorCreate Code 128, EAN-13, UPC-A, EAN-8, Code 39 and ITF-14 barcodes as PNG or SVG.UUID GeneratorGenerate UUID v4 and v7 / GUIDs in bulk and copy or download them.Schema Markup Generator (JSON-LD)Create JSON-LD structured data for FAQ, Product, Article and more.Htaccess & Nginx Redirect GeneratorBuild 301 redirects for .htaccess, Nginx and Netlify or Cloudflare _redirects.Fake Data GeneratorGenerate mock data as JSON, CSV or SQL.Random String GeneratorGenerate secure random strings and tokens in bulk with any length and character set.API Key GeneratorCreate secure API keys and secrets with prefixes, checksums and SHA-256 hashes for storage.MIME Type LookupFind the MIME type for any file extension, or the extensions for a MIME type, in 400+ entries.Cron Expression GeneratorBuild crontab schedules visually, read them in plain English and see the next run times.URL Slug GeneratorTurn titles into clean, SEO-friendly URL slugs: accents, stop words, separators and bulk lines.JSON Schema GeneratorTurn sample JSON into a draft 2020-12 JSON Schema with types, required fields and formats.Gitignore GeneratorBuild a .gitignore from 50+ templates for languages, frameworks, IDEs and OS, merged and deduped.License GeneratorCreate a LICENSE file for MIT, Apache, GPL, BSD, ISC, MPL or Unlicense with your name and year.ULID GeneratorGenerate sortable ULIDs and UUID v7 in bulk, monotonic option, and decode their timestamps.Htpasswd GeneratorCreate .htpasswd entries with bcrypt, APR1-MD5 or SHA-1 for Apache and Nginx basic auth.Placeholder Image GeneratorCreate placeholder images in any size, color and text as PNG, JPG, WebP, SVG or data URI.Ads.txt GeneratorCreate or validate ads.txt and app-ads.txt files: seller lines, cert IDs and variables.Docker Run to Compose ConverterConvert docker run commands to docker-compose.yml, or a compose file back to docker run.Dockerfile GeneratorGenerate a production Dockerfile and .dockerignore for Node, Python, Go or a static nginx site.HTML Boilerplate GeneratorTick the options you need and get a clean HTML5 starter template with meta, OG tags and CSS reset.JSON to Zod SchemaInfer a Zod (or Yup) schema from sample JSON with optional, nullable and z.infer types.LLMs.txt GeneratorBuild an llms.txt file for AI crawlers: summary and link sections, import from your sitemap.Nano ID GeneratorGenerate secure Nano IDs with custom alphabet, length and count, plus a collision calculator.Nginx Config GeneratorBuild an nginx server block: static site, SPA, reverse proxy or PHP, with SSL, gzip and redirects.OpenAPI / Swagger ViewerView OpenAPI 2/3 JSON or YAML as interactive API docs with validation and an endpoint list.package.json GeneratorFill a form and get a valid, npm-ready package.json with scripts, dependencies and checks.PKCE Code Challenge GeneratorGenerate an OAuth 2.0 PKCE code_verifier and S256 code_challenge, build auth URLs, verify pairs.README GeneratorFill in a form and get a polished README.md with badges, install, usage and license, live preview.Regex GeneratorBuild regular expressions visually from blocks or presets (email, date, phone) and test them live.Commit Message GeneratorBuild Conventional Commit messages with type, scope, body, breaking change and issue refs.Database Schema DesignerDesign tables and relationships visually, then export SQL for MySQL, PostgreSQL or SQLite.Docker Compose GeneratorBuild a docker-compose.yml with a form: services, ports, volumes, env, healthchecks and presets.Dummy File GeneratorCreate test files of an exact size in KB, MB or GB with zeros, random bytes or text.Dockerfile LinterLint a Dockerfile for best practices: pinned tags, apt cleanup, non-root USER and layer count.Dockerignore GeneratorBuild a .dockerignore from Node, Python, Go and Java templates, plus your own entries.ESLint Config GeneratorGenerate a flat eslint.config.js for JavaScript, TypeScript, React or Node with rule presets.Git Branch Name GeneratorTurn a ticket ID and title into a clean, valid git branch name like feature/PROJ-12-add-login.GitLab CI Config GeneratorGenerate a .gitlab-ci.yml with stages, jobs, images, cache, artifacts and rules from templates.Jinja2 Template TesterRender Jinja2 templates with YAML or JSON variables using real Jinja2, with clear error lines.JSON Schema Mock Data GeneratorGenerate realistic sample JSON from a JSON Schema: formats, patterns, $ref, seeds and counts.Kubernetes Secret GeneratorCreate Kubernetes Secret YAML from key/value pairs or .env with auto base64, or decode one.Kubernetes YAML ValidatorValidate Kubernetes manifests against the API schema of a chosen version, with error paths.Prettier Config GeneratorToggle Prettier options, preview formatted code live and copy your .prettierrc file.Quartz Cron GeneratorBuild and explain Quartz and Spring cron expressions with seconds, ?, L, W and #, plus next fire times.README Badge GeneratorCreate Shields.io-style README badges for license, version, build and custom labels.Systemd Service File GeneratorCreate a systemd .service unit with ExecStart, user, restart policy, environment and hardening.tsconfig.json GeneratorBuild a tsconfig.json with target, module, strict checks and path aliases, each option explained.Access Log AnalyzerAnalyze Apache and Nginx access logs: top URLs, IPs, status codes, bots and traffic charts.Regex String GeneratorGenerate random test strings that match any regular expression, checked against the real regex.ASCII Table GeneratorTurn CSV or pasted cells into plain-text tables: MySQL, Markdown, Unicode box and reST styles.FFmpeg Command GeneratorPick a task and options, get the exact ffmpeg command with every flag explained.Folder Tree GeneratorTurn a local folder or an indented list into an ASCII directory tree for your README.GitHub Actions Workflow GeneratorBuild a GitHub Actions CI workflow: triggers, matrix, caching, tests, Pages or Docker deploy.Kubernetes YAML GeneratorGenerate Deployment, Service, Ingress, ConfigMap, Secret and HPA manifests with safe defaults.Markdown TOC GeneratorGenerate a linked table of contents from Markdown headings with GitHub-style anchors.OpenAPI EditorEdit OpenAPI/Swagger YAML or JSON side by side with live API docs, validation and download.OpenAPI ValidatorValidate OpenAPI 3.0/3.1 and Swagger 2.0 specs: schema errors, broken $refs, line numbers.Pivot Table MakerBuild pivot tables from CSV or Excel by drag and drop: sum, count, average, charts, export.SQL Query BuilderBuild SELECT queries visually: joins, filters, GROUP BY, ORDER BY and LIMIT, as clean SQL.Truth Table GeneratorType a logic expression and get its full truth table, minterms and canonical DNF/CNF.TypeScript PlaygroundWrite TypeScript with live type checking, see the compiled JavaScript and run it in your browser.Article Schema GeneratorCreate Article, BlogPosting or NewsArticle JSON-LD with headline, authors, dates and images.Event Schema GeneratorCreate Event JSON-LD with dates, venue or online location, tickets, organizer and performers.
    See all 85 Code Generators & Builders →