About

Do I Need to Log in to Play?
No. Submitted solutions will be executed and checked without logging in, but nothing will be saved and you won't appear on the leaderboards.
Is Code Golf Free as in Speech?
Yes! It is written in Go, licensed under MIT, and available on GitHub; patches welcome!
Is Code Golf Free as in Beer?

Yes! However hosting isn't, so if you enjoy Code Golf consider donating to its continued existence and improvement via GitHub Sponsors.

Sponsors will receive a shiny “Sponsor” badge on their profile and a warm fuzzy feeling in their heart.

What Languages Are Supported?

><>

477 KiB
b71dce3
github.com/primo-ppcg/fish-jit

Assembly

48.7 MiB
DefAssembler 1.6.4
npmjs.com/package/@defasm/core

Bash

1.14 MiB
5.1.8
gnu.org/software/bash/

brainfuck

4.56 MiB
c68db6c
github.com/primo-ppcg/bf-jit

C

1.61 MiB
Tiny C Compiler 0.9.27
bellard.org/tcc/

C#

130 MiB
C# 9.0 on .NET 5.0.7
docs.microsoft.com/dotnet/csharp/

COBOL

4.1 MiB
GnuCOBOL 3.1.2.0
gnucobol.sourceforge.io

Crystal

263 MiB
1.1.0
crystal-lang.org

F#

119 MiB
F# 5.0 on .NET 5.0.7
fsharp.org

Fortran

80.6 MiB
GNU Fortran 11.1.0
gcc.gnu.org/fortran/

Go

124 MiB
1.16.6
go.dev

Haskell

332 MiB
Glasgow Haskell Compiler 8.8.4
haskell.org/ghc/

Hexagony

62.6 MiB
4b30f58
github.com/SirBogman/Hexagony

J

4.77 MiB
9.02.08
jsoftware.com

Java

69.2 MiB
16.0.1
openjdk.java.net

JavaScript

20.8 MiB
V8 9.2.230.22
v8.dev

Julia

288 MiB
1.6.2
julialang.org

Lisp

33.6 MiB
GNU CLISP 2.49.92
clisp.sourceforge.io

Lua

338 KiB
5.4.3
lua.org

Nim

21.6 MiB
1.4.8
nim-lang.org

Pascal

31.3 MiB
3.2.2
freepascal.org

Perl

4.32 MiB
5.34.0
perl.org

PHP

10.5 MiB
7.4.21
php.net

PowerShell

185 MiB
PowerShell 7.1.3 on .NET 5.0.7
docs.microsoft.com/powershell/scripting/overview

Python

57 MiB
3.9.6
python.org

Raku

54.5 MiB
Raku 6.d on Rakudo 2021.07
raku.org

Ruby

14.4 MiB
3.0.2
ruby-lang.org

Rust

661 MiB
1.53.0
rust-lang.org

SQL

1.03 MiB
3.36.0
sqlite.org/index.html

Swift

693 MiB
5.3.3
swift.org

V

102 MiB
0.2.2
vlang.io

VimL

21.3 MiB
8.2
vim.org

Zig

241 MiB
0.8.0
ziglang.org

If you'd like to see another language added then raise an issue.

Are Warnings Ignored?
Yes. Only STDOUT is checked against the solution, STDERR is however shown back to you to ease debugging.
How Are Arguments Passed to My Program?
Some holes pass arguments, for those your program should read them from ARGV.
How Are Solutions Ranked?
There are two scorings in use, bytes and chars. Bytes is the number of bytes of a solution encoded in UTF-8. Chars is the number of Unicode codepoints of a solution. Users may submit up to two solutions per hole per language. This is handled automatically when you enter two solutions and each minimizes a different scoring. Each scoring has its own set of leaderboards. For the chars scoring, both “A” (U+0041 Latin Capital Letter A) and “😉” (U+1F609 Winking Face) cost the same despite the 1:4 ratio in byte count in UTF-8.
How Are Solutions Scored?
For each hole, in each language, up to 1,000 points are available. The formula is:
Points = Sb ÷ Su × 1000
Where Su is the length of the user's solution, and Sb is a Bayesian estimator of the form:
Sb = (√n ÷ (√n + 1)) × S + (1 ÷ (√n +1)) × Sa
n is the number of solutions in this hole in this language. S is the length of the shortest solution in this hole in this language. Sa is the shortest solution among all languages in this hole.

Your overall score is the sum of your highest points in each hole.

Are Submissions Resource Constrained?
Yes. Execution time is limited to 7 seconds, CPU & RAM usage is unbounded but this will probably change soon. The length of each solution must be lower than 128 KiB as that's the maximum length of any program argument under Linux.
Is There an API?
An API is currently being developed and documented in standard OpenAPI format. A legacy API that just returns scores in JSON exists. The URL is /scores/all-holes/all-langs/all. Note that all-holes and all-langs may be replaced by the names of specific holes and languages.
Can I See Other People's Solutions?
No, that way all holes stay competitive. If you're stuck on how to shave a couple of bytes off your solution then why not drop by our Discord server for some advice.