What is PickleMixer?

About the PickleMixer

PickleMixer is a free, flexible, feature-rich application for organizing pickleball matches and assigning players into doubles games — randomly or otherwise.

NOTE: This randomizer/mixer does not work the same way as other mixers. Click here if you're NEW and want to get started now.

Key Features

Core Features (No Account Required)

Dashboard Features (Account Required)

Getting Started is Quick

To get started, open the mixer and type each player's name into the input field, pressing Enter or clicking Add after each one.

Set the number of available courts, then press the Mix button to generate your first game.

When done playing, press Mix Next to generate the next game.

Hint: Only use REmix if the shown game was not actually played — it regenerates the current game with any changes you've made.

Go to PickleMixer →

Feature Details

No Account Required

Free and anonymous usage of all core mixer features. No need to do anything except start entering your players' names. Your session is saved locally in your browser.

Advanced Mixing Algorithm

Every effort is used to keep opponents and partners fresh for everyone every game while ensuring a fair sit-out process when there are spare players even at extreme player counts and player-to-court ratios.

Session-Based Mixer with Timeline Controls

Your mixing session is managed server-side, allowing seamless access across devices when logged in. Built-in timeline navigation lets you traverse game history and analyze past mixes directly within the interface.

Genetic Optimization

This is not a simple random brute-force process. Mixes are either served from a list of optimally pre-calculated solutions or derived from a complex genetic optimization for speed and efficiency.

Pre-Calculated Patterns

Pre-solved mixes are served automatically if available. For maximum optimality and speed, many popular combinations (9 to 24 players) have optimal patterns precalculated. Pre-solved round-robin sequences for fixed partner formats are also available.

Up to 150 Players

Enter up to 150 players and use up to 99 courts in each session.

⚙ Bad Court Distribution

Sometimes there's one bad court that players hate. Use the "bad court" setting to fairly distribute this court to all players. You need to be in advanced mode (⚙) to see the necessary controls.

⚙ Freeze Court for Next Remix

Keep a court's players unchanged during the next remix. Useful when a game is still in progress or players want to continue their current matchup.

How to use: In the game view, tap the snowflake icon (❄) on any court to freeze it. Frozen courts display a blue highlight. When you remix, those players stay on their court while others are shuffled. Tap the snowflake again to unfreeze.

⚙ Rename Courts

Customize court names to match your venue's layout. Instead of generic "Court 1, Court 2" labels, use meaningful names like "North Court" or "Gym A" for easier player navigation.

How to use: Tap on any court name in the game view to edit it. Your custom names persist throughout the session and appear on printouts.

⚙ Mixed Doubles Mode

Strive for more mixed doubles courts, men's courts, and women's courts. Set player genders in the roster and use one of the gender-based presets.

⚙ Fixed Partners System

Link two players to be fixed partners. Handles odd numbers of players and any mix of fixed teams with individual players. Use the link feature in the player roster to assign fixed partners.

For rating-based mixing, see the Rating System section below to create balanced matchups based on player skill levels.

⚙ VIP Player Protection

Sometimes you have a VIP or two that you do not wish to sit out. Mark players as VIP using the star icon, and they will be protected from sitting out.

⚙ Quick Presets

No need to use complex weight settings — just choose a pre-made preset from the Quick Presets menu in Games Settings.

Player Swapping

If someone doesn't play where directed, you can let the system know by performing a swap. This way the mixer can continue to deliver fresh opponents and partners to everyone.

Shoo-in Players

Add late-arriving players to the current game when they show up after courts have already been called. Perfect for when you forgot to enter someone's name or a player arrives just too late to play in the current game. For example, three players sitting out, the game is called and players are sent to their court. Then, two players arrive just as the game is starting. We can now shoo-in the two late players into the current game and randomly select four out of the now five available players to use an available court.

How to use: Add the player to your roster, then use the shoo-in feature to place them directly onto an available court or into the sit-out area for the current game without needing to remix.

⚙ Start Next Round While Some Courts Are Still Playing

Start a new round with players who have finished their games while others are still playing. Ideal when waiting for all courts to complete would take too long — you can enter scores for incomplete games later after the next round begins.

How to use: Enter scores and submit normally for the games that are finished. Click "Split Session" to remix the next game using only the players that have completed their game and entered their score. The incomplete games can be entered any time they finish by clicking the enter scores button on the next round.

Public Ratings Page

Share your group's player ratings with a public leaderboard page. Perfect for clubs and leagues who want members to track their standings without needing to log in.

How to use: Enable public ratings in your group settings. Share the generated public URL with your players. The page displays current ratings, recent games, and player statistics — updated automatically as you record scores.

⚙ Team Entity Rating Mode

Track ratings for fixed partnerships as a single team entity rather than individual players. Ideal for leagues or groups where partners always play together and want their combined performance rated as a unit.

How to use: Enable team rating mode in your group's rating settings. When players are linked as fixed partners, their games contribute to a shared team rating instead of separate individual ratings. Team ratings appear on the leaderboard alongside individual players.

⚙ Large Screen Format

Use the "Show All Courts" feature (📺) to display all players and their current courts on one screen without needing to scroll — perfect for a TV or projector.

⚙ Advanced Printing

Customize your printouts with adjustable spacing, fonts, and column layouts to fit everything on one page. Use color markers for easy visual identification of teams or player names.

Dashboard Features

Save Players to Groups

Save player names so you don't need to type them in each time. Have multiple groups of players saved for different playing locations or events. Sign up to access the dashboard.

⚙ Rating System

Give your players ratings via seed ratings or let ratings be adjusted by entering game scores. Weight can be given so the mixer prefers to make partners and/or opponents roughly equally rated.

This uses an ELO system with a default rating of 1500. Ratings are calculated per group and reflect the relative strengths of players within each group.

Enter Scores

Record game scores to automatically calculate and update player ratings using the ELO system. Scores can be entered for any completed game, and ratings will adjust based on the outcome and margin of victory.

Rating System

The following settings are used for groups. Most can be customized per group:

Default Rating:
The starting rating for all new players. A standard ELO default is 1500. All ratings are relative within each group, so the actual number matters less than the differences between players. You could use traditional pickleball ratings (3.5,4.0 etc) but make sure to set the scale appropriately.

Base K-Factor:
Controls how much ratings change after each game. Higher values (e.g., 80) mean ratings adjust quickly, which is good for new or rapidly improving groups. Lower values (e.g., 32) make ratings more stable but change slower. This value is automatically adjusted internally: it's doubled for doubles games (to account for ratings changes shared between partners) and scaled by the win bonus setting (to account for increased variance).

Scale:
In the Elo formula, "scale" is the constant that determines how many rating points correspond to a specific win probability difference between players—it controls the steepness of the win-probability curve.


For example, with the standard 400-point scale, if a 1500-rated player faces a 1300-rated player (200 points difference), the formula predicts the higher-rated player will win approximately 75% of the time; if you instead used a 200-point scale, that same 200-point gap would predict ~95% win probability, making the system more "stretched" where small rating differences indicate larger skill gaps.


If you already have set some ratings in place before you started you can calibrate this setting until the expected scores look right. Otherwise you could just leave it at its default.

Player Placement Games:
New players go through a placement period where their rating changes are amplified (2× normal). This helps new players reach their true skill level faster. After completing this many games, rating changes return to normal.


Note: If you are importing players from the legacy system where they already had established ratings, or if you are confident in the seed ratings you entered, you can set this to 0.

Pool Placement Games:
When a group is new, ALL player ratings are more volatile (2× changes). This helps the entire group establish accurate relative ratings quickly. After this many total games are played in the group, volatility returns to normal.


Note: If you are importing players from the legacy system where they already had established ratings, or if you are confident in the seed ratings you entered, you can set this to 0.

Highest Player Responsibility:
In doubles, this determines how much the higher-rated player affects the team rating calculation. At 50%, both partners contribute equally. At lower values (e.g., 35%), the team rating weights more toward the lower-rated player, partially protecting stronger players from rating loss when paired with less skilled partners. Example: If the highest rated players run around taking all the balls in your league, you may want to set this to around %50-%70. If in your league, the lowest rated players end up receiving most of the balls, you should set this around %30-%40

Win Bonus:
Controls how much winning matters vs the score margin. At 0, only the margin matters (a 21-19 win changes ratings less than 21-5). At 1.0, only winning matters and margin is ignored.

Protect Winner Rating (Experimental):
When enabled, winners can never lose rating points, even in unusual scenarios (e.g., a heavy favorite winning by less than expected). This may cause rating inflation/deflation near the boundaries.

Rating Decay:
When enabled, players who haven't played in 7+ days will have their rating gradually reduced each week. This keeps the leaderboard active and prevents inactive players from holding top positions indefinitely. Ratings have a floor of 1000 and will not decay below that. The decay rate (default 2%) determines how much rating is lost per week of inactivity.

Group Timezone:
Sets the timezone used for your group's date displays and session boundaries. This affects when "today" starts/ends for session grouping and when the weekly decay calculation runs. Choose the timezone where most of your group plays.

Public Ratings Page:
When enabled, creates a shareable link where anyone can view your group's player ratings and standings. Useful for letting players check their ratings without needing an account. The link is unique to your group and can be shared via text, email, or posted at your playing venue.

Team Rating Mode:
Choose how team strength is calculated. "Individual ratings" uses a weighted average of both players' individual ratings. "Team entity ratings" tracks each unique player pair as its own rated entity based on games they've played together. Both are always calculated in the background—this setting controls which is used for mixing and displayed on leaderboards. Individual ratings reward personal skill; team ratings reward partnership chemistry.

Typical Competitive Game Duration:
The expected duration of a competitive, close game. Used for time-based adjustments in non-rally scoring games. If a game has a short time limit, bonus points are added to simulate how the game might have finished.

Rally Scoring:
Rally scoring means a point is scored on every rally, regardless of who served. Traditional scoring only awards points to the serving team. Rally scoring games tend to have more predictable outcomes, which affects rating calculations.

Win By Two:
When enabled, a team must win by at least 2 points (e.g., 11-9 or 12-10). This affects expected score calculations for rating adjustments.

Target Score:
The score needed to win a game (e.g., 11, 15, or 21 points). This affects expected score calculations and time-based adjustments.

Cloud Session Sync

Logged-in users can sync their mixer sessions to the cloud, allowing access from any device. Sessions are associated with your account and can be managed from the dashboard.

Player Indicators

Badges shown beside player names when applicable:

Sit-out Reason

  • S Super Sit: Sitting out in turn (highest consecutive games played).
  • V Voluntary: Manually sat out by organizer.
  • A Algorithm: Sitting out due to algorithm optimization.
  • 2x Sit-out Streak: Sat out multiple games in a row.

History Warnings

  • DG Duplicate Game: Exact same game configuration played before.
  • T Team: Played against this exact team before.
  • P Partner: Played with this partner before.
  • O Opponent: Faced this opponent before.

Status Icons

  • VIP: Protected from sitting out.
  • 🔗 Linked: Fixed partner assignment.
  • 💔 Broken Link: Linked partner is playing without them.
  • Ready: Ready to play next mix.
  • Sitting: Will sit out next mix.
  • 🔄 Swapped: Position manually changed.

⚙ Custom Weights

You can use the custom weight settings to fine-tune the algorithm. It is recommended to use the presets in most circumstances, but advanced users can adjust:

Sit-out Weight

The default value of 98 ensures fair sit-outs. With this setting, players always sit out when it's their turn. Lower values allow the algorithm more flexibility to optimize other goals at the cost of strict sit-out fairness.

Used in conjunction with Max Algorithmic Sitters — if set to a non-zero value, this allows better mixes at the possible expense of one or more players sitting out "out-of-turn".

New Partner Weight

Controls the importance of having a fresh, unseen partner every game. Higher values prioritize partner variety.

New Opponent Weight

Controls the importance of facing fresh, unseen opponents every game. Higher values prioritize opponent variety.

Court Number Weight

Controls the importance of distributing courts evenly across players. Use sparingly as it can affect other optimization goals.

Mixed Doubles Weight

Controls the importance of creating mixed doubles courts. Requires player genders to be set. Values 96+ create only same-gender courts; 95 or less enables mixed doubles.

Rating Weight

Controls the importance of balancing teams by player ratings. Higher values prioritize creating matchups where partners and opponents are similarly rated. Requires players to have ratings assigned (via seed ratings or recorded scores).

Highest Rated Partner Responsibility

Adjusts how much the higher-rated player on a team is expected to contribute. Setting this to a lower percentage (e.g., 35%) assumes the less skilled player will be hitting most of the balls, with the higher-rated partner less involved (35% involvement). This partially protects the higher-rated player's rating from being affected as much.

This also affects opponent balancing calculations — a 35% setting uses a 65% weighted average toward the lower-rated player when evaluating team strength against opponents.

Game Variety Controls

Duplicate Game Dissuasion: Avoids repeating identical game matchups (same four players on the same court and same teams). Enable this to prevent déjà vu games.

Participant Diversity: Encourages variety in early games. Slightly prefers not to repeat a previous partner as an opponent (and vice versa) early in the session. Useful when you want everyone to play with different people as quickly as possible.

Mix Quality

Controls the maximum calculation time. Higher values may produce better mixes but take longer to compute.

Need Help?

Feature requests, bug reports, community feedback, and all other support: /r/PickleFriendMixer