Short answer

  • Input is any data or instruction that enters a computer system from the outside world, and output is any data or result that the system sends back out. A keyboard, a mouse, a microphone, a scanner, a camera, and a sensor are input devices because they collect data and pass it in. A monitor, a printer, speakers, headphones, and a projector are output devices because they present results in a form people can see, hear, or use. Between input and output sits processing, in which the computer follows a program to work on the data it received. The whole pattern is often called the input, process, output cycle, or IPO cycle for short. Some devices do both jobs: a touch screen accepts taps as input and shows pictures as output, and a network adapter both receives data and sends data. Storage is a separate job. Saving a file keeps data for later use, while input brings data in and output sends results out.

Introduction

Every time you use a computer, something goes in and something comes out. You type a message, tap a screen, speak a command, or press a button, and the computer answers with words on a screen, sound from speakers, a printed page, or a file saved for later. That simple exchange sits behind almost everything a computer does, from writing an essay to playing a video to checking the weather.

This guide explains the idea in plain language. It covers what input and output mean, the devices that handle each job, how processing connects them, why some devices do both jobs, how storage differs from input and output, and what input and output mean in programming. No technical background is assumed, and no product is recommended here.

What Input and Output Mean

In computing, input and output, often shortened to I/O, describe communication between a computer system and the outside world. The outside world can be a person, another device, or another computer system. Inputs are the signals or data received by the system, and outputs are the signals or data sent from it. That definition comes from introductory computer science teaching material, and it is deliberately broad, because the same idea covers a person typing, a sensor reporting a temperature, and one program sending data to another.

Input takes many forms. It can be text typed on a keyboard, a spoken word picked up by a microphone, a photograph captured by a camera, a barcode read by a scanner, a measurement taken by a sensor, or a file arriving over a network. What these share is direction: the data travels into the system. Input can also be an instruction rather than content. Pressing a key to save a document, clicking a button to play a video, or tapping an icon to open an app are all inputs, because each one tells the system to do something.

Output also takes many forms. It can be text or images on a screen, sound from speakers or headphones, a page from a printer, a projected image, a vibration, a motor turning, or a file sent to another computer. What these share is also direction, but in reverse: the data travels out of the system, after processing, toward a person or another device. A useful test for either term is therefore to ask which way the data is moving relative to the system you are describing. If it moves in, it is input. If it moves out, it is output.

Perspective matters, and it is the source of several common confusions. A keyboard is an input device from the computer’s point of view, because it sends data into the computer. From the typist’s point of view, pressing keys is an action that produces something, but in computing terms that action is still input to the machine. The same reasoning applies to a mouse: moving it or clicking it sends signals into the computer, so it counts as input even though the user experiences it as giving an order. Keeping the computer’s perspective in mind clears up most arguments about which label fits a device.

The Input, Process, Output Cycle

The input, process, output cycle, or IPO cycle, is a simple model for how computers work. It has three steps. First, input enters the system. Second, the system processes the input, which means it carries out operations on the data according to the program in use, such as calculations, comparisons, sorting, searching, or formatting. Third, the system produces output, which presents the result. Storage often sits alongside the cycle, holding input data and results so they can be used again later.

A familiar example makes the cycle concrete. When you type a search query, the keystrokes are the input. The computer and the search software process that input by looking for matching pages. The list of results shown on the screen is the output. If you then save one of those pages, that saving step is storage, not a fourth stage of the same cycle, because the saved page remains available for later rather than being presented to you in that moment.

The same input can lead to different outputs depending on the processing. Pressing the letter A in a word processor produces the letter A on the screen. Pressing the same key in a game might make a character move left, jump, or open a menu, depending on what the game program does with that input. The input device has not changed, and the key has not changed. Only the program, and therefore the processing, is different. This is why two programs can treat identical input in completely different ways, and why learning to use a program is partly a matter of learning what its inputs mean inside that program.

The cycle also repeats. Most computer use is not a single pass from input to output, but a loop. You see output, react to it with new input, the computer processes that input, and new output appears. Typing a document works this way: each sentence you type is input, the screen shows it back as output, you read it, and your next edit is fresh input. Video calls, games, and music production all follow the same loop, only faster. Recognizing the loop helps explain why a delay anywhere in it, a slow connection, a busy processor, or an unresponsive device, is felt immediately by the user.

It is worth noting that the IPO model is a simplification, and real computers are more complicated inside. A modern computer runs many programs at once, handles inputs from several devices simultaneously, and may produce output on several devices at the same time. The model remains useful precisely because it simplifies: it gives a beginner a reliable way to describe what is happening, even when the details underneath are complex.

Input Devices

An input device is a piece of hardware that collects data or instructions from the outside world and sends them to the computer in a form the computer can work with. The classic examples are the keyboard and the mouse, but the category is much wider, and most people use several kinds of input device every day without thinking of them that way.

Keyboards enter text, numbers, and commands. Each keypress sends a signal that the computer interprets as a character or a command, and software called a driver helps the operating system understand signals from the particular keyboard attached. On screen keyboards on phones and tablets do the same job by touch rather than by physical keys. For a deeper look at this category, see the Amberaisle guide to input and input devices.

Pointing devices let a user indicate a position or select something on screen. The mouse is the best known example: moving it moves a pointer, and clicking selects or activates whatever the pointer rests on. A mouse is therefore an input device in the full sense, because every movement and click sends data into the computer for processing. Trackpads, trackballs, styluses, and graphics tablets belong in the same family, each translating hand movement into on screen position. The Wave 101 companion article on what a computer mouse is explains that device in more detail.

Touch input accepts direct contact with a screen or surface. A touch screen registers taps, swipes, and pinches, and a graphics tablet registers pen strokes. Touch input is popular because the user points at the thing itself rather than steering a separate pointer, and it is the main input method on phones and tablets.

Audio and image input capture sound and pictures. Microphones turn sound waves into digital audio, which is how voice calls, voice commands, and recordings begin. Cameras and webcams capture still images and video. Scanners turn printed pages and photographs into digital images, and barcode readers turn printed codes into numbers a computer can look up. These devices matter because they let a computer accept information that was never typed at all.

Sensors collect measurements from the physical environment without a person typing anything. A temperature sensor reports heat, a light sensor reports brightness, a motion sensor reports movement, and a pressure sensor reports force. Sensors are inputs in exactly the same sense as a keyboard: they supply data for processing. A weather station that records temperature every hour, a fitness tracker that counts steps, and a phone that dims its screen in bright light are all acting on sensor input. Some inputs, in other words, are not started by a person at all. A message arriving from another computer, a file downloaded from a network, or a sensor reading taken on a schedule all count as input, because the data enters the system from outside it.

Output Devices

An output device takes processed data from the computer and presents it in a form that a person, or another system, can use. The most familiar output device is the screen. Monitors, laptop screens, phone screens, and television screens used as computer displays all show text, images, and video produced by processing. In older computing language, screen output was sometimes called soft copy, because it is displayed rather than printed on paper, while printed output was called hard copy. Those terms are still useful: soft copy can change instantly, while hard copy stays fixed once printed.

Printers produce hard copy by putting text and images onto paper or other material. A printer is an output device because data flows from the computer to the printer, and the printed page is the result. Projectors work similarly, except that they throw the image onto a wall or screen for a group to see, which makes them common in classrooms and meeting rooms.

Speakers and headphones are audio output devices. They turn digital audio into sound, whether that sound is music, a voice on a call, a notification, or the audio track of a video. The same audio data can reach a listener through built in laptop speakers, separate speakers, or headphones, and the device changes nothing about the data itself, only how it is heard.

Some output is physical action rather than something seen or heard. A motor turning, a light switching on, a robot arm moving, or a phone vibrating are all outputs, because each one is a result the computer sends out into the world. This kind of output is easy to overlook when output is pictured only as a screen, but it is central to many systems, from automatic doors to factory machines to the vibration that tells you a message has arrived.

Output quality depends on the device as well as on the data. A high resolution photograph will still look poor on a damaged screen, and a well written document will still print badly if the printer is out of ink. That is not a failure of processing: the processing may have been perfect, and the output device is simply the last step where things can go wrong. Checking the output device first, its connection, its settings, and its supplies, is therefore a sensible early step when output looks wrong.

How a Computer Turns Input into Output

Between input and output, the computer processes data. In broad terms, the central processing unit, or CPU, carries out the instructions of the program, and memory holds both the program’s instructions and the data being worked on. Input devices move data into memory, the CPU works on that data according to the program, and the results are then sent to output devices or to storage. This picture comes from introductory programming teaching material, which describes every task the computer performs as happening inside the CPU and its associated memory, with input and output devices connected to that memory so data can move in both directions.

Memory is temporary working space. When you open a document, the document’s data is loaded into memory so the processor can work on it quickly. When the power goes off, the contents of that working memory are lost, which is why unsaved work disappears. The difference between this working memory and long term storage is explained in the Amberaisle comparison of RAM and ROM. The key point for input and output is that processing happens on data that has been brought into the system, not directly on the keyboard or the screen. The keyboard sends signals, the system stores those signals as data, the processor works on the data, and only then does a result reach the screen.

The motherboard and its chipset organize how these parts communicate, moving data between the processor, memory, and connected devices. The Amberaisle guide to what a motherboard chipset is explains that organizing role. You do not need to know the details of that hardware to understand input and output, but knowing that a coordinating layer exists helps explain why a device can be correctly built yet still fail to work if its connection or driver is wrong: the data path, not just the device, has to be complete.

Data itself is represented inside the computer as bits, the smallest units of digital information, grouped into bytes. The Amberaisle explainer on how many bits are in a byte covers that grouping. Every input, whether a keystroke, a spoken word, a photograph, or a temperature reading, ends up represented as such digital data before it can be processed, and every output starts as digital data before it is turned back into light, sound, print, or movement. That translation step, from the physical world into digital data and back again, is the essential work of input and output devices.

Processing speed and device speed are different things, and confusing them causes misunderstandings. A fast processor cannot make a slow printer print faster, and a fast internet connection cannot make a slow program run faster. Each stage, input, processing, and output, has its own limits. When a system feels slow, the bottleneck may sit at any stage: a sensor that reports only once a minute, a program that performs a heavy calculation, or a screen that refreshes slowly. Finding which stage is slow is the first step toward fixing it.

Devices That Do Both Jobs

Some devices are both input and output devices, and they are common enough that treating every device as one or the other will eventually mislead you. The clearest example is the touch screen. When you tap it, it sends your tap into the device as input. When it shows you a photograph, it presents processed data as output. It performs both roles, sometimes within the same second, using the same glass surface for two different directions of travel.

Network adapters are another example. A network card or wireless adapter receives data from a network, which is input to your computer, and sends data to the network, which is output from your computer. Downloading a file is input from your computer’s point of view, because data enters your machine, even though everyday language often describes it as “getting” something. Uploading a file is output, because data leaves your machine, even though you may think of it as “sending” something you already have. The direction test resolves both cases: downloading brings data in, uploading sends data out.

Headsets with a microphone combine an output device, the earphones, with an input device, the microphone, in one product. Game controllers combine input, buttons and sticks, with output, vibration feedback, in one product. A multifunction printer with a scanner combines a printer, which outputs, and a scanner, which inputs, in one box. In each case it is more accurate to say the product contains both an input part and an output part than to label the whole product with a single word.

The existence of dual role devices does not break the input and output distinction. It refines it. The right question is not always “is this device an input device or an output device?” but “in this moment, is data moving into the system or out of it?” A touch screen tap is input, a touch screen display is output, and both statements are true about the same piece of hardware at different moments.

Storage Is Not the Same as Input or Output

Storage is often listed alongside input, processing, and output, and beginners sometimes treat saving a file as a kind of output. The distinction is worth making carefully, because it affects how you think about where your data lives.

Storage keeps data for later use. A hard drive, a solid state drive, a memory card, or a cloud storage account holds data after the program that created it has closed. Input brings data into the system, and output sends results out of the system, but neither one by itself guarantees that the data will still be there tomorrow. Saving is the act of writing data to storage, and opening a saved file is the act of reading stored data back in as input to a program.

There is a genuine gray area here, and honest guides admit it. From the processor’s point of view, reading from a disk drive counts as an input operation, because data moves into the processor and memory from outside that central combination. From the everyday user’s point of view, opening a file feels like neither input nor output, but simply retrieving something you already own. Both views are defensible because they use different boundaries for “the system.” The practical rule is to be clear about which boundary you mean. If you mean the whole computer, a saved file is storage. If you mean the processor and memory alone, reading that file is input to them. Either way, storage itself is a separate function: it preserves data across time, while input and output move data across a boundary in the present moment.

File sizes, and therefore storage needs, are measured in units built from bytes. The Amberaisle guide to how many gigabytes are in a terabyte explains why the same size can be quoted two ways. That detail matters when you judge whether a file will fit on a drive, but it does not change the input and output picture: a large video file is still input when it is captured or downloaded, still output when it is displayed or uploaded, and still storage when it is kept for later.

Input and Output in Programming

Programmers use the same words, input and output, for a related but slightly narrower idea. In programming, input is how a program receives data, and output is how a program shows or sends data. A program usually needs some form of input and some form of output to be useful. A program with no input can only ever do the same thing every time it runs, and a program with no output can do work that nobody ever sees.

Most operating systems and programming languages treat the keyboard as the standard input device and the monitor as the standard output device. That means when a program reads input without being told where to get it from, it normally reads from the keyboard, and when it writes output without being told where to send it, it normally writes to the screen. These defaults can be changed: input can come from a file instead of a keyboard, and output can go to a file instead of a screen, which is how many automated tools work. The idea of standard input and standard output is a convenience, not a law of nature, but it is so widely used that beginners meet it in almost every language.

Functions carry the same pattern inside a program. A function typically takes inputs, called arguments or parameters, does some work, and returns an output, called a return value. For example, a function that calculates an average takes a list of numbers as input and returns a single number as output. A function that converts temperatures takes a temperature in one scale as input and returns the equivalent in another scale as output. Thinking of functions this way, as small input to output machines, makes programs easier to read: you can ask of any function, what goes in, what comes out, and what happens in between.

In code, the spelling of input and output differs by language, but the pattern is the same. In Python, the built in input instruction reads text typed by the user and stores it, and the print instruction displays text on the screen. In C++, the cin instruction reads input and the cout instruction writes output. In JavaScript running in a browser, a prompt can collect input and console output can display a result. The details differ, and input is often stored as text first and may need converting before it can be used as a number, but the underlying idea does not change: data comes in, the program works on it, and a result goes out.

File input and output extend the pattern beyond the keyboard and screen. A program can read data from a file as its input, process it, and write results to a new file as its output. This is how tools that convert, sort, or summarize large amounts of data work: the user never types the data in, and never reads the result off the screen alone. The file is both the source and the destination, and the program is the processing step between them. Network input and output work the same way at a larger scale: a program receives data over a network as input, processes it, and sends a response back over the network as output. A web server does exactly this for every page it serves.

For readers who want to go further, the Amberaisle guide to how you program introduces programming from the beginning, and the guide to how software works explains the programs that do this processing. The history of the machines themselves is covered in the Amberaisle article on who invented the computer, which shows how early machines already separated the job of feeding data in from the job of presenting results.

Common Confusions

Several confusions recur so often that they deserve direct answers.

Is a monitor an input device or an output device? A monitor on its own is an output device, because it displays data sent from the computer. A touch screen monitor is both, because the touch layer adds input to the display’s output. The screen part is output in both cases; only the touch layer changes the answer.

Is a speaker an input device because you speak into a phone? No. Speaking into a phone uses its microphone, which is the input device. The speaker in the same phone is the output device, because it plays sound to you. A phone contains both, which is why the confusion arises, but each part has one direction.

Is the internet an input or an output? The internet is neither a single device nor a single direction. It is a network over which data travels both ways. Downloading is input to your computer, uploading is output from your computer, and a video call does both at once. Ask about a single transfer, not about the internet as a whole.

Is saving a file output? Saving writes data to storage, so it is best described as storage, not output, in everyday terms. The gray area noted above applies: from the processor’s point of view, writing to a disk is an output operation, because data leaves the processor and memory. In ordinary conversation, though, “output” usually means something presented to a person or sent to another system, while “saved” means kept for later. Using “saved” for saving avoids the ambiguity.

Is a keyboard’s output the computer’s input? This phrasing appears in textbooks, and it is correct but confusing. A keyboard produces electrical signals as its own output, and those signals become the computer’s input. The two statements describe the same event from two sides of the boundary. For everyday purposes, calling a keyboard an input device is enough, and the textbook phrasing only matters when you are studying how devices connect to each other.

Does a computer need both input and output to be useful? In practice, yes. A computer with no input cannot be told what to do or given data to work on, and a computer with no output cannot show, tell, or deliver any result. Special cases exist, such as a computer running a fixed program on a schedule with no user interaction, but even those machines usually log results somewhere, which is a form of output, or receive data from sensors or networks, which is a form of input. The pair belongs together.

How to Tell Whether Something Is Input or Output

When you meet an unfamiliar device or an unfamiliar situation, three questions will usually settle the label.

First, which way is the data moving? Draw a boundary around the computer system, and ask whether data crosses that boundary inward or outward. Inward is input, outward is output. This single question answers most cases, including downloads, uploads, sensors, and printers.

Second, whose perspective are you using? Make sure you mean the computer system, not the person. A person “outputs” speech, but the computer receives that speech as input through a microphone. A person “receives” a picture, but the computer sends that picture as output to a screen. Switching perspectives accidentally is the most common cause of wrong labels.

Third, is the thing you are describing a device, a direction, or a storage place? Devices can do both jobs at different moments, directions are always one way at a time, and storage is about keeping data rather than moving it. A touch screen is a device that does both. A tap is input, a display is output, and a saved photograph is storage. Keeping those three categories separate prevents most mix ups.

Try the test on a few everyday cases. A barcode scanned at a store checkout is input, because the code enters the checkout system. The receipt printed by the same checkout is output, because the result leaves the system onto paper. A voice command spoken to a smart speaker is input, because sound enters the device through its microphone. The spoken reply is output, because sound leaves the device through its speaker. A photograph saved to a memory card is storage once saved, input when the camera sensor captured it, and output when it is later shown on a screen. Each label follows from the direction of travel at that moment, and none of them contradicts the others.

FAQ

What is the input and output of a computer in simple terms?

Input is what goes into a computer, such as typing, tapping, speaking, or a sensor reading. Output is what comes out after processing, such as text on a screen, sound from speakers, or a printed page. Processing sits between them, turning the input into the output according to the program in use.

What are the main input devices?

The main input devices are keyboards for text and commands, mice and other pointing devices for selecting and positioning, touch screens for direct tapping, microphones for sound and voice, cameras and scanners for images, and sensors for measurements such as temperature, light, and motion. Input can also arrive from another computer or a network without any person typing.

What are the main output devices?

The main output devices are monitors and other screens for text, images, and video, printers for pages on paper, projectors for large displays, speakers and headphones for sound, and motors, lights, and vibration for physical action. Any device that presents a processed result to a person or another system counts as output.

What is the difference between input and output?

The difference is direction. Input travels into the computer system from the outside world, and output travels out of the system after processing. A keyboard sends data in, so it is input. A monitor receives data and shows it, so it is output. When a device does both, each action is labeled by its own direction at that moment.

Is a touch screen an input device or an output device?

It is both. Taps and gestures on a touch screen are input, because they send data into the device. The images and text the screen shows are output, because they present processed data. Describing a touch screen as a dual role device is more accurate than forcing it into one category.

Is storage an input or an output?

Storage is best treated as a separate function: keeping data for later use. Saving writes data to storage, and opening a saved file reads it back. From the processor’s narrow point of view, reading from a disk counts as input and writing to a disk counts as output, but in everyday terms, storage means preservation across time, while input and output mean movement across a boundary in the present.

What is input and output in programming?

In programming, input is how a program receives data, for example from the keyboard, a file, or a network, and output is how a program sends data, for example to the screen, a file, or a network. Functions follow the same pattern on a smaller scale: they take inputs, do work, and return an output. Standard input and standard output are the default sources and destinations, usually the keyboard and the screen, unless a program is told otherwise.

What is an example of input, process, and output together?

Typing a message is input. The messaging program processes it by formatting it and addressing it to the recipient. The message appearing on the recipient’s screen, or the sent confirmation on your own screen, is output. A calculator gives a shorter example: pressing number keys is input, calculating is processing, and the answer shown on the display is output.

Why does the same input sometimes give a different output?

Because processing depends on the program in use. The same keypress can type a letter in one program, move a character in a game, or trigger a command in another program. The input device and the input itself have not changed. Only the program’s instructions for handling that input are different, so the output differs too.

Sources & references

  • Harper College, Programming Fundamentals (Kenneth Leroy Busbee), chapter "Input and Output": I/O as communication between an information processing system and the outside world; inputs as signals or data received and outputs as signals or data sent; processing inside the CPU and associated memory; a device as equipment electronically connected to memory so data can be transferred; keyboard as standard input device and monitor as standard output device; historical move from punched cards and printouts to keyboards, monitors, disk storage, soft copy and hard copy.
  • FutureLearn, "How do inputs, processes, and outputs work?" (teaching physical computing course material): all digital devices receive inputs, perform processes, and deliver outputs; input as data entered into or received by a computer, including keyboard presses, mouse clicks, sensor readings, and messages from another device; process as what the device does with the input, defined by the program; output as how the device presents results, including text, printed material, sound, motors, and lights.
  • W3Schools, "Input and Output in Programming": I/O as input and output; input as how a program receives data and output as how a program shows data; print and console output examples; Python input instruction storing user input; C++ cin for input and cout for output; input methods differing by language; input often stored as text first and possibly needing conversion for use as numbers.

Emma Hudson

Editor of Amberaisle — clear, thoughtful explainers for curious readers. More about the editor →