Welcome to the Choral Riser Seating Chart Generator. This tool allows choral directors and choir masters to organize concert riser layouts, automatically calculate singer and tier totals, generate printable singer name tags, and manage choir rosters with live visual updates.
1. Choir & Riser Setup
Choir / Ensemble Name: Type your choir's name (e.g., Concert Choir, Chamber Singers, or Treble Choir) in the top input box. This name automatically updates the title on your riser chart and every exported name tag.
Director / Audience Position: Use the dropdown to choose whether the Director / Audience is positioned in front of the risers (top or bottom of the chart).
Riser Box Size Scale: Use the scale selector to adjust how large or compact you want the name rectangles/riser boxes to appear on your seating chart (defaults to Standard 100%, with options ranging from Micro 40% up to Extra Large 150%).
Show Singer Names: Leave Show Singer Names on Riser Chart checked (default) to display each singer's name inside their riser box.
Note: Unchecking this option hides individual names on the chart and roster input fields, displaying voice parts for clean, anonymous tier tracking.
Configure Riser Tiers: Click + Add Riser Tier to create your choral tiers (default starts with 3 tiers: Front, Middle, Back). Type a custom name for each tier (e.g., "Tier 1 (Front)", "Tier 2 (Middle)", or "Tier 3 (Back)"). You can add multiple tiers or delete tiers as needed.
2. Adding & Managing Singers (Single & Mass Add)
Single Add: Select the Voice Part (Soprano, Alto, Tenor, Bass, etc.), choose the Assigned Riser Tier, and (if names are enabled) enter the Singer Name. Click Add Singer.
Mass Add Roster (Bulk Paste): Click 📥 Mass Add Roster in Section 2 to open the bulk paste panel. Paste a list of singers (one per line, formatted as Name, Voice Part or Name - Voice Part). Choose a default voice part and target tier, then click Add Batch to instantly populate your roster.
Grouped Sections & Column Headers: Your roster is organized into separate section boxes for each configured riser tier, complete with clear field headers at the top of each section.
Drag-and-Drop Roster Reordering: Click and drag the handle (☰) next to any singer in the roster list to reorder their position within the tier or move them around.
Inline Editing: You can directly update a singer's name, voice part, or tier assignment right from the roster list without having to delete and re-add them.
3. Live Riser Layout & Interactive Drag-and-Drop
The riser layout updates in real-time as you add, edit, or reorder singers and tiers.
Interactive Riser Chart: You can click and drag any riser box directly on the live layout to move singers around instantly between spots or tiers.
Dynamic Scaling & Clean Spacing: Riser boxes automatically scale to fit your layout. Spot numbers (#1, #2, etc.) are neatly placed in the top-left badge of each box, keeping names and voice parts completely clear of overlap.
Singer Totals: Each tier header automatically calculates and displays the exact total number of Singers assigned to that level.
4. Exporting PDFs & Saving Work
Chart PDF: Click 📄 Chart PDF to download a clean, landscape-oriented layout of your entire choral riser seating chart.
Name Tags PDF: Click 🏷️ Name Tags PDF to generate a portrait-oriented PDF containing printable singer name tags. Each tag features the choir name, tier name, spot number, singer name, and voice part neatly formatted on the bottom third of the page (strictly optimized to fit one tag per page).
How to Save and Edit Your Work: Because this tool runs entirely within your web browser, the only way to save your charts to edit them in the future is to click the 💾 Save Chart button. This downloads a small configuration file (.json) directly to your computer. To edit your chart later, simply click 📂 Open Chart and upload that file back into the app.
Complete Privacy: No information, roster data, or charts are saved by the developer personally. There are no user accounts, and no data is sent to or stored on external servers.
Data Recovery: Because everything is stored locally on your device for maximum privacy, there is no way to access, recover, or restore charts if browser data is cleared or if you forget to download your saved file. Always make sure to download your .json file before closing your session if you plan to make changes later!