Note: We have temporarily disabled viewing and sharing solutions, however they are safely stored in your profile. You can learn more about this here.

Meet Bonfire
Reverse a String
Factorialize a Number
Check for Palindromes
Find the Longest Word in a String
Title Case a Sentence
Return Largest Numbers in Arrays
Confirm the Ending
Repeat a string repeat a string
Truncate a string
Chunky Monkey
Slasher Flick
Falsey Bouncer
Where art thou
Seek and Destroy
Where do I belong
Sum All Numbers in a Range
Diff Two Arrays
Roman Numeral Converter
Search and Replace
Pig Latin
DNA Pairing
Missing letters
Boo who
Convert HTML Entities
Spinal Tap Case
Sum All Odd Fibonacci Numbers
Sum All Primes
Smallest Common Multiple
Finders Keepers
Drop it
Binary Agents
Everything Be True
Arguments Optional
Sorted Union
Validate US Telephone Numbers
Make a Person
Use the Javascript Console
Using typeof
Divide one Decimal by Another with JavaScript
Add New Properties to a JavaScript Object
Iterate Odd Numbers With a For Loop
Count Backwards With a For Loop
Trigger Click Events with jQuery
Change Text with Click Events
Get JSON with the jQuery getJSON Method
Convert JSON Data to HTML
Render Images from Data Sources
Prefilter JSON
Get Geolocation Data
Delete Properties from a JavaScript Object
Browse Camper News
Reference our Wiki
Caesars Cipher
Exact Change
Learn how Free Code Camp Works
Join Our Chat Room
Preview our Challenge Map
Browse our Field Guide
Customize your Portfolio Page
Try Camper News
Meet Other Campers in your City
Get Help the Hacker Way with RSAP
Build a Landing Page with HTML
Style Text with CSS
Space Out with CSS
Design a Layout with HTML
Design Responsively with Bootstrap
Get Started with jQuery
Write Functions with jQuery
Harness Dynamic HTML
Listen for jQuery Events
Trigger jQuery Effects
Learn Basic Computer Science
Learn Loops
Learn Computer Hardware
Learn Computer Networking
Learn Boolean Logic
Learn Computer Security
Build an Adventure Game
Build Rock Paper Scissors
Learn JavaScript For Loops
Learn JavaScript While Loops
Learn Control Flow
Pair Program on Bonfires
Say Hello to HTML Elements
Headline with the h2 Element
Inform with the Paragraph Element
Visually Separate Elements with Line Breaks
Uncomment HTML
Comment out HTML
Fill in the Blank with Placeholder Text
Delete HTML Elements
Change the Color of Text
Use CSS Selectors to Style Elements
Use a CSS Class to Style an Element
Style Multiple Elements with a CSS Class
Change the Font Size of an Element
Set the Font Family of an Element
Import a Google Font
Specify How Fonts Should Degrade
Override Styles with Important
Add Images to your Website
Size your Images
Add Borders Around your Elements
Add Rounded Corners with a Border Radius
Make Circular Images with a Border Radius
Link to External Pages with Anchor Elements
Wrap an Anchor Element within a Paragraph
Make Dead Links using the Hash Symbol
Turn an Image into a Link
Add Alt Text to an Image for Accessibility
Create a Bulleted Unordered List
Create an Ordered List
Create a Text Field
Add Placeholder Text to a Text Field
Create a Form Element
Add a Submit Button to a Form
Use HTML5 to Require a Field
Create a Set of Radio Buttons
Create a Set of Checkboxes
Clean up your form using Linebreaks
Check Radio Buttons and Checkboxes by Default
Wrap Many Elements within a Single Div Element
Give a Background Color to a Div Element
Adjusting the Padding of an Element
Adjust the Margin of an Element
Add a Negative Margin to an Element
Add Different Padding to Each Side of an Element
Add Different Margins to Each Side of an Element
Use Clockwise Notation to Specify the Padding of an Element
Use Hex Code for Specific Colors
Mobile Responsive Images
Center Text with Bootstrap
Create a Bootstrap Button
Create a Block Element Bootstrap Button
Taste the Bootstrap Button Color Rainbow
Call out Optional Actions with Button Info
Warn your Users of a Dangerous Action
Use the Bootstrap Grid to Put Elements Side By Side
Ditch Custom CSS for Bootstrap
Create a Custom Heading
Add Font Awesome Icons to our Buttons
Add Font Awesome Icons all of our Buttons
Responsively Style Radio Buttons
Responsively Style Checkboxes
Style Text Inputs as Form Controls
Line up Form Elements Responsively with Bootstrap
Build an Address Book
Build a Cash Register
Build a Contact List
Learn Regular Expressions
Scope Your Variables
Reference your Current Object with This
Traverse the Prototype Chain
Reuse Code with Decorators
Build Objects with Functional Classes
Build Objects with Prototypal Classes
Understand Pseudoclassical Patterns
Subclass one Object to Another
Use Pseudoclassical Subclasses
Get Started with Angular.js
Apply Angular.js Directives
Power Forms with Angular.js
Customize Angular.js Directives
Create Angular.js Services
Manage Packages with NPM
Give a Background Color to a Div Element
Set the ID of an Element
Use an ID Attribute to Style an Element
Use Clockwise Notation to Specify the Margin of an Element
Style the HTML Body Element
Inherit Styles from the Body Element
Prioritize One Style Over Another
Override Styles in Subsequent CSS
Override Class Declarations by Styling ID Attributes
Override Class Declarations with Inline Styles
Override All Other Styles by using Important
Use Hex Code to Color Elements White
Use Hex Code to Color Elements Red
Use Hex Code to Color Elements Green
Use Hex Code to Color Elements Blue
Use Hex Code to Mix Colors
Use Hex Code to Color Elements Gray
Use Hex Code for Specific Shades of Gray
Use Abbreviated Hex Code
Use RGB values to Color Elements
Use RGB to Color Elements White
Use RGB to Color Elements Red
Use RGB to Color Elements Green
Use RGB to Color Elements Blue
Use RGB to Mix Colors
Use RGB to Color Elements Gray
Use Responsive Design with Bootstrap Fluid Containers
Ditch Custom CSS for Bootstrap
Create a Bootstrap Headline
House our page within a Bootstrap Container Fluid Div
Create a Bootstrap Row
Split your Bootstrap Row
Create Bootstrap Wells
Add Elements within your Bootstrap Wells
Apply the Default Bootstrap Button Style
Create a Class to Target with jQuery Selectors
Add ID Attributes to Bootstrap Elements
Label Bootstrap Wells
Give Each Element a Unique ID
Label Bootstrap Buttons
Use Comments to Clarify Code
Learn how Script Tags and Document Ready Work
Target HTML Elements with Selectors Using jQuery
Target Elements by Class Using jQuery
Target Elements by ID Using jQuery
Delete your jQuery Functions
Target the same element with multiple jQuery Selectors
Remove Classes from an element with jQuery
Change the CSS of an Element Using jQuery
Disable an Element Using jQuery
Remove an Element Using jQuery
Use appendTo to Move Elements with jQuery
Clone an Element Using jQuery
Target the Parent of an Element Using jQuery
Target the Children of an Element Using jQuery
Target a Specific Child of an Element Using jQuery
Target Even Numbered Elements Using jQuery
Use jQuery to Modify the Entire Page
Comment your JavaScript Code
Understand Boolean Values
Declare JavaScript Variables
Declare String Variables
Check the Length Property of a String Variable
Use Bracket Notation to Find the First Character in a String
Use Bracket Notation to Find the Nth Character in a String
Use Bracket Notation to Find the Last Character in a String
Use Bracket Notation to Find the NthtoLast Character in a String
Add Two Numbers with JavaScript
Subtract One Number from Another with JavaScript
Multiply Two Numbers with JavaScript
Divide One Number by Another with JavaScript
Create Decimal Numbers with JavaScript
Perform Arithmetic Operations on Decimals with JavaScript
Store Multiple Values in one Variable using JavaScript Arrays
Nest one Array within Another Array
Access Array Data with Indexes
Modify Array Data With Indexes
Manipulate Arrays With pop
Manipulate Arrays With push
Manipulate Arrays With shift
Manipulate Arrays With unshift
Write Reusable JavaScript with Functions
Build JavaScript Objects
Manipulate JavaScript Objects
Iterate with JavaScript For Loops
Iterate with JavaScript While Loops
Generate Random Fractions with JavaScript
Generate Random Whole Numbers with JavaScript
Generate Random Whole Numbers within a Range
Use Conditional Logic with IfElse Statements
Sift through Text with Regular Expressions
Find Numbers with Regular Expressions
Find White Space with Regular Expressions
Invert Regular Expression Matches with JavaScript
Create a JavaScript Slot Machine
Add your JavaScript Slot Machine Slots
Bring your JavaScript Slot Machine to Life
Give your JavaScript Slot Machine some stylish images
Get Set for our Front End Development Projects
Declare JavaScript Objects as Variables
Construct JavaScript Objects with Functions
Make Object Properties Private
Make Instances of Objects with a Constructor Function
Iterate over Arrays with map
Condense arrays with reduce
Filter Arrays with filter
Sort Arrays with sort
Reverse Arrays with reverse
Concatenate Strings with concat
Split Strings with split
Join Strings with join
Join our LinkedIn Alumni Network
Commit to a Goal and a Nonprofit
Change Text Inside an Element Using jQuery
Make Unique Objects by Passing Parameters to our Constructor
Get Set for Bonfires
Storing Values with the Equal Operator
Initializing Variables with the Equal Operator
Understanding Uninitialized Variables
Understanding Case Sensitivity in Variables
Increment a Number with Javascript
Decrement a Number with Javascript
Finding a Remainder in Javascript
Assignment with Plus Equals
Assignment with Minus Equals
Assignment with Times Equals
Assignment with Divided by Equals
Convert Celsius to Fahrenheit
Escaping Literal Quotes in Strings
Quoting Strings with Single Quotes
Escape Sequences in Strings
Concatenating Strings with Plus Operator
Concatenating Strings with the Plus Equals Operator
Constructing Strings with Variables
Appending Variables to Strings
Word Blanks
Understand String Immutability
Access MultiDimensional Arrays With Indexes
Shopping List
Passing Values to Functions with Arguments
Global Scope and Functions
Local Scope and Functions
Global vs Local Scope in Functions
Return a Value from a Function with Return
Assignment with a Returned Value
Stand in Line
Comparison with the Equality Operator
Comparison with the Strict Equality Operator
Comparison with the Inequality Operator
Comparison with the Strict Inequality Operator
Comparison with the Greater Than Operator
Comparison with the Greater Than Equal To Operator
Comparison with the Less Than Operator
Comparison with the Less Than Equal To Operator
Comparisons with the Logical And Operator
Comparisons with the Logical Or Operator
Introducing Else Statements
Introducing Else If Statements
Chaining If Else Statements
Golf Code
Selecting from many options with Switch Statements
Adding a default option in Switch statements
Multiple Identical Options in Switch Statements
Replacing If Else Chains with Switch
Returning Boolean Values from Functions
Return Early Pattern for Functions
Counting Cards
Accessing Objects Properties with the Dot Operator
Accessing Objects Properties with Bracket Notation
Accessing Objects Properties with Variables
Using Objects for Lookups
Testing Objects for Properties
Introducing JavaScript Object Notation JSON
Accessing Nested Objects in JSON
Learn how Free Code Camp Works
Create a GitHub Account and Join our Chat Rooms
Configure your Code Portfolio
Join a Free Code Camp Group in Your City
Learn What to Do If You Get Stuck
Read Coding News on our Medium Publication
Join our Forum
Watch Coding Videos on our YouTube Channel
Logical Order in If Else Statements
Accessing Nested Arrays
Record Collection
Iterate Through an Array with a For Loop
Nesting For Loops
Profile Lookup
Claim Your Front End Development Certificate
Start a Nodejs Server
Continue working with Nodejs Servers
Finish working with Nodejs Servers
Build Web Apps with Expressjs
Store Data in MongoDB
Get Set for our API Development Projects
Get Set for our Dynamic Web Application Projects