Python 2 to 3 Converter

Convert Python 2 code to Python 3 code efficiently and accurately

🚀 316,069 total conversions (309 this month)

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

Average of Three

Average three whole numbers.

You'll learn ArithmeticDivision
BeginnerLearning-pathVariables
Easy

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

You'll learn ArithmeticReturn values
BeginnerLearning-pathVariables
Medium

One Generation of a Genetic Algorithm

Breed the next generation of bit strings with tournament selection, single-point crossover and mutation.

You'll learn Genetic algorithmsEvolutionary search
OptimizationSimulationai
No solutions yet
Easy

Epsilon-Greedy Multi-Armed Bandit

Balance exploration and exploitation on a multi-armed bandit with epsilon-greedy action selection.

You'll learn Explore vs exploitBandits
Reinforcement learningaimachine learning
No solutions yet
Easy

Markov Chain State Distribution

Propagate a probability distribution through a Markov chain's transition matrix for a number of steps.

You'll learn Markov chainsProbability
Simulationaimath
No solutions yet
Medium

Value Iteration

Compute how valuable each state of a Markov decision process is by repeatedly applying the Bellman optimality update.

You'll learn Bellman equationMDPs
Reinforcement learningaimachine learning
No solutions yet
Medium

Q-Learning Updates

Apply the Q-learning update to a stream of experiences and watch rewards flow back to earlier states.

You'll learn Q-learningDiscounted rewards
Reinforcement learningaimachine learning
No solutions yet
Medium

Alpha-Beta Pruning

Evaluate a game tree with minimax and alpha-beta pruning, and count how many leaves the search really looks at.

You'll learn Alpha-beta pruningGame search
RecursionTreesai
No solutions yet
Medium

Minimax Tic-Tac-Toe

Pick the perfect tic-tac-toe move by searching the whole game tree with minimax.

You'll learn MinimaxGame trees
Recursionai
No solutions yet
Medium

A* Search on a Weighted Grid

Find the cheapest path across a grid of terrain costs with A*, the search algorithm behind game and robot pathfinding.

You'll learn A* searchHeuristics
GraphsGridsShortest-pathai
No solutions yet
Medium

Temperature and Top-K Sampling

Choose the next token like a language model does: keep the top k logits, apply temperature, and sample.

You'll learn Text generationSampling
aimachine learning
No solutions yet
Hard

Multi-Head Self-Attention

Project the input into queries, keys and values, run attention in several heads in parallel, and combine them.

You'll learn Multi-head attentionMatrix projections
aimachine learning
No solutions yet

What is This Tool?

This free online converter makes it easy to upgrade your legacy Python 2 code to Python 3 instantly. It’s perfect for developers modernizing older projects, fixing compatibility issues, or preparing code for long-term maintenance.

How to Use

  1. Paste or type your Python 2 code into the editor.
  2. Click Convert to generate the Python 3 version.
  3. Download, copy, or share the converted result instantly.

You can also sign in with Google or GitHub to save your conversion history and revisit it anytime.

Why Upgrade to Python 3?

Python 2 reached end-of-life in January 2020, meaning it no longer receives updates or security fixes. Python 3 is now the standard, offering:

  • Better Unicode and string handling
  • Cleaner, more consistent syntax
  • Performance improvements and better libraries
  • Ongoing community and package support

Migrating ensures your code remains secure, maintainable, and compatible with the latest tools and frameworks.

Key Differences Between Python 2 and 3


# Python 2: print is a statement
print "Hello, World!"

# Python 3: print is a function
print("Hello, World!")
    

# Python 2: Integer division
result = 5 / 2  # Outputs 2

# Python 3: True division
result = 5 / 2  # Outputs 2.5
    

Learn more about porting from Python 2 to 3 in the official Python porting guide.

Example Conversions

Basic Input Example

Python 2


print "Enter your name:"
name = raw_input()
print "Hello, " + name
    

Python 3


print("Enter your name:")
name = input()
print("Hello, " + name)
    

Dictionary Iteration


# Python 2
for key, value in my_dict.iteritems():
    print key, value

# Python 3
for key, value in my_dict.items():
    print(key, value)