A desktop application for editing and exporting Star Citizen control profiles in human-readable formats. Create visual diagrams of your controller layouts and export your bindings to PDF, Word, CSV, and annotated device graphics.
You can download SC Profile Editor from the GitHub Releases page. Two options are available:
SCProfileEditor-vX.X.X-Setup.exe - Full installer with automatic updates
- Double-click to run the installer
- Choose your installation location
- Creates Start Menu shortcuts
- Easy uninstall via Programs & Features
- Recommended for most users
SCProfileEditor.exe - Portable version (no installation required)
- Download and run directly
- No installation or Admin rights needed
- Perfect for portable storage or USB drives
- All settings stored locally in the executable folder
- Windows 10 or later (64-bit)
- No additional dependencies required
- Launch the application
- The app will automatically load the last profile you used (or start with an empty workspace)
- Click the "Import Profile XML" button (green button in the top-right)
- Navigate to your Star Citizen profiles folder (usually
C:\Program Files\Roberts Space Industries\StarCitizen\LIVE\USER\Client\0\Profiles\default) - Select your exported profile XML file
- Click Open
Your profile will load into the Controls Table tab, showing all your current key bindings.
- Controls Table - View and edit all your control bindings in a searchable, filterable table
- Device View - Visual representations of your controllers with labeled buttons
- Config - Manage connected devices and configure device-to-joystick mappings
- About - Project information and acknowledgements
Start with a pre-configured profile for your controller setup, then customize it:
- Click the "Load Preset Profile" button (purple button in the top menu)
- Select a preset that matches your hardware (T.16000M, Warthog, VKB Gladiator, etc.)
- The profile loads as a starting point
- Customize the bindings for your preferences
- Save your customized profile
Tip: After loading a preset, customize the labels for better readability.
If you have multiple joysticks, use the Config tab to ensure consistent mappings:
- Go to the Config tab
- Review the Connected Devices section (shows keyboard, mouse, and joysticks)
- Click Refresh Devices if you've recently plugged/unplugged devices
- In the Device-to-Joystick Mapping section, select which physical device maps to which joystick slot (js1, js2, js3)
- Click "Save Configuration" to persist the mapping
- (Optional) Click Auto-Populate to automatically assign connected joysticks
Why this matters: When you unplug and replug joysticks in different order, Star Citizen assigns them different slots. Persistent mappings ensure your profile bindings stay consistent.
The Controls Table offers two viewing modes:
Default View (Simplified) - Shows: Action Category, Label, Input, Device
- Perfect for quick reference and printing
- Cleaner, more compact display
Detailed View (Complete) - Shows: All columns plus Input Code and full Action name
- Use this to understand the raw input codes (e.g., "js1_button5")
- See both original action names and your custom labels
To toggle: Check/uncheck the "Show Detailed" checkbox in the Filters section.
- Click the Edit button (pencil icon) in any row of the Controls Table
- In the RemapDialog, click "Detect Input"
- Press the button/key you want to bind (joystick button, keyboard key, mouse button, or combinations)
- The app detects it automatically
- (Optional) Adjust which device this input maps to using the dropdown
- Click "Save Binding" to apply
Supported inputs:
- Joystick: Buttons (up to 32), analog axes (X, Y, Z, throttle, etc.), POV hats
- Keyboard: Letter keys, numbers, function keys, modifier combinations (Ctrl+A, Alt+P, Shift+Down)
- Mouse: Left, Right, Middle, Forward, Back buttons
Full modifier support: Ctrl, Alt, Shift (left and right variants). Just hold the modifier while pressing another key!
- Click Edit for the binding you want to change
- Click the dropdown in the "Change Input Binding" section
- Type to search (e.g., "button5", "ctrl", "axis_x")
- Select your input from the list
You can create and display shorter labels for actions to make the graphical view more readable:
- In the Controls Table, find the action you want to rename
- Double-click the cell in the "Label" or "Action (Override)" column
- The text will be selected automatically
- Type your new label (e.g., change "Missile Launch" to "ML" or "Fire")
- Press Enter or click outside the cell to save
Examples:
- "Target Cycle All Forward" → "Next Tgt"
- "Afterburner" → "AB"
- "Shield Raise Level Forward" → "Shld Fwd"
To revert a custom label:
- Double-click the label cell
- Press Delete to clear it (or Ctrl+A then Delete)
- Press Enter - it will revert to the global default or auto-generated label
The Device View tab shows interactive visual representations of your controllers with your bindings labeled:
- Switch to the "Device View" tab
- Select your device from the dropdown (VKB Gladiator, T.16000M, etc.)
- The PDF will display with your labels automatically filled in
- Labels automatically update when you edit them in the Control Table!
To export the diagram as an image:
- Switch to Device View tab
- Select your device
- Click "Export Graphic" button
- Choose format (PNG or PDF) and location
- Use for reference or printing
All export buttons are in the top header. Exports respect your current view (default or detailed):
Export to CSV
- Best for: Spreadsheets and data processing
- Opens in: Excel, Google Sheets, LibreOffice Calc
Export to PDF
- Best for: Printing and sharing
- Includes: Profile info, device list, formatted table with landscape orientation
Export to Word Document
- Best for: Editing and custom formatting
- Includes: Title page, device information, formatted table
All exports use the "Show Detailed" setting - uncheck it for simplified exports, check it for complete details.
The Controls Table has multiple ways to find and organize what you're looking for:
- Search Box: Type any text (action name, device, input label, etc.)
- Example: "fire" → shows all fire-related actions
- Device Filter: Show only bindings for a specific device
- Action Map Filter: Show only specific categories (Spaceship Movement, Weapons, etc.)
- Key Filter: Show only bindings for a specific button, key, or axis
- Use the dropdown to manually select a key
- Or use "Detect Key" button to automatically filter by pressing a button/key (no need to remember names!)
- Show Detailed: Toggle between simplified (3 columns) and complete (6 columns) view
- Sorting: Click any column header to sort by that column (click again to reverse order)
- Hide Unmapped Keys: Hide inputs without bindings
- Clear Filters: Reset all filters and view options with one click
The application is built around four main tabs:
- Displays all your control bindings in an editable, filterable, sortable table
- Column headers can be clicked to sort
- Rows can be edited with the pencil icon button
- Supports two viewing modes (Default/Detailed)
- Shows interactive PDF representations of your controllers
- Populated with your custom action labels
- Updates in real-time when labels change
- Supports export to PNG or PDF
- Connected Devices: Lists all currently connected input devices
- Device-to-Joystick Mapping: Configure which physical device maps to which joystick slot
- SC Profiles Directory: Specify location of your Star Citizen profiles folder
- Merge Default Bindings: Optionally populate unmapped actions with SC defaults
- Project information and acknowledgements
The application uses a three-tier label priority system:
-
Your Custom Labels (highest priority)
- Created when you double-click and edit a label
- Stored in
label_overrides_custom.json - Persists across sessions
-
Global Default Labels
- Pre-configured short labels for 72 common Star Citizen actions
- Shipped with the application
- Examples: "v_attack1" → "Fire", "v_afterburner" → "Afterburner"
-
Auto-generated Labels (lowest priority)
- Generated from the action name if no override exists
- Ctrl+C: Copy selected text
- Ctrl+V: Paste (when editing)
- Escape: Cancel editing
- Enter: Save edit
- Double-click: Edit label in Controls Table
The application includes PDF templates for 20+ devices:
- VKB: Gladiator (EVO/SCG variants), Gunfighter (MCG/SCG), Space Sim Module, STECS Throttle, Throttle Quadrants, F16 MFD
- VPC: MongoosT-50CM3
- Thrustmaster: T.16000M, TWCS Throttle
For devices without templates, you can still use the Controls Table, CSV, PDF, and Word exports.
- Customize labels for your most important actions with short names
- Switch to Default View (uncheck "Show Detailed")
- Filter to show only one device (e.g., "Joystick 1")
- Export to PDF
- Print and keep next to your controller!
- Labels are auto-selected when you double-click, so you can immediately start typing
- Press Delete to clear a label completely (reverts to default)
- Press Escape while editing to cancel changes
Use Detailed View to see:
- Which physical buttons are mapped (Input Code + Input Label)
- Original action names vs. your custom labels
- Device assignments at a glance
The application remembers your last loaded profile and automatically opens it on startup:
- Click "Import Profile XML" to switch profiles
- Your custom labels are saved globally and apply to matching actions in any profile
Your custom labels are stored in label_overrides_custom.json:
- Locate the file in the application directory
- Copy it to a safe location
- To restore, copy it back to the app folder
- Import your Star Citizen profile
- Filter to show only "Joystick 1"
- Edit labels to create short versions (Next, Prev, Fire, etc.)
- Switch to Device View and select your joystick model
- Verify labels look good on the graphic
- Export the graphic as PNG or PDF
- Return to Control Table and export to PDF
- Print both the graphic and the PDF for reference
- Toggle any checkbox (like "Show Detailed") to refresh the view
- This is a known issue that will be fixed in the next update
- Make sure you pressed Enter after editing the label
- Switch tabs and back to refresh the graphics
- Make sure you're double-clicking the "Label" or "Action (Override)" column
- Other columns are read-only
- Make sure you've imported a profile first
- Buttons enable after a successful profile load
- Try manual selection using the dropdown in the "Change Input Binding" section
- Some specialized devices may not be automatically detectable
- Make sure your device is connected and working in Windows
For issues, feature requests, or contributions:
- Join the Discord community (link in app footer) - Ask questions and get support
- Report bugs with steps to reproduce on the GitHub issues page
- Request device templates for controllers you own
- Share your custom label configurations with the community
- Suggest improvements via GitHub discussions
For development setup, building from source, and contributing:
SC Profile Editor is a free, open-source project created to help Star Citizen players manage their control profiles. If you find it useful and would like to support the development:
Donate:
- 💳 PayPal Donation - Support via PayPal
- 💰 Venmo Donation - Support via Venmo
Contribute:
- Report bugs with steps to reproduce
- Request features you'd like to see
- Request device templates for controllers you own
- Share configurations and label sets with the community
- Submit code contributions via GitHub
Join the Community:
- 💬 Discord Community - Support, discussions, and feature requests
Even if you can't donate, your feedback and bug reports are invaluable!
Happy Flying, Citizen! o7