Online JavaScript Runner

Write, run, and debug JavaScript or Node.js online in a full-featured browser IDE. Work with multiple files and packages, save your workspace, and collaborate in real time.

🚀 339,248 total executions (252 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 JavaScript (Node.js) Online Executor

The CodeUtility JavaScript Executor lets you write and run modern JavaScript code right in your browser - instantly and without any setup. It uses real Node.js environments to execute your code securely in a sandboxed container, supporting versions 16, 18, and 20.

This tool is perfect for testing Node.js snippets, exploring ES6+ syntax, or learning core JavaScript programming concepts such as loops, functions, arrays, promises, and async/await behavior.

You can also use it to validate algorithms, debug small scripts, or experiment with runtime logic without installing Node locally. It’s ideal for learners, backend developers, or anyone who needs a fast, browser-based way to run JavaScript code.

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.

💡 Node.js Basics Guide for Beginners

1. Declaring Variables and Constants

Use let or const for block-scoped variables. const is used for constants.

let x = 10;
const PI = 3.14;
let name = "Alice";
let isActive = true;

2. Conditionals (if / switch)

Use if, else if, else or switch for control flow.

let x = 2;
if (x === 1) {
  console.log("One");
} else if (x === 2) {
  console.log("Two");
} else {
  console.log("Other");
}

switch (x) {
  case 1:
    console.log("One");
    break;
  case 2:
    console.log("Two");
    break;
  default:
    console.log("Other");
}

3. Loops

Use for, while, and forEach to iterate over data.

for (let i = 0; i < 3; i++) {
  console.log(i);
}

let n = 3;
while (n > 0) {
  console.log(n);
  n--;
}

4. Arrays

Use arrays to store ordered lists of values. Access them with indexes.

let fruits = ["apple", "banana", "cherry"];
console.log(fruits[0]);
console.log(fruits.length);

5. Array Manipulation

Use methods like push, pop, slice, and reverse.

fruits.push("kiwi");
fruits.pop();
console.log(fruits.slice(0, 2));
console.log(fruits.reverse());

let squares = [1, 2, 3, 4, 5].map(x => x * x);
console.log(squares);

6. Console Input/Output

Use console.log for output and readline module for input.

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

rl.question("What's your name? ", name => {
  console.log(`Hello, ${name}`);
  rl.close();
});

7. Functions

Functions can be declared or expressed. Arrow functions are often used in modern JavaScript.

function greet(name) {
  return `Hello, ${name}`;
}

const add = (a, b) => a + b;

console.log(greet("Alice"));
console.log(add(2, 3));

8. Objects (Maps)

Objects store key-value pairs. They are similar to dictionaries or maps.

let person = { name: "Bob", age: 25 };
console.log(person.name);
console.log(person["age"]);

// ES6 Map
const map = new Map();
map.set("a", 1);
console.log(map.get("a"));

9. Exception Handling

Use try, catch, and finally to handle errors safely.

try {
  throw new Error("Something went wrong");
} catch (e) {
  console.log(e.message);
} finally {
  console.log("Cleanup if needed");
}

10. File I/O

Use Node.js's fs module to read and write files.

const fs = require("fs");

fs.writeFileSync("test.txt", "Hello File");
const data = fs.readFileSync("test.txt", "utf8");
console.log(data);

11. String Manipulation

Use methods like trim(), toUpperCase(), replace(), and split().

let text = "  Hello World  ";
console.log(text.trim());
console.log(text.toUpperCase());
console.log(text.replace("Hello", "Hi"));
console.log(text.split(" "));

12. Classes & Objects

ES6+ supports OOP with class syntax.

class Person {
  constructor(name) {
    this.name = name;
  }
  greet() {
    return `Hi, I'm ${this.name}`;
  }
}

const p = new Person("Alice");
console.log(p.greet());

13. References

Objects and arrays in JavaScript are passed by reference.

function update(arr) {
  arr.push("changed");
}

let data = ["original"];
update(data);
console.log(data);  // ["original", "changed"]