Run Swift Online

Write, run, and debug Swift code online using a command-line Swift environment. Manage multiple files, save your workspace, and share code without installing Xcode.

🚀 18,631 total executions (199 this month)
Embed
Output

Practice Python with coding challenges

Solve hands-on problems right in this editor: run the sample tests, submit, and get an AI code review.

All Python challenges
Easy

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

You'll learn ArithmeticReturn values
BeginnerLearning-pathVariables
Easy

Days in a Month

Return how many days a month has, including leap years.

You'll learn Calendar rulesHelper functions
BeginnerConditionsFunctionsLearning-path
Easy

Dot Product of Two Vectors

Multiply two vectors element by element and add the results: the core operation of every neuron.

You'll learn VectorsDot product
Neural networksaimachine learning
Easy

Distance Between Points

Compute the straight-line distance between two points.

You'll learn Pythagorean theoremSquare roots
BeginnerFunctionsLearning-pathmath
Easy

Average of Three

Average three whole numbers.

You'll learn ArithmeticDivision
BeginnerLearning-pathVariables
Easy

To-Do List

Keep a list of tasks: add them, mark them done, remove them and report what is still pending.

You'll learn Typed collectionsRecords
BeginnerSimulationStrings
Easy

Prime Number Check

Decide whether a number is prime.

You'll learn DivisibilityLoop optimization
BeginnerLoopsNumbersStudent-beginner
Hard

Word Break

Decide whether text can be split into dictionary words.

You'll learn Prefix DPString segmentation
AdvancedDynamic-programmingHackathonStrings
Easy

Count Pairs With a Sum

Count pairs of positions whose values add up to a target.

You'll learn Pairs of indexesAvoiding double counts
ArraysBeginnerLearning-pathNested-loops
Easy

Missing Number

Find the one number missing from 0..n.

You'll learn Arithmetic seriesSum difference trick
ArraysBeginnerStudent-beginnermath
Medium

K-th Smallest Element

Find the k-th smallest value without fully sorting.

You'll learn QuickselectPartitioning
AdvancedCompetitive-programmingSorting
Easy

Min and Max Together

Find the smallest and largest value in one pass.

You'll learn Single passMultiple return values
ArraysBeginnerFunctionsLearning-path

🍎 About This Swift Online Executor

The CodeUtility Swift Executor lets you write and run Swift code directly in your browser - no Xcode, SDK, or macOS setup required. It runs real Swift compilers in isolated sandboxes to deliver accurate, native Swift behavior.

This tool supports multiple Swift versions - 5.7, 5.9, and the latest release - giving you the flexibility to explore new language features and maintain compatibility with older Swift codebases.

It’s perfect for developers learning Swift syntax, testing algorithms, or experimenting with code for iOS, macOS, and server-side Swift without needing to install local tools or simulators.

Each snippet runs securely in a containerized Swift environment, ensuring real compiler feedback and safe code execution.

More than a code runner

Use a multi-file editor, an isolated execution terminal, runtime-specific libraries, persistent workspaces, sharing, and real-time collaboration from the same executor.

How to use this executor?

Choose a runtime, open or create a file, write your code, and select Run. Output appears in the terminal, while signed-in users can keep files in a workspace, install libraries, and collaborate through shares.

  1. Select a version and edit the current file or open another workspace file.
  2. Run the code, provide input in the terminal when requested, and review saved run history.
  3. Use libraries, workspace tools, sharing, and chat when your task needs more than one snippet.

💡 Swift Basics Guide for Beginners

1. Declaring Variables and Constants

Use var for variables and let for constants in Swift.

var age = 30
let pi = 3.14159
var name = "Alice"
let isActive = true

// Constants cannot be reassigned
// pi = 3.14 // ❌ Error

2. Conditionals (if / switch)

Use if, else if, else for logic, and switch for multiple branches.

let number = 2
if number == 1 {
    print("One")
} else if number == 2 {
    print("Two")
} else {
    print("Other")
}

switch number {
case 1:
    print("One")
case 2:
    print("Two")
default:
    print("Other")
}

3. Loops

Swift supports for-in, while, and repeat-while loops.

for i in 0..<3 {
    print(i)
}

var n = 3
while n > 0 {
    print(n)
    n -= 1
}

4. Arrays

Arrays store ordered collections of values.

var numbers = [10, 20, 30]
print(numbers[1])

5. Array Manipulation

Use array methods like append and removeLast.

var nums = [1, 2, 3]
nums.append(4)
nums.removeLast()

for n in nums {
    print(n)
}

6. Console Input/Output

Use print() for output. Input requires additional work in Swift Playgrounds or Xcode.

let name = "Alice"
print("Hello, \(name)")

7. Functions

Define reusable functions with parameters and return values.

func add(a: Int, b: Int) -> Int {
    return a + b
}

print(add(a: 3, b: 4))

8. Dictionaries

Dictionaries store key-value pairs.

var ages = ["Alice": 30]
print(ages["Alice"] ?? 0)

9. Error Handling

Swift uses do-catch for error handling.

enum MyError: Error {
    case runtimeError(String)
}

do {
    throw MyError.runtimeError("Something went wrong")
} catch let error {
    print(error)
}

10. File I/O

Swift uses FileManager or String methods for file I/O.

let text = "Hello File"
try text.write(toFile: "file.txt", atomically: true, encoding: .utf8)
let content = try String(contentsOfFile: "file.txt")
print(content)

11. String Manipulation

Use methods like count, contains, uppercased(), etc.

let text = "Hello World"
print(text.count)
print(text.contains("World"))
print(text.uppercased())

12. Classes & Objects

Swift supports OOP using class and init.

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
    func greet() {
        print("Hi, I'm \(name)")
    }
}

let p = Person(name: "Alice")
p.greet()

13. Optionals

Swift uses ? and ! to handle optional values.

var name: String? = "Alice"
print(name ?? "Unknown")

if let unwrappedName = name {
    print(unwrappedName)
}