[AutoHotkey] [C] [C++] C++ Shell [hotkey: unknown] [version: multiple e.g. 202002] [note: std::format failed with ints] [note: pre-includes <algorithm>] [note: prints non-ASCII chars as other chars] [time zone: local] Online C++ Compiler - Programiz [hotkey: Ctrl+Enter] [version: 201703] [note: supports Unicode chars including emojis] [time zone: UTC] Online C++ Compiler - online editor [hotkey: F9] [version: multiple e.g. 202302] [note: std::format worked with ints (C++ 20 compiler)] [time zone: UTC] Online C++ Compiler and Visualizer [hotkey: Ctrl+Shift+Enter] [version: 202002] [note: pre-includes <algorithm> and <format>] [note: std::format worked with ints] [time zone: UTC] [C#] [note: change globalisation settings, e.g. how dates are printed: System.Globalization.CultureInfo.CurrentCulture = new System.Globalization.CultureInfo("en-CA-u-hc-h23")] | C# Online Compiler | .NET Fiddle [hotkey: unknown] [version: multiple e.g. .NET 9.0.0 (C# 13)] [note: F5 refreshes and executes] [time zone: UTC] Online C# Compiler (Editor) - Programiz [hotkey: Ctrl+Enter] [version: 4.0.30319.42000] [time zone: UTC] Online C# Compiler [hotkey: Ctrl+Enter] [version: 4.0.30319.42000] [time zone: IST] [Crystal] [set time zone: Time::Location.local = Time::Location.load("Europe/London")] Compile & run code in Crystal [hotkey: Ctrl+Enter] [version: multiple e.g. 1.16.0] [time zone: UTC, can set it] Online Crystal Compiler - Online Crystal Editor - Run Crystal Online - Online Crystal Runner [hotkey: Ctrl+Enter] [version: 1.10.1] [time zone: UTC, can set it] [Dart] [Excel] [Excel VBA] [Go] [set time zone: os.Setenv("TZ", "Europe/London")] Go Playground - The Go Programming Language [hotkey: Shift+Enter] [version: 1.24.3] [time zone: MAJOR WARNING: time.Now() is stuck at '2009-11-10 23:00:00 +0000 UTC' (Go's date of birth)] Online Go Compiler - Programiz [hotkey: Ctrl+Enter] [version: 1.23.8] [time zone: UTC] Online Go Lang Compiler [hotkey: Ctrl+Enter] [version: multiple e.g. 1.21.4] [time zone: UTC] Online Go Compiler [hotkey: Ctrl+Enter] [version: 1.22.2] [time zone: IST] [Haskell] Online Haskell Runner [hotkey: Ctrl+Enter] [version: multiple e.g. GHC 9.0.2] [time zone: UTC] [Java] [set time zone: java.util.TimeZone.setDefault(java.util.TimeZone.getTimeZone("Europe/London"));] Online Java Compiler - Programiz [hotkey: Ctrl+Enter] [version: 21.0.7] [note: prints non-ASCII chars as '?'] [note: ‘’“” are interpreted as single/double quotes] [note: line breaks sometimes (randomly?) not printed] [time zone: UTC, can set it] Online Java Compiler | Java Editor [hotkey: Ctrl+Enter] [version: multiple e.g. 21.0.0] [note: supports Unicode chars including emojis] [note: ‘’“” are interpreted as chars with no special meaning] [time zone: UTC, can set it] [JavaScript] [set time zone (Node.js): process.env.TZ = "Europe/London";] Online JavaScript Compiler (Editor) - Programiz [hotkey: Ctrl+Enter] [version: 22.15.0 (Node.js)] [time zone: UTC, can set it] JavaScript Online Compiler & Interpreter [hotkey: Ctrl+Enter] [version: 20.18.0 (Node.js)] [time zone: UTC, can set it] NodeJS Online Editor [hotkey: Ctrl+Enter] [version: multiple e.g. 21.2.0 (Node.js)] [time zone: UTC, can set it] Temporal documentation [hotkey: Enter] [version: unknown] [time zone: local, can't set it] [note: the Temporal class is available to test in the web browser console when viewing this webpage] [Kotlin] [set time zone: java.util.TimeZone.setDefault(java.util.TimeZone.getTimeZone("Europe/London"))] Kotlin Playground: Edit, Run, Share Kotlin Code Online [hotkey: Ctrl+F9] [version: multiple e.g. 1.9.25] [time zone: UTC, can't set it] Kotlin Online Compiler [hotkey: Ctrl+Enter] [version: 1.3.70] [time zone: UTC, can set it] [Lisp (Common Lisp)] compile lisp online [hotkey: F8] [version: CLISP 2.49.60] [time zone: CET (out of sync by around 10 min)] CLISP Online Editor [hotkey: Ctrl+Enter] [version: multiple e.g. CLISP 2.49.93] [time zone: UTC] [Pascal] [Perl] [PHP] [set time zone: date_default_timezone_set("Europe/London");] PHP Sandbox - Execute PHP code online through your browser [hotkey: Ctrl+Enter] [version: multiple e.g. 8.4.5] [note: cookie prompt on entering] [time zone: UTC, can set it] Online PHP Compiler - Programiz [hotkey: Ctrl+Enter] [version: 8.2.28] [time zone: UTC, can set it] W3Schools Tryit Editor [hotkey: Ctrl+Alt+R] [version: 7.1.1-1] [note: supports GMP functions] [note: to print '\n' use '<br>'] [time zone: UTC, can set it] [Python] [set time zone: import os, time; os.environ["TZ"] = "Europe/London"; time.tzset()][note: tzset() is for Unix-like OSes only] Trinket: run code anywhere [hotkey: Ctrl+Enter] [version: 3.10.9] [time zone: UTC, can set it] Online Python - IDE, Editor, Compiler, Interpreter [hotkey: F8] [version: 3.8.5] [note: awkward to select output, can click 'Copy to Clipboard' button] [note: cookie prompt on entering, 'Leave site' prompt on leaving] [time zone: UTC, can't set it] Python-Fiddle: Online Python IDE, Compiler, and Interpreter [hotkey: Shift+Enter] [version: 3.12.7] [time zone: local, can't set it] Python Online Compiler & Interpreter [hotkey: Ctrl+Enter] [version: 3.12.3] [time zone: UTC, can set it] Online Python 3 Compiler [hotkey: Ctrl+Enter] [version: multiple e.g. 3.11.5] [time zone: UTC, can set it] Python 2 Online Compiler & Interpreter [hotkey: Ctrl+Enter] [version: 2.7.17] [time zone: UTC, can set it (tzset() is unnecessary)] [R] [set time zone: Sys.setenv(TZ="Europe/London")] Online R Compiler - Programiz [hotkey: Ctrl+Enter] [version: 4.2.3] [time zone: UTC, can set it] R Online Compiler | Run R Code Online [hotkey: Ctrl+Enter] [version: multiple e.g. 4.3.2] [time zone: UTC, can set it] [Raku] [Ruby] [set time zone: ENV["TZ"] = "Europe/London"] Ruby Online Compiler & Interpreter [hotkey: Ctrl+Enter] [version: 3.2.3] [time zone: UTC, can set it] Online Ruby Compiler (Editor) - Programiz [hotkey: Ctrl+Enter] [version: 3.4.4] [time zone: UTC, can set it] Ruby Online Compiler | Online Ruby Editor [hotkey: Ctrl+Enter] [version: multiple e.g. 3.0.6] [time zone: UTC, can set it] [Rust] Rust Playground [hotkey: Ctrl+Enter] [version: multiple e.g. 1.86.0] [time zone: UTC] [link: Cargo.toml] Online Rust Compiler - Programiz [hotkey: Ctrl+Enter] [version: unknown] [time zone: UTC] Rust Online Compiler [hotkey: Ctrl+Enter] [version: multiple e.g. 1.73.0] [time zone: UTC] [Scala] [set time zone: java.util.TimeZone.setDefault(java.util.TimeZone.getTimeZone("Europe/London"))] Scastie [hotkey: Ctrl+Enter] [version: multiple e.g. 3.6.4] [time zone: UTC, can set it] [SQL] [SQL (MySQL)] [set time zone: SET time_zone = 'Europe/London';] DB Fiddle - SQL Database Playground [hotkey: Ctrl+Enter] [version: multiple e.g. 9.0.1] [note: error running stored functions] [time zone: UTC, can set it] MySQL Online Editor [hotkey: Ctrl+Enter] [version: 8.0.27] [note: disallows running stored functions] [time zone: UTC, can set it] MySQL Online | Online editor and compiler [hotkey: Ctrl+Enter] [version: 8.0.41] [note: allows running stored functions] [time zone: UTC, can set it] db<>fiddle [hotkey: Ctrl+Enter] [version: multiple e.g. 8.4.3] [note: allows running stored functions] [time zone: UTC, can't set it] [SQL (PostgreSQL)] [set time zone: SET timezone = 'Europe/London';] [set null string: \pset null NULL] DB Fiddle - SQL Database Playground [hotkey: Ctrl+Enter] [version: multiple e.g. 17.0] [time zone: UTC, can't set it] PostgreSQL Online Editor [hotkey: Ctrl+Enter] [version: 14.18] [time zone: UTC, can set it] PostgreSQL Online | PostgreSQL Playground | PostgreSQL Sandbox [hotkey: unknown] [version: 16.4] [note: cookie prompt on entering] [time zone: UTC, can set it] [note: was pgplayground.com] SQL OnLine IDE [hotkey: Shift+Enter] [version: 17.0] [note: see PostgreSQL in the sidebar] [note: splits output across tabs] [time zone: UTC, can set it] db<>fiddle [hotkey: Ctrl+Enter] [version: multiple e.g. 18 beta 1] [time zone: UTC, can set it] [SQL (SQLite)] [set null string: .nullvalue NULL] [print table outlines: .mode table] [generate_series workaround: SELECT key FROM json_each('[0,0,0]')] DB Fiddle - SQL Database Playground [hotkey: Ctrl+Enter] [version: multiple e.g. 3.46] [time zone: UTC] [print null: 'null', can't set it] [generate_series(): NOT supported] Online SQL Compiler [hotkey: Ctrl+Enter] [version: 3.45.1] [time zone: IST] [print null: '', can set it] [generate_series(): supported] SQLite Compiler | Online Compiler | Newton School [hotkey: Ctrl+Enter] [version: 3.41.1] [time zone: UTC] [print null: '', can set it] [generate_series(): supported] SQL OnLine IDE [hotkey: Shift+Enter] [version: 3.47.2] [note: splits output across tabs] [time zone: local] [print null: 'NULL', can't set it] [generate_series(): NOT supported] Online SQL Compiler | JDoodle [hotkey: Ctrl+Enter] [version: multiple e.g. 3.44.0] [time zone: UTC] [print null: '', can set it] [generate_series(): supported] Online SQL Editor [hotkey: unknown] [version: 3.38.5] [time zone: local] [print null: 'NULL', can't set it] [generate_series(): NOT supported] SQLite Online Editor [hotkey: Ctrl+Enter] [version: 3.27.2] [time zone: UTC] [print null: '', can set it] [generate_series(): NOT supported] db<>fiddle [hotkey: Ctrl+Enter] [version: multiple e.g. 3.39] [time zone: UTC] [print null: 'null', can't set it] [generate_series(): NOT supported] [Swift] Online Swift Compiler - Programiz [hotkey: Ctrl+Enter] [version: 5.8.1] [time zone: UTC] Swift Online Compiler [hotkey: Ctrl+Enter] [version: multiple e.g. 5.9.1] [time zone: UTC] Online Swift Compiler [hotkey: Ctrl+Enter] [version: 5.10.0] [time zone: IST] SwiftFiddle - Swift Online Playground [hotkey: Ctrl+Enter] [version: multiple e.g. 6.1.2] [time zone: Etc/UTC] [TypeScript] [Notes] version numbers: all version numbers were checked May 2025 (some have been checked since) considerations (version numbers): whether the version number is stated explicitly (or obtainable in-script via code) whether versions are updated at least once a year whether older versions are available whether the library for obtaining the version number is available for include/import (if a library is a needed) note: two of the best uses for online compilers are: trying out new features, and testing whether code works on older versions considerations (further): whether have a run/execute hotkey (e.g. that displays when you hover over the Run(/Execute Code) button) (avoid F5 as this typically does refresh, so muscle memory could make you press it on the wrong online compiler and lose information, or if use F5, also have an alternative) whether IF YOU CLOSE AND REOPEN THE TAB (OR REFRESH), THE CODE IS STILL THERE whether you can select and copy the output easily whether common libraries are available for include/import (e.g. the library for obtaining the version number) whether any pre-included libraries are explicitly stated whether tabs are treated as tabs or spaces whether Unicode characters are handled or not whether multiple versions of the programming language are available (useful for writing backwards compatible code) whether have a favicon (for quick identification amongst many tabs) whether demo code, if present, includes 'print' or equivalent (for convenience) whether the title/URL/'hello word' example code contains the programming language name or not (useful for record-keeping, identifying the programming language) whether the specific programming language and/or version number can be accessed directly via a URL/URL containing options, or whether manual selection is required whether a URL/URL containing options is available to access the newest/latest version of the programming language available on the website whether a temporary ID in the URL allows you to share the code via a URL whether base 64 in the URL allows you to share the code via a URL whether a specific URL or option button, allows you to access one or more default 'hello world' code examples whether have an autocomplete drop-down menu (this can often slow down writing code) whether have useful editor features e.g. highlight matching parentheses, show next parameter name, highlight code that matches the selection whether dark mode is available whether changing the language/language version clears the code whether there is a close tab prompt (clicking 'no' on the prompt 99%-100% of the time, is worse than very occasionally closing the tab accidentally and reopening the tab, this requires that reopening restores the code) whether there is a cookie prompt on entering whether code snippets are searchable (i.e. examples are useful, and users should consider their privacy) whether the local time zone is available (to be able to test date functions using your local time zone, or to spoof a specific local time zone, rather than have the 'local' time zone be set to UTC regardless of your location) note: one online compiler had a bug where some line breaks were sometimes (randomly?) not printed note: some common hotkeys: Ctrl+Enter (also seen: F5, F8, Ctrl+F9, Shift+Enter, Ctrl+Shift+Enter)