Top 10 web project ideas for students

There are a lot of great ideas for creating websites for academic purposes, for social media or just for fun. Many students start with a personal website, but there are a lot of opportunities to learn, share and collaborate with peers eventually.

Take a look at this list of web projects ideas for students that can help you learn new skills, keep busy and why not make some money along the way :

  • JSON2CSV app
  • Bin2Dec
  • Calculator app
  • Christmas Lights
  • Countdown Timer
  • Drawing App
  • Pomodoro Clock
  • Stopwatch app
  • To-Do list App
  • Word Frequency


Difficulty :beginner

The objective of JSON2CSV is to help bridge the gap between JSON and CSV by converting JSON to CSV to make it easier to review data in a spreadsheet.

The web app should basicaly allow the user to paste JSON into a text box to generate its equivalent CSV.

Suggested features :

  • User can paste JSON syntax into a text box
  • User can click a 'Convert' button to validate the JSON text box and convert it to CSV
  • User can see the converted CSV in another text box
  • User can see an warning message if the JSON text box is empty or if it doesn't contain valid JSON
  • User can click a 'Clear' button to clear the contents of both the JSON and CSV text boxes.


Difficulty :beginner

Binary is the number system all digital computers are based on. Therefore it's important for developers to understand binary, or base 2, mathematics. The purpose of Bin2Dec is to provide practice and understanding of how binary calculations.

Bin2Dec allows the user to enter strings of up to 8 binary digits, 0's and 1's, in any sequence and then displays its decimal equivalent.

Suggested features :

  • User can enter up to 8 binary digits in one input field
  • User must be notified if anything other than a 0 or 1 was entered
  • User views the results in a single output field containing the decimal (base 10) equivalent of the binary number that was entered
  • User can enter a variable number of binary digits

Calculator app

Difficulty :beginner

This project will teach you how to use Classes when working in the DOM and how to format your data in a way that looks nice

It will also teach you how to use CSS Grid in practice

Christmas Lights

Difficulty :beginner

The ChristmasLights application relies on your development talents to create a mesmerizing light display. Your task is to draw seven colored circles in a row and based on a timer change the intensity of each circle. When a circle is brightened it's predecessor returns to its normal intensity.

This simulates the effect of a string of rippling lights, similar to the ones displayed during the Christmas Holidays.

Suggested features :

  • User can press a button to start and stop the display
  • User can select the color used to fill each circle
  • User can change the size of any circle in the row
  • User can change the interval of time controlling the change in intensity
  • User can specify the number of rows to be included in the display. From one to seven rows can be chosen
  • User can specify the intensity value

Countdown Timer

Difficulty :beginner

We all have important events we look forward to in life, birthdays, anniversaries, and holidays to name a few. Wouldn't it be nice to have an app that counts down the months, days, hours, minutes, and seconds to an event? Countdown Timer is just that app!

The objective of Countdown Timer is to provide a continuously decrementing display of the he months, days, hours, minutes, and seconds to a user entered event.

Suggested features :

User can see an event input box containing an event name field, an date field, an optional time, and a 'Start' button.

  • User can define the event by entering its name, the date it is scheduled to take place, and an optional time of the event. If the time is omitted it is assumed to be at Midnight on the event date in the local time zone.
  • User can see a warning message if the event name is blank.
  • User can see a warning message if the event date or time are incorrectly entered.
  • User can see a warning message if the time until the event data and time that has been entered would overflow the precision of the countdown timer.
  • User can click on the 'Start' button to see the countdown timer start displaying the days, hours, minutes, and seconds until the event takes place.

Drawing App

Difficulty :beginner

Create digital artwork on a canvas on the web to share online and also export as images.

Suggested features :

  • User can draw in a canvas using the mouse
  • User can change the color
  • User can press a button to clear the canvas
  • User can change the size of the tool
  • User can draw different shapes (rectangle, circle, star, etc)
  • User can save the artwork as an image (.png, .jpg, etc format)
  • User can share the artwork on social media

Pomodoro Clock

Difficulty :beginner

The Pomodoro Technique is a time management method developed by Francesco Cirillo in the late 1980s. The technique uses a timer to break down work into intervals, traditionally 25 minutes in length, separated by short breaks - 5 minutes.

Suggested features :

  • User can see a timer for 25 minutes - the working session
  • After the working session is over, the User can see a timer for 5 minutes - the break session
  • User can hear a sound playing when the timer hits 00:00 - denoting that the session has ended
  • User can start / pause, stop and reset the timers
  • User can set a long break session of 10 minutes. This will be activated every 4th break session
  • User can change / customize the minutes in both sessions before starting

Stopwatch app

Difficulty :beginner

A stopwatch helps you track the time you spent on activities.

This is an interesting app that will give you the opportunity to manipulate timers and some interesting concepts in javascript!

Suggested features :

  • User can start a clock
  • User can create laps - these will be displayed on the screen
  • When the clock is stopped the user can click start again and the clock will continue counting up
  • User can stop the clock
  • User can clear all the laps
  • User can restart the clock

To-Do list App

Difficulty :beginner

This is a project everyone recommends to build because it ensures you learn the fundamentals. From how to manipulate the DOM to how to work with Local Storage, this is the project that can teach you the most!

you will learn :

  • How to create new tasks
  • How to validate fields
  • Filtering tasks (completed, active, ...) by learning filter and reduce
  • And especially understanding the fundamentals of JavaScript.

Word Frequency

Difficulty :beginner

Calculating the frequency of words in a block of text is a technique which has various uses in algorithms such as searching, sorting, and semantic analysis. The objective of the Word Frequency app is count the frequency of words in a block of text and create a tabular display of each unique word in the text along with its frequency, in descending order by frequency.

Suggested features :

  • User can see a text input box, a 'Translate' button, and a word frequency table.
  • User can see an error message if the text input box is empty.
  • User can click the 'Translate' button to analyze the word frequency in the text that has been input.
  • User can see the word frequency table ordered in descending sequence by word frequency.
  • User can see the word frequency table populated when the 'Translate' button is clicked. Each row in the table contains a word and the number of times it occurs in the input text.
  • User can enter text (or cut and paste) into the input box. This input box must allow the entry of large blocks of text (maximum of 2048 characters).


We understand that as a student you have a number of things on your to do list that it can be hard to find time to research one idea at a time. These are our top project ideas for you as students.

All projects mentioned above are relatively easy and they are excellent for learning new skills and prepare your portfolio for your next professional journey.

Happy building!