Publishing Results to ChessRoster
Once your event is running in SwissSys, there are three ways to get pairings, results, and standings onto your ChessRoster tournament page.
Which should you use? If you have SwissSys v11.76 or later, use live sync — link once and your results publish automatically. The manual web report upload still works and is the right choice for unlinked use or for publishing a finished event after the fact. If you are still on SwissSys v10, the export dialog works differently enough that it has its own instructions below.
The Three Methods
| Method | Best for | What it does |
|---|---|---|
| Live sync (recommended, v11.76+) | Keeping results current during the event | Link SwissSys to your event once, then push updates with Sync Now or Auto-Sync |
| Manual web report upload (v11) | Unlinked use, or publishing a completed event | Export a .json web report from SwissSys and upload it on the ChessRoster website |
| SwissSys v10 export | Directors still running the final v10 release | Same idea, but a different dialog with two easy-to-miss traps |
All three produce the same public result: a tournament page with live pairings, results, and standings.
Method 1: Live Sync (Recommended)
With SwissSys v11.76+ you can connect the desktop software directly to your ChessRoster event. After a one-time link, SwissSys pushes the current tournament state to ChessRoster on demand or automatically — no files to export or upload.
What syncs: round pairings, results, and standings flow SwissSys → ChessRoster. Registration changes players make online (new entries, withdrawals, section moves, bye requests) flow back to SwissSys for you to review.
Link SwissSys to your event (one time)
In SwissSys, open Internet → Sync with ChessRoster (or click the ChessRoster icon on the toolbar or the CR: status text in the bottom-right). Log in through your browser, choose your organizer, and link to your existing ChessRoster event — or create one from SwissSys.
Keep results current as the event runs
Choose one of two ways to publish updates:
- Sync Now — click after you pair a round or enter results. Your tournament page updates within seconds.
- Auto-Sync — check Auto-Sync and set an interval (in minutes). SwissSys uploads in the background automatically, so the live page stays current without any clicks.
First time linking? The full walkthrough — logging in, choosing an organizer, and linking or creating the event — is in Linking SwissSys to ChessRoster. For the complete dialog reference (status bar states, reviewing registration changes, troubleshooting), see the SwissSys ChessRoster Integration Dialog.
Once SwissSys is syncing, the tournament’s Live Results display and pairing notifications work automatically from the synced data — there is nothing else to upload.
Method 2: Manual Web Report Upload
If you are not linked — for example, on an older SwissSys version, or publishing a completed event after the fact — export a web report and upload it on the website. This is a two-step process.
Step 1: Create the Web Report in SwissSys

Animated example: the full export is shown below.

Access the Internet menu
In SwissSys, go to the Internet menu and choose “Create web report for uploading”.
Fill in tournament information
Complete the web report form:
- Tournament: the name displayed for the tournament on ChessRoster.
- Starting Date: the tournament’s starting date.
- City: where the tournament was held.
- TD/Arbiter: the tournament director’s last name.
Optional information
These fields are optional but appear on the website if provided:
- State/Province — free-form text
- Affiliate — free-form text
- Country/Federation — free-form text
Leave these alone: do not check “Write to NACH file”, and do not fill in anything in the lower section of the form.
Generate the report
Click “Create report” to generate the web report file.
Save the JSON file
Save the generated .json file somewhere easy to find, such as your Desktop or Downloads folder.
Step 2: Upload to ChessRoster
Log into ChessRoster
Visit chessroster.com and log into your account.
Drop your report file onto ChessRoster
Drag the JSON report file onto any ChessRoster page. The Upload Tournament Report dialog opens with your file selected.
To update a tournament that is already on ChessRoster, you can also open the tournament’s page, click the ⋮ menu in the organizer toolbar, and choose Upload Reports. The dialog then skips the organization choice below.
Choose an organization
Use the Organization dropdown:
- Select one of your organizations, or
- Choose None (my own event) if the organizing club isn’t on ChessRoster.
An event uploaded with None (my own event) belongs to you, not an organization. Its results are public like any other event, but it cannot take online registrations or payments. To add it to an organization later, open the tournament, choose Edit settings, and pick the organization in the Organizer field — a one-way move. To set up your club, see Getting Started as an Organizer.
Choose new or existing tournament
Use the Tournament dropdown:
- Create New Tournament — creates a fresh listing. Use this the first time you upload.
- Select an existing tournament — choose a tournament already on ChessRoster to update its report data.
If the tournament name in your report matches an existing tournament, ChessRoster auto-selects it for updating.
Avoid duplicates: selecting “Create New Tournament” for an event that already exists creates a duplicate listing. Choose the existing tournament from the dropdown instead.
Complete the upload
Review your selections and complete the upload.
Each round: drop the new JSON report file onto any ChessRoster page while logged in. ChessRoster matches it to your existing tournament by name, so there is no need to reopen the tournament first.
Upload Examples
Uploading a new tournament:

Updating an existing tournament:

Method 3: SwissSys v10 (Legacy)
The final release of SwissSys v10 can still publish to ChessRoster, but its export dialog looks similar to v11’s while behaving differently. Two of those differences will silently give you a file ChessRoster cannot use, so read the warnings below before you start.
Upgrade if you can. v10 is no longer developed, and some of its report data is known to be wrong — see Known v10 limitations at the end of this section. If upgrading to v11.76+ is an option, use live sync instead.
The two traps
1. Leave “Write to JSON file format” UNCHECKED. Despite its name, that checkbox does not produce the file you
upload here — the dialog says so itself, printing “(Not for uploading to SwissSys.)” directly beside it. Leave it
unchecked; SwissSys still writes a .json for you at the end.
2. Multi-section events must use “Batch creation…”, not “Create report…”. Create report… exports only the section you currently have open. Batch creation… walks every section and combines them into one file. The reverse is also true: on a single-section tournament Batch creation… produces an empty, unusable file, because v10 only knows about sections that were declared in Setup → Multi-section tournament setup.
| Your tournament | Button to use |
|---|---|
| One section | Create report… |
| Two or more declared sections | Batch creation… |
Before you start
- Enter all the results you want published. The report is a snapshot of the moment you export it. To publish a later round, repeat the export and upload the new file.
- Check your names. A double quote (
") or backslash (\) anywhere in a player, club, team, city, or TD name will produce a file ChessRoster cannot read. Fix those before exporting. - To leave a section out of a multi-section export, open Setup → Multi-section tournament setup, select the section, click View/Edit section…, and check “Exclude from batch operations”. There is no section picker in the export dialog itself — this checkbox is the only control. Note that it also excludes the section from batch pairing, so uncheck it afterwards.
Step 1: Create the web report in SwissSys
Open the export dialog
Go to Internet → Create report for uploading…. The window that opens is titled Create web report for uploading.
Fill in the tournament information
All four of these are required, and SwissSys will not let you continue without them:
- Tournament — the name shown for the tournament on ChessRoster.
- Starting date — set the Year, Month, and Day dropdowns.
- City — where the tournament was held.
- TD/Arbiter last name — the director’s last name.
Optional, and shown on the site if filled in:
- Section — a label for this section. Leave it blank for a single-section event.
- State/Province and Country/Federation — free-form text.
- Column header style — leave on the default unless you want FIDE-style headers.
v10 has no Affiliate field. If you are following a v11 walkthrough and cannot find it, that is why.
Uncheck “Write to JSON file format”
Find the checkbox in the lower right of the form and make sure it is unchecked. See trap #1 above.
Leave Event ID and Pass code empty
Both fields at the bottom of the form must be blank. If SwissSys pre-filled them from a previous event, unchecking “Write to JSON file format” clears them for you; otherwise click Clear.
If the button reads “Create/Upload report” rather than “Create report”, an Event ID is still filled in. Clear it — otherwise SwissSys tries to send the file somewhere instead of saving one you can upload here.
Create the file
- Single-section tournament: click Create report…. A save dialog appears. It defaults to a
.txtfile name and a “Text files” filter — that is expected. Pick a folder you will remember (Desktop or Documents) and save. - Multi-section tournament: click Batch creation…. A Set report location window appears; double-click through to the folder you want and confirm.
Why does it save a .txt? v10 writes an intermediate text file for each section, then converts them into the
.json and deletes the text files automatically. Seeing .txt in the save dialog is normal.
Answer any prompts
Depending on your setup you may see some of these:
- “Do you want to include prizes with the standings report?” — answer to taste. On a multi-section export this is asked once and applied to every section.
- Individual vs. Team — fixed-roster events only. Pick Individual unless you specifically want the team standings.
- “Overwrite …?” — appears if you have exported to this folder before. Yes or All is normally what you want.
Note the file name
SwissSys finishes with “Report file converted to JSON format as yourtournament.json.” Note that name — it is the file you upload.
The file is named after the tournament, not the section, and the name is cut at the first " -" it contains — so
a tournament called “Fall Open - 2026” produces Fall Open.json. If the file is not in the folder you picked, search
your computer for the name in that message.
The export dialog stays open after it finishes. Close it with Exit.
Step 2: Upload the file to ChessRoster
The upload is identical to the v11 flow — the file you just created is an ordinary web report. Follow Step 2: Upload to ChessRoster above.
The confirmation message says the file is for “the SwissSys Events page.” Ignore that — the same file uploads to ChessRoster.
Known v10 limitations
These are defects in the shipped v10 program. They cannot be fixed from ChessRoster’s side, so it is worth knowing which ones affect your event.
- Some display options do not carry over. The team column in the wall chart and the club column in the pairing chart always arrive switched off, whatever you set in SwissSys. Set the columns you want on the ChessRoster page instead.
- Blitz and double-round events score incorrectly. Games recorded with the win-and-a-half, double-win, or double-draw result marks are counted as zero, so scores and standings will be wrong. Do not use a v10 web report for these events.
- Prize display can be inconsistent across sections of a multi-section export.
- Size limits: keep sections under 300 players, and note the limit is per section, not per tournament — splitting a large event into sections avoids it. Above roughly 340 players v10 can silently drop the trailing players from a section while still producing a file that looks complete; ChessRoster detects this and refuses the upload rather than publishing a partial crosstable. Rounds and tiebreak columns cap at 24 and 6, which match SwissSys’s own maximums and so cannot be exceeded.
- Player names carry their titles and flags inline — a flagged player may publish as
Smith, John <SEE T.D.>. Clear the flag before exporting if you do not want that on the public page.
Every one of these is fixed in SwissSys v11. If any of them affect your event, upgrading is the reliable fix.
Key Terms
Live sync: A direct connection (SwissSys v11.76+) that publishes pairings, results, and standings to ChessRoster automatically, without exporting files.
Web report: A .json file exported from SwissSys containing tournament data formatted for online publication. It is not your working SwissSys tournament file (.sjson).
None (my own event): The upload choice for an event whose organizing club isn’t on ChessRoster. The event belongs to you instead of an organization and cannot take online registrations or payments until it is added to one.
Batch creation (v10): The export button that walks every declared section of a multi-section tournament and combines them into one .json. Create report… exports only the section currently open.
Troubleshooting
Live sync
CR:status shows a problem — a!prefix (for example! CR: Offlineor! CR: Overdue) flags a sync issue. Click the status text to open the dialog and Sync Now.- Authentication expired — log in again from the dialog; your tournament link is preserved, so you don’t need to re-link.
- For more, see the ChessRoster Integration Dialog troubleshooting section.
Manual upload
- File format problems — upload only the
.jsonweb report created by SwissSys, and don’t modify it after export. If ChessRoster says you uploaded an.sjsonfile, that’s your working file — export a web report instead. - Missing players or results — the web report only includes data entered at the time you created it. Re-generate the report after entering all results, then upload the new file.
- Duplicate tournament — always check whether the tournament already exists before choosing “Create New Tournament”; use the existing tournament in the dropdown to update it.
SwissSys v10 export
- ChessRoster rejects the file, or it looks nothing like a report — you most likely had “Write to JSON file format” checked, which writes a different format. Uncheck it and export again.
- Only one section uploaded — you used Create report… on a multi-section event. Use Batch creation… instead.
- The file is empty or named just
.json— you used Batch creation… on a tournament with no declared sections. Use Create report…, or declare your sections in Setup → Multi-section tournament setup first. - A section is missing from a batch export — check whether “Exclude from batch operations” is ticked for it in Setup → Multi-section tournament setup → View/Edit section….
- Can’t find the file — it is named after the tournament (cut at the first
" -"), not the section. Search your computer for the name shown in the “Report file converted to JSON format as…” message. - SwissSys tried to send the file somewhere instead of saving it — an Event ID was still filled in. Click Clear, then export again.
- Upload fails with a file-format error and the names look fine — check for a
"or\in any player, club, team, city, or TD name. v10 does not escape those, and a single one makes the file unreadable.
Getting help
For upload or sync issues, contact moc.retsorssehc@troppus. Include your SwissSys version, operating system, and any error messages or screenshots.
Related Topics
- Downloading Registrations — Export players to SwissSys before pairing
- Managing Pairings — Publish pairings and notify players each round
- Live Results — Display standings on a live board during the event
- Linking SwissSys to ChessRoster — Set up the one-time live-sync connection
- Uploading Events — The manual upload method in detail
- Support — Contact the ChessRoster team