Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Coding Test Maker (Programming Tests With Auto-Graded Code)

Set coding problems, send one link, and mark every answer on tests candidates never see.

Free preview, no sign-upIncluded in your pass Premium tool Premium pass: ₹799 / $19.99 for 30 days On this device; its files download once
+2 +1 more details No upload Education

Free preview: the test built and tried on this page, and the first responses of a batch marked (up to 3) with their totals: points and tests passed per problem. Locked until you unlock it: download and copy.

Premium pass ₹799 for 30 days or ₹249 for 1 week, one‑time. Premium pass $19.99 for 30 days or $7.99 for 1 week, one‑time. How to unlock

Try before you buy.

  • Free preview: the test built and tried on this page, and the first responses of a batch marked (up to 3) with their totals: points and tests passed per problem.
  • Locked until you unlock it: download and copy.
  • Unlock: Premium pass, ₹799 for 30 days or ₹249 for 1 week, a one-time payment that never renews. Batch runs unlock with a pass only. Unlock: Premium pass, $19.99 for 30 days or $7.99 for 1 week, a one-time payment that never renews. Batch runs unlock with a pass only.

Ways to unlock shows how to get the full result.

See passes (opens in a new tab)

Printing this result is locked in the free preview.

Build the test

Shown before the test starts. Markdown and TeX maths work here as in the statements.

Coding problems

Multiple-choice questions

Next steps Done. What next?

A Premium pass unlocks the full result. See passes

All education & student tools

About the Coding Test Maker (Programming Tests With Auto-Graded Code)

Write coding problems, send candidates one link, and mark every answer in your own browser against tests they never see. Each problem asks for a program that reads its input and prints its output, a function that returns the answer, or an SQL query; candidates answer in Python 3, JavaScript or TypeScript (or SQL), in a real code editor, and run your sample tests as often as they like before they send their answers. Add multiple-choice questions for theory, a time limit for the whole test, and points for each problem.

There is no server. The link carries the problems and the sample tests only — never the hidden tests, your solution or the right answers, because anything inside a link can be read by whoever holds it. Each candidate finishes with a response code encrypted for your browser alone; you paste the codes in, and every answer runs against every test in an isolated sandbox: the points of a problem are shared out by the tests it passes, with a rank list, each candidate’s test-by-test results, their code, and flags for pasted code, time away from the page and code that is much the same as another candidate’s.

Write your own reference solution and the page fills in every expected answer from it. Outputs can be compared exactly, line by line in any order, as numbers within a tolerance, or by a checker you write yourself for problems with more than one right answer. Without a pass the free preview builds and tries the test in full and marks the first responses of a batch with their totals; the candidate link, the whole batch with every test’s result and the similarity flags, and the Excel, CSV and PDF reports unlock with a Premium pass.

How to use it

  1. Under Build, give the test a title and a time, or press Example test to start from three ready problems (stdin and stdout, a function and an SQL query) and two questions.
  2. Add a coding problem: its statement (Markdown with TeX maths), the kind of answer, the languages allowed, the code candidates start from, the time limit of a test and its points.
  3. Add tests: tick Sample on the ones candidates see; the others stay hidden and mark the answers. Write a reference solution and press Fill in the expected answers to run it on every test.
  4. Open Send and press Try it as a candidate to take your own test on the real screen, sample runs included.
  5. With a Premium pass, copy the candidate link and send it. Keep the author file too (never locked by the free preview): only its key opens the responses.
  6. Paste the response codes candidates send back under Results and press Mark these responses. Without a pass the free preview marks the first responses of a batch (up to 3) and shows their totals; a pass marks the rest, shows every test’s result and the similarity flags, and unlocks the Excel, CSV and PDF reports.

Examples

A function problem
Input
second_largest(nums) · sample [[3, 1, 4, 1, 5]] → 4 · hidden [[7, 7]] → −1, [[-2, -5, -1]] → −2
Result
An answer that passes 2 of the 3 tests of a 15-point problem gets 10 points, and the hidden test it failed shows “Expected -1, got 7.”
An SQL problem
Input
Tables customers and orders · “the name and total of every customer whose orders add up to more than 100, the biggest total first”
Result
Each test makes the tables, runs its own SQL (more orders, fewer customers), then the candidate’s query; the rows are compared in order, column names in any case
A checker for many right answers
Input
function check(input, expected, output) { const xs = output.trim().split(/\s+/).map(Number); return xs.length === 3 && xs[0] + xs[1] + xs[2] === 0 || "the three numbers must add up to 0"; }
Result
Any three numbers that add up to 0 pass; anything else fails with the checker’s own reason

Common uses

  • A programming class’s weekly lab test, taken at home and marked against hidden tests in minutes.
  • A first technical screen for a hiring round: three problems and a few questions, one link for every applicant.
  • A practice challenge for a coding club: candidates run the sample tests and nothing comes back.
  • An SQL test for a databases course, with each test changing the data under the query.

Why the hidden tests are not in the link

A link can be read by whoever holds it, however it is packed. So the candidate link carries what a candidate should see — the statements, the starting code and the sample tests — and nothing they should not: the hidden tests, your reference solution, your checker and the right answers of the questions stay in this browser and in your author file.

Answers come back the other way: when a candidate finishes, their browser encrypts their code and choices with a key in the link that only your browser can open (ECDH P-256 and AES-256-GCM, from the browser’s own Web Crypto). Nobody else who sees a response code can read it, and a changed code does not open. It does not prove who sent it — anyone with the link can make a response — so check the names, and supervise a test whose marks matter.

How answers are run and marked

Python, JavaScript and TypeScript run in MySmartCoPilot’s code sandbox: a separate, isolated address that cannot reach this page, your files or your cookies. Python is CPython compiled to WebAssembly (Pyodide), JavaScript runs in the browser’s own engine, TypeScript is turned into JavaScript first. SQL runs in SQLite (sql.js) in a worker of this page, with a fresh database for every test.

  • Read the input, print the output: the test’s input is the program’s standard input (Python’s input(); readline() and INPUT in JavaScript), and what it prints is compared with the expected output, spaces at the ends of lines and blank lines at the end ignored.
  • A function: each test calls the function with its JSON list of arguments and compares the value it returns; numbers can be compared within a tolerance and lists in any order.
  • An SQL query: each test makes your tables, runs its own SQL, then the query; its last result set is compared with the expected rows, in order or not.

Every test has its own time limit; a program that runs longer, stops with an error or gives another answer fails that test, with the reason shown. Each candidate’s first Python run gets an interpreter nothing has run in, so one candidate’s code cannot change another’s results. A problem’s points are its points × tests passed ÷ tests, rounded to a tenth.

What the results show, and what they cannot

The rank list orders candidates by score (the faster finish first on a tie) with each problem’s points and tests passed, the questions’ points and the time used. Each candidate’s results list every test with its result, its time and why it failed, and their code.

The notes are things to look at, not verdicts: how many times the candidate pasted into the editors and how much, how often they left the page, and pairs of candidates whose code for a problem is much the same (compared as the Code Plagiarism Checker does, with renamed variables and moved code still matching). Shared code and pasting are reasons to look closer, not proof of copying, and a browser cannot see a second screen, a phone or another person: a test whose marks matter should be supervised.

Limitations

  • Python 3, JavaScript, TypeScript and SQL (SQLite) only; Java, C and C++ cannot run in the sandbox yet. Up to 20 problems, 60 questions and 50 tests a problem.
  • Python programs can use its standard library only (no pip packages), and JavaScript has no Node.js modules (no require or fs).
  • Up to 500 responses at a time. Marking runs every test of every answer on your device, so a large class takes a while: about a second a test for Python on an ordinary laptop, much less for JavaScript and SQL.
  • Results are self-reported: candidates send their own response codes. The page records time, pastes and time away from it, and nothing else; it is not invigilation.
  • A long test makes a long link: above about 8,000 characters some chat and e-mail apps cut it, so send the link as a file.
  • Tests and their keys are kept in this browser. Clearing the site’s data without the author file loses the key, and responses to that test can no longer be opened.

Privacy

On this device; its files download once

There is no server in this tool. The test lives in the part of the link after the “#”, which browsers never send to a server; your tests, their hidden tests, solutions and keys stay in this browser (and in the author files you save). Candidates’ code runs in an isolated sandbox inside their own browser and is kept there until they finish; their answers reach you only as the encrypted response code they send you themselves, and it records their name, their code and choices, the time they took, how often they left the page and how much they pasted, which they are told before they start.

Frequently asked questions

What do I get without a pass?

Without a pass, Coding Test Maker (Programming Tests With Auto-Graded Code) shows the test built and tried on this page, and the first responses of a batch marked (up to 3) with their totals: points and tests passed per problem. Until you unlock it, the result can’t be downloaded or copied. A Premium or Ultimate pass, a one-time payment that never renews, unlocks the full result. The pricing page lists the passes and their prices.

Do candidates need an account or to install anything?

No. They open the link in a current browser, write and run their code there, and get a response code to send you. Nobody signs in.

Can a candidate see the hidden tests or my solution?

No. They are never in the link: they stay in your browser and your author file, and answers are run against them only on your device, when you mark.

Which languages can candidates use?

Python 3, JavaScript and TypeScript for programs and functions, and SQL (SQLite) for query problems. You choose which ones each problem allows.

What happens if a program never stops?

Each test has its own time limit (2 seconds unless you set another). A program that runs longer is stopped and fails that test as too slow; the other tests still run.

Can I mark responses on another computer?

Yes, with the author file: open it under Build on the other computer and paste the codes there. Without it, the key that opens the responses is only in the browser where you made the test.

Does it detect AI-written code?

No tool can do that reliably, and this one does not try. It flags pasted code, time away from the page and code much like another candidate’s, so you know what to look at.

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.