Sea Battle

Play a friend device-to-device, or take on the computer. No accounts, no server. Host a game to get a link, or open the link they sent you.

Rules for your game

One shot a turn, as in the classic game.

No one to play?

Take on the computer, with the rules above.

Got a game link or code?

The host's rules come with their link.

  • 100% Free
  • No Sign-Up
  • No Credit Card
  • No Free Trial
  • No Pro Tier
  • No Watermarks

Nothing is uploaded. Just open it and start.

Play Sea Battle with a friend or the computer

Free, no sign-up, no download, no server. Sea Battle connects two browsers directly — host a game, share the link, and battle it out — or take on an Easy, Normal or Hard computer on your own. Place your fleet, take turns firing, and be the first to sink your opponent's ships.

True peer-to-peer

A direct browser-to-browser connection — no game server, and moves never pass through us.

Cheat-proof, with no server

Each fleet is fingerprinted before the first shot and revealed at the end, so a lie about a hit is caught.

Easy, Normal and Hard computer

Practise solo. Hard weighs every place your ships could be hiding and finds a fleet in about 45 shots.

Rule variants

Fire again after a hit, salvo, ships that can't touch, and a quick 8×8 board, carried in the game link.

Resume after a dropout

Reconnect over a new link and carry on from the exact position. Rematches alternate who fires first.

Keyboard and screen readers

Arrow keys and Enter to fire, squares announced as “B4, hit”, and every result and turn spoken.

Phone or laptop

A responsive board plus a scannable QR code, so any two devices can face off.

Optional voice & video

Flip on a camera-and-mic call before you connect and chat face-to-face while you play — same connection.

Frequently asked questions

How do two devices connect without a server?
It uses a direct browser-to-browser (WebRTC) connection with a manual handshake. The host taps “Host a game” and gets a link; the other player opens that link and their device produces a short answer code; the host pastes that code in and the two browsers connect directly. There's no game server in the middle, and no relay: after the handshake, every move travels straight between the two devices.
Do both players have to be on the same Wi-Fi?
Not necessarily. On the same network it always works. Across different networks (say home Wi-Fi and mobile data) it works in most cases too, using free public STUN servers purely to help the two browsers find each other. They never see your moves. The only setups that can't connect are strict “symmetric NAT” networks, which would need a relay server. This tool deliberately doesn't run one, so there it can't connect.
Is anything uploaded or tracked?
No. There's no account, no server storing your game, and nothing uploaded. Your ship positions stay on your device during the game: only shots and their results travel, directly between the two browsers, and a ship's squares are revealed to your opponent only once it has been sunk. Your rules, your record against the computer and one battle in progress are remembered in this browser only. It's free, with no sign-up.
Can my opponent cheat by lying about a hit?
They can't get away with it. Before the first shot each browser locks in a fingerprint of its fleet (a SHA-256 hash with a random salt, made on the device). Neither side can see the other's ships, but when the game ends each reveals its fleet, and the other browser checks that it matches the fingerprint, that it is a legal fleet, and that every answer given during the game agrees with it. Someone who called a hit a “miss”, or moved a ship mid-game, is named on the result screen. Turns, shot positions and sunk-ship claims are also checked as they arrive, so a modified page can't fire out of turn. Without a server, nobody can force a player to reveal: if the other side never shows its fleet within about 20 seconds, the result is shown as UNVERIFIED and a win is not added to the score, but a player who refuses to reveal can't be proven wrong.
How do you play?
Each player secretly places a fleet on a grid (tap or click to place, press R or use Rotate to turn a ship, or hit Randomize). Then you take turns firing at coordinates on your opponent's grid. You're told hit or miss, and when a ship is fully hit it is sunk and shown as sunk. A list beside the enemy board shows which of their ships are still afloat. The first player to sink the opponent's entire fleet wins, and at the end both fleets are shown.
Which rule variants are there?
Pick them before you host or start a computer game: a classic 10×10 board or a quick 8×8 one (no carrier); one shot per turn, fire again after every hit, or salvo (one shot per ship you still have afloat); and an option that ships can't touch each other, even at a corner. The host's rules are carried inside their link, so the other player automatically plays the same ones, and both browsers confirm they agree before the game starts.
Can I play without a friend?
Yes. Choose “Play vs Computer” to battle a built-in AI right away, no connection needed, with any of the rule variants. Easy fires at random. Normal hunts and then works outward from a hit, and stops once a ship is sunk. Hard weighs every way your remaining ships could still be hidden and fires where they are most likely, which takes it roughly 45 shots to find a random fleet on a classic board, against about 52 for Normal. The computer never looks at your board. Your wins and fewest shots per level are kept in this browser.
What if the connection drops or I close the tab?
A battle between two browsers is saved on each device as it goes. If the line drops, choose “Reconnect with a new link”, and the other player opens the new link (or, after closing a tab, use “Continue: make a new link” on the home screen). Both browsers check that they hold the same game before carrying on from the exact position, including a shot whose answer was lost. The saved battle is kept for a week and only ever lives in your browser. In a rematch the other player fires first, and the score is carried over.
What does “refresh to play” mean?
Both browsers must run the same version of the game protocol. If one of you has an old copy of the page open, the game refuses to start and tells you to refresh instead of misbehaving. Refresh both pages and make a new link.
Can I play with the keyboard or a screen reader?
Yes. Each board is one tab stop: use the arrow keys to move between squares, Home and End to jump to the row ends, and Enter or Space to place a ship or fire (R rotates while placing). Every square is announced with its state, such as “B4, hit”, and results, sunk ships and whose turn it is are announced as they happen.
Is there sound?
Yes — there's a subtle background track and effects for firing, hits, splashes, and sinking ships, all generated in your browser (no audio downloads). Independent music and sound-effects toggles sit at the top of the game if you'd rather play quietly.
Can we talk over voice or video while playing?
Yes. Tick “Play with voice & video call” before you host, and the game will ask for your camera and mic. Your opponent is prompted too when they open the link, and you'll see each other in small video tiles beside the boards, with buttons to mute or turn off your camera. The call rides on the very same peer-to-peer connection as the game and never passes through a server. If someone has no camera, it falls back to voice only.
Can I play on my phone?
Yes. The board is fully responsive and touch-friendly, and the host screen shows a QR code so your opponent can scan the link straight into their phone. One of you can be on a laptop and the other on a phone.
The connection didn't work — what can I do?
Make sure the second player opened the full link (or pasted the whole code), and that the host pasted the answer code back in and pressed Connect. If you're on networks that block peer connections, try putting both devices on the same Wi-Fi. You can always start over from the host screen.

Spotted a bug or have a suggestion?

Found something broken, have an idea, or just want to say thanks about any of our tools? Every message reaches a real person.